window: Use constant keycode offset of 8
The X11 compositor currently posts its key presses as keycode - 8; this is due to X11 having a historical minimum keycode of 8, whereas evdev is numbered starting from 1. So while the KEY_* constants begin with KEY_ESC at 1, the corresponding keycode in both X11 and the XKB keymaps is 9. window, on the other hand, was relying on xkb->min_key_code being 8 to translate its keycodes back to useful values in the XKB 'evdev' keycode map. min_key_code may not always be 8, for restricted subsets of the keycode map. Perhaps not the best solution, but at least consistent. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
9d4f030c0b
commit
0d5a509ae5
|
@ -1553,7 +1553,7 @@ input_handle_key(void *data, struct wl_input_device *input_device,
|
|||
struct display *d = input->display;
|
||||
uint32_t code, sym, level;
|
||||
|
||||
code = key + d->xkb->min_key_code;
|
||||
code = key + 8;
|
||||
if (!window || window->keyboard_device != input)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue