acpi_fakekey sends events to wrong evdev device
Bug #114953 reported by
dynamotwain
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
acpi-support (Debian) |
Fix Released
|
Unknown
|
|||
acpi-support (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: acpi-support
On my system (kernel sources 2.6.20) the event device mappings are as follows:
/dev/input/event0 --> Power Button (FF)
/dev/input/event1 --> Sleep Button (CM)
/dev/input/event3 --> Logitech USB Gaming Mouse
/dev/input/event4 --> AT Translated Set 2 keyboard
/dev/input/event5 --> PC Speaker
/dev/input/event6 --> SynPS/2 Synaptics TouchPad
Since the Power Button evdev interface reports having KEY_POWER available and
KEY_POWER < BTN_MISC, acpi_fakekey as it currently exists sends the keys to
the power button interface instead of the keyboard X is listening on.
acpi_fakekey needs to be more selective as to what it considers a keyboard.
Changed in acpi-support: | |
status: | Unknown → Fix Released |
To post a comment you must log in.
This patch makes acpi_fakekey only consider evdev devices with keys commonly found on all keyboards by requiring the evdev keycode to be less than KEY_MACRO.
KEY_MACRO through BTN_MISC are just F13 - F24 and multimedia, quick launch, and power management keys. Ignoring them allows the real keyboard to be found instead
of power buttons. Also, it makes acpi_fakekey accept a 2nd argument... an overriding evdev device file to use instead of the auto-detect mechanism that might be useful in
the case of multiple keyboards and multiple X-servers running on the same machine.