use level 0 keysyms

this allow do not have to change the keysym when WLR_MODIFIER_SHIFT is active
This commit is contained in:
Leonardo Hernández Hernández 2022-07-22 11:40:59 -05:00
parent b04c73be3d
commit 31d8a67eda
No known key found for this signature in database
GPG key ID: E538897EE11B9624
2 changed files with 21 additions and 19 deletions

6
dwl.c
View file

@ -1326,8 +1326,10 @@ keypress(struct wl_listener *listener, void *data)
uint32_t keycode = event->keycode + 8;
/* Get a list of keysyms based on the keymap for this keyboard */
const xkb_keysym_t *syms;
int nsyms = xkb_state_key_get_syms(
kb->device->keyboard->xkb_state, keycode, &syms);
xkb_layout_index_t layout_index = xkb_state_key_get_layout(
kb->device->keyboard->xkb_state, keycode);
int nsyms = xkb_keymap_key_get_syms_by_level(kb->device->keyboard->keymap,
keycode, layout_index, 0, &syms);
int handled = 0;
uint32_t mods = wlr_keyboard_get_modifiers(kb->device->keyboard);