mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
input: relax requirements for overriding keypad application mode
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.
This commit is contained in:
parent
282ca89168
commit
c44c7cc5be
2 changed files with 1 additions and 9 deletions
8
input.c
8
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue