Files
bananarchy/patches/xlibre/0002-xf86-input-libinput-xlibre25.patch

26 lines
1.2 KiB
Diff

diff --git a/src/xf86libinput.c b/src/xf86libinput.c
index 1aebca3..8d3691c 100644
--- a/src/xf86libinput.c
+++ b/src/xf86libinput.c
@@ -1727,12 +1727,19 @@ xf86libinput_handle_key(InputInfoPtr pInfo, struct libinput_event_keyboard *even
if ((driver_data->capabilities & CAP_KEYBOARD) == 0)
return;
- /* keycodes > 256 that have a historical mapping in xkeyboard-config */
+ /* keycodes > 256 that have a historical mapping in xkeyboard-config
+ * plus Nokia MSM8909 keypad evdev keycodes > 247 mapped into X11 8-bit range */
switch (key) {
case KEY_TOUCHPAD_TOGGLE: key = KEY_F21; break;
case KEY_TOUCHPAD_ON: key = KEY_F22; break;
case KEY_TOUCHPAD_OFF: key = KEY_F23; break;
case KEY_MICMUTE: key = KEY_F20; break;
+ case 696: /* KEY_KBD_LCD_MENU1 (Left Softkey) */ key = KEY_COMPOSE; break;
+ case 697: /* KEY_KBD_LCD_MENU2 (Right Softkey) */ key = KEY_BACK; break;
+ case 445: /* KEY_PICKUP_PHONE (Call button) */ key = KEY_PHONE; break;
+ case 352: /* KEY_OK (Center D-pad OK) */ key = KEY_ENTER; break;
+ case 522: /* KEY_NUMERIC_STAR (*) */ key = KEY_KPASTERISK; break;
+ case 523: /* KEY_NUMERIC_POUND (#) */ key = KEY_KPSLASH; break;
}
key += XORG_KEYCODE_OFFSET;