Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes

2 keymap fixes for the Acer Aspire One AOD270 and the same hardware
rebranded as Packard Bell Dot SC:

1. The F2 key is marked with a big '?' symbol on the Packard Bell Dot SC,
this sends WMID_HOTKEY_EVENTs with a scancode of 0x27 add a mapping
for this.

2. Scancode 0x61 is KEY_SWITCHVIDEOMODE. Usually this is a duplicate
input event with the "Video Bus" input device events. But on these devices
the "Video Bus" does not send events for this key. Map 0x61 to KEY_UNKNOWN
instead of using KE_IGNORE so that udev/hwdb can override it on these devs.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220829163544.5288-1-hdegoede@redhat.com

+8 -1
+8 -1
drivers/platform/x86/acer-wmi.c
··· 99 99 {KE_KEY, 0x22, {KEY_PROG2} }, /* Arcade */ 100 100 {KE_KEY, 0x23, {KEY_PROG3} }, /* P_Key */ 101 101 {KE_KEY, 0x24, {KEY_PROG4} }, /* Social networking_Key */ 102 + {KE_KEY, 0x27, {KEY_HELP} }, 102 103 {KE_KEY, 0x29, {KEY_PROG3} }, /* P_Key for TM8372 */ 103 104 {KE_IGNORE, 0x41, {KEY_MUTE} }, 104 105 {KE_IGNORE, 0x42, {KEY_PREVIOUSSONG} }, ··· 113 112 {KE_IGNORE, 0x48, {KEY_VOLUMEUP} }, 114 113 {KE_IGNORE, 0x49, {KEY_VOLUMEDOWN} }, 115 114 {KE_IGNORE, 0x4a, {KEY_VOLUMEDOWN} }, 116 - {KE_IGNORE, 0x61, {KEY_SWITCHVIDEOMODE} }, 115 + /* 116 + * 0x61 is KEY_SWITCHVIDEOMODE. Usually this is a duplicate input event 117 + * with the "Video Bus" input device events. But sometimes it is not 118 + * a dup. Map it to KEY_UNKNOWN instead of using KE_IGNORE so that 119 + * udev/hwdb can override it on systems where it is not a dup. 120 + */ 121 + {KE_KEY, 0x61, {KEY_UNKNOWN} }, 117 122 {KE_IGNORE, 0x62, {KEY_BRIGHTNESSUP} }, 118 123 {KE_IGNORE, 0x63, {KEY_BRIGHTNESSDOWN} }, 119 124 {KE_KEY, 0x64, {KEY_SWITCHVIDEOMODE} }, /* Display Switch */