yes, so are mine.
The problem is that SoftKeyboard.onKeyDown is called even if the soft
keyboard is closed (after it was visible once). And I currently have
no way to find out if I should process the key events without changing
class InputMethodService (I currently use the mShowInputRequested
variable as in InputMethodService.onKeyDown). So what I don't like
with my solution is that I have to change code that is not part of the
public API. But it works for me now ;-)

On 16 Mrz., 19:23, Dianne Hackborn <[email protected]> wrote:
> Sorry I really don't understand what you are doing.
> InputMethodService.onKeyDown() and InputMethodService.onKeyUp() are called
> for every single key event being sent to the application, before it does its
> normal event dispatching.  You don't need to do anything special to see
> them.
>
> On Mon, Mar 16, 2009 at 8:02 AM, Daniel 
> <[email protected]>wrote:
>
>
>
>
>
> > Hi,
> > I now hooked my key processing into onKeyDown of class SoftKeyboard
> > instead of class InputMethodService.
> > SoftKeyboard filtered KeyEvent.KEYCODE_ENTER events before ;-)
> > The only problem now is that I always absorb DPAD_LEFT, DPAD_RIGHT,
> > DPAD_UP, DPAD_DOWN, DPAD_CENTER and KEYCODE_ENTER after the soft
> > keyboard was visible once. A quick fix to this issue is to declare
> > mShowInputRequested as protected and also check this variable in class
> > SoftKeyboard before doing the processing. Here a public method is
> > needed to decide if these key events should be processed by
> > SoftKeyboard. Method isInputViewShown() of class InputMethodService
> > didn't do the job. Or even better, SoftKeyboard's onKeyDown and
> > onKeyUp methods are only called when the SoftKeyboard is visible.
>
> > On 13 Mrz., 19:22, Dianne Hackborn <[email protected]> wrote:
> > > All key events -are- dispatched first to the IME.  There is a new
> > > pre-dispatch path that can be used by the application if needed to really
> > do
> > > something before the IME, but afaik this is only used at this point by
> > the
> > > auto complete text view to close its popup window when you hit back.
>
> > > On Fri, Mar 13, 2009 at 7:40 AM, Daniel <[email protected]
> > >wrote:
>
> > > > Hi,
> > > > our Android HW has no touchscreen and no keyboard. We just have DPAD
> > > > keys, menu, home and back.
> > > > To use Cupcake's soft keyboard I extended onKeyDown in
> > > > InputMethodService to push DPAD_LEFT, DPAD_RIGHT, DPAD_UP, DPAD_DOWN
> > > > and DPAD_CENTER events to onKeyDown of class KeyboardView. Now we can
> > > > control the SoftKeyboard with these keys. The problem is that we do
> > > > not get DPAD_CENTER as this key event is already consumed by the
> > > > focused text box when writing.
> > > > Sure, this is exactly what you want if you control the soft keyboard
> > > > by touch but there should be a way to tell InputMethodService to
> > > > consume all key events before the underlieing activity can do so.
> > > > Currently its the other way round I think.
> > > > We need the DPAD_CENTER key to press the selected key (at the moment
> > > > we do this with the menu button, but this is ugly).
> > > > Do you plan to further extend the InputMethodService for such
> > > > constrained environments? Would be very helpful ;-)
>
> > > --
> > > Dianne Hackborn
> > > Android framework engineer
> > > [email protected]
>
> > > Note: please don't send private questions to me, as I don't have time to
> > > provide private support.  All such questions should be posted on public
> > > forums, where I and others can see and answer them.
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support.  All such questions should be posted on public
> forums, where I and others can see and answer them.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to