On a keyless device I need to generate certain keyboard events from a
touch driver in response to gestures. I register the input device as
capable of generating key input:
input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
__set_bit(KEY_HOME, input_dev->keybit);
__set_bit(KEY_BACK, input_dev->keybit);
__set_bit(KEY_MENU, input_dev->keybit);
Then I send the input:
input_report_key(input, key, 1);
input_report_key(input, key, 0);
When the key is KEY_BACK or KEY_MENU, everything works as expected.
When the key is KEY_HOME, it is simply ignored.
evtest shows that the HOME key is indeed generated:
evtest /dev/input/event0
Event: time 1033.103251, type 1 (Key), code 102 (Home), value 1
Event: time 1033.103350, type 1 (Key), code 102 (Home), value 0
Event: time 1033.103399, -------------- Report Sync ------------
What am I missing?
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting