From c44c7cc5beeeda070126feed003f3e2fd18aa5a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 1 Dec 2020 18:27:56 +0100 Subject: [PATCH] input: relax requirements for overriding keypad application mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don’t require NumLock to be locked. Foot has no idea _which_ modifier the user has mapped NumLock to, meaning we really cannot require it to be locked. --- input.c | 8 +------- wayland.h | 2 -- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/input.c b/input.c index 9e1b1f93..07829dd4 100644 --- a/input.c +++ b/input.c @@ -530,7 +530,6 @@ keyboard_keymap(void *data, struct wl_keyboard *wl_keyboard, seat->kbd.mod_alt = xkb_keymap_mod_get_index(seat->kbd.xkb_keymap, XKB_MOD_NAME_ALT) ; seat->kbd.mod_ctrl = xkb_keymap_mod_get_index(seat->kbd.xkb_keymap, XKB_MOD_NAME_CTRL); seat->kbd.mod_meta = xkb_keymap_mod_get_index(seat->kbd.xkb_keymap, XKB_MOD_NAME_LOGO); - seat->kbd.mod_num = xkb_keymap_mod_get_index(seat->kbd.xkb_keymap, XKB_MOD_NAME_NUM); seat->kbd.key_arrow_up = xkb_keymap_key_by_name(seat->kbd.xkb_keymap, "UP"); seat->kbd.key_arrow_down = xkb_keymap_key_by_name(seat->kbd.xkb_keymap, "DOWN"); @@ -633,7 +632,6 @@ keyboard_leave(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial, seat->kbd.alt = false; seat->kbd.ctrl = false; seat->kbd.meta = false; - seat->kbd.num = false; if (seat->kbd.xkb_compose_state != NULL) xkb_compose_state_reset(seat->kbd.xkb_compose_state); @@ -752,9 +750,7 @@ keymap_lookup(struct seat *seat, struct terminal *term, const enum cursor_keys cursor_keys_mode = term->cursor_keys_mode; const enum keypad_keys keypad_keys_mode - = (term->num_lock_modifier && seat->kbd.num - ? KEYPAD_NUMERICAL - : term->keypad_keys_mode); + = term->num_lock_modifier ? KEYPAD_NUMERICAL : term->keypad_keys_mode; for (size_t j = 0; j < count; j++) { if (info[j].modifiers != MOD_ANY && info[j].modifiers != mods) @@ -1055,8 +1051,6 @@ keyboard_modifiers(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial, seat->kbd.xkb_state, seat->kbd.mod_ctrl, XKB_STATE_MODS_DEPRESSED); seat->kbd.meta = xkb_state_mod_index_is_active( seat->kbd.xkb_state, seat->kbd.mod_meta, XKB_STATE_MODS_DEPRESSED); - seat->kbd.num = xkb_state_mod_index_is_active( - seat->kbd.xkb_state, seat->kbd.mod_num, XKB_STATE_MODS_LOCKED); } if (seat->kbd_focus && seat->kbd_focus->active_surface == TERM_SURF_GRID) diff --git a/wayland.h b/wayland.h index 876d791c..faee928e 100644 --- a/wayland.h +++ b/wayland.h @@ -163,7 +163,6 @@ struct seat { xkb_mod_index_t mod_alt; xkb_mod_index_t mod_ctrl; xkb_mod_index_t mod_meta; - xkb_mod_index_t mod_num; xkb_keycode_t key_arrow_up; xkb_keycode_t key_arrow_down; @@ -173,7 +172,6 @@ struct seat { bool alt; bool ctrl; bool meta; - bool num; struct { tll(struct key_binding_normal) key;