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: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to