evdev: Add support for AL_* family of keys found on some laptops

master
Raheman Vaiya 1 year ago
parent 6a434268a5
commit 79136f2a19
  1. 50
      src/device.c

@ -467,31 +467,31 @@ struct device_event *device_read_event(struct device *dev)
return NULL; return NULL;
if (ev.code >= 256) { if (ev.code >= 256) {
if (ev.code == BTN_LEFT) switch (ev.code) {
ev.code = KEYD_LEFT_MOUSE; case BTN_LEFT: ev.code = KEYD_LEFT_MOUSE; break;
else if (ev.code == BTN_MIDDLE) case BTN_MIDDLE: ev.code = KEYD_MIDDLE_MOUSE; break;
ev.code = KEYD_MIDDLE_MOUSE; case BTN_RIGHT: ev.code = KEYD_RIGHT_MOUSE; break;
else if (ev.code == BTN_RIGHT) case BTN_SIDE: ev.code = KEYD_MOUSE_1; break;
ev.code = KEYD_RIGHT_MOUSE; case BTN_EXTRA: ev.code = KEYD_MOUSE_2; break;
else if (ev.code == BTN_SIDE) case BTN_BACK: ev.code = KEYD_MOUSE_BACK; break;
ev.code = KEYD_MOUSE_1; case BTN_FORWARD: ev.code = KEYD_MOUSE_FORWARD; break;
else if (ev.code == BTN_EXTRA) case KEY_FN: ev.code = KEYD_FN; break;
ev.code = KEYD_MOUSE_2; case KEY_ZOOM: ev.code = KEYD_ZOOM; break;
else if (ev.code == BTN_BACK) case KEY_VOICECOMMAND: ev.code = KEYD_VOICECOMMAND; break;
ev.code = KEYD_MOUSE_BACK; case KEY_EDITOR: ev.code = KEYD_F13; break;
else if (ev.code == BTN_FORWARD) case KEY_SPREADSHEET: ev.code = KEYD_F14; break;
ev.code = KEYD_MOUSE_FORWARD; case KEY_GRAPHICSEDITOR: ev.code = KEYD_F15; break;
else if (ev.code == KEY_FN) case KEY_PRESENTATION: ev.code = KEYD_F16; break;
ev.code = KEYD_FN; case KEY_DATABASE: ev.code = KEYD_F17; break;
else if (ev.code == KEY_ZOOM) case KEY_NEWS: ev.code = KEYD_F18; break;
ev.code = KEYD_ZOOM; case KEY_VOICEMAIL: ev.code = KEYD_F19; break;
else if (ev.code == KEY_VOICECOMMAND) case KEY_ADDRESSBOOK: ev.code = KEYD_F20; break;
ev.code = KEYD_VOICECOMMAND; case KEY_MESSENGER: ev.code = KEYD_F21; break;
else if (ev.code >= BTN_DIGI default:
&& ev.code <= BTN_TOOL_QUADTAP); if (!(ev.code >= BTN_DIGI && ev.code <= BTN_TOOL_QUADTAP)) {
else { keyd_log("r{ERROR:} unsupported evdev code: 0x%x\n", ev.code);
keyd_log("r{ERROR:} unsupported evdev code: 0x%x\n", ev.code); return NULL;
return NULL; }
} }
} }

Loading…
Cancel
Save