This is not related to the NDK, you should try android-porting instead. Briefly speaking, getevent() returns the events sent from the kernel to the framework. Since everything seems good here, you can forget about a driver/hardware failure.
It looks like the framework input handling code is repeating the events for some reason. Which exact version are you using? (input handling has evolved a lot between Android releases). The "no keyboard for id 0" message probably means that your event kernel driver is reporting a name that doesn't have a corresponding .kcm / .kl file combination, i.e. you're likely missing some configuration files, or your kernel driver is not complete / configured properly. On Wed, May 25, 2011 at 4:47 PM, Samuh <[email protected]> wrote: > I am working on an Android application that runs on custom hardware. > This hardware allows text entry/navigation using two input devices - > 1. keyboard and > 2. remote. > > When the user enters the text/performs navigation using the keyboard > every thing behaves normal. However, when the user uses the remote > sometimes, a single key hit is getting repeated multiple times. > > For e.g: below logs capture output of "getevent" utility and > onKeyDown() callback on an Activity. > User Input: letter P and Up /Down navigation keys > // Logs from getevent - please note scan codes are replaced by their > mappings > /dev/input/event3: 0001 P 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_UP 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_UP 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_UP 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_UP 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 DPAD_DOWN 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000001 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 ENTER 00000000 > /dev/input/event3: 0000 0000 00000000 > /dev/input/event3: 0001 P 00000001 > /dev/input/event3: 0000 0000 00000000 > > Logs from onKeyDown(): > KeyDown( 1495): Keycode: 19 > > .. repetitions of 19 > > KeyDown( 1495): Keycode: 19 > > KeyDown( 1495): Keycode: 20 > > .. repetitions of 20 > > KeyDown( 1495): Keycode: 20 > > KeyDown( 1495): Keycode: 66 > .. repetitions of 66 > KeyDown( 1495): Keycode: 66 > Until eventually it spits out: > I/InputQueue-JNI( 1495): Sending finished signal for input channel > '408b8088 XXX (client)' since it is being unregistered while an input > message is still in progress. > I/InputQueue-JNI( 1495): Ignoring finish signal on channel that is no > longer registered. > W/KeyCharacterMap( 1495): No keyboard for id 0 > W/KeyCharacterMap( 1495): Using default keymap: /system/usr/keychars/ > qwerty.kcm.bin > > Can someone please guide me as to what could be going wrong here? > > Thanks. > > -- > You received this message because you are subscribed to the Google Groups > "android-ndk" 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-ndk?hl=en. > > -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
