mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-07 04:06:07 -05:00
keymap: use same lookup table for Tab and ISO_Left_Tab
With XKB, Shift+Tab maps to XKB_KEY_ISO_Left_Tab, not XKB_Key_Tab. Previously, we had two different lookup tables for the two. The tab table was correctly populated, while the ISO-left tab wasn’t. As a result, all Shift+Tab combos (except Shift+Tab itself) was wrong, and resulted in the same escape sequence as Shift+Tab. Fix by using the same table for both tab and ISO-left tab. Closes #210
This commit is contained in:
parent
ca150fbdd5
commit
3a3616af96
3 changed files with 5 additions and 7 deletions
|
|
@ -35,6 +35,8 @@
|
|||
|
||||
* Resize very slow when window is hidden
|
||||
(https://codeberg.org/dnkl/foot/issues/190).
|
||||
* Key mappings for key combinations with `shift`+`tab`
|
||||
(https://codeberg.org/dnkl/foot/issues/210).
|
||||
|
||||
|
||||
## 1.5.3
|
||||
|
|
|
|||
4
input.c
4
input.c
|
|
@ -641,8 +641,8 @@ keymap_data_for_sym(xkb_keysym_t sym, size_t *count)
|
|||
switch (sym) {
|
||||
case XKB_KEY_Escape: *count = ALEN(key_escape); return key_escape;
|
||||
case XKB_KEY_Return: *count = ALEN(key_return); return key_return;
|
||||
case XKB_KEY_Tab: *count = ALEN(key_tab); return key_tab;
|
||||
case XKB_KEY_ISO_Left_Tab: *count = ALEN(key_backtab); return key_backtab;
|
||||
case XKB_KEY_Tab: /* FALLTHROUGH */
|
||||
case XKB_KEY_ISO_Left_Tab: *count = ALEN(key_tab); return key_tab;
|
||||
case XKB_KEY_BackSpace: *count = ALEN(key_backspace); return key_backspace;
|
||||
case XKB_KEY_Up: *count = ALEN(key_up); return key_up;
|
||||
case XKB_KEY_Down: *count = ALEN(key_down); return key_down;
|
||||
|
|
|
|||
6
keymap.h
6
keymap.h
|
|
@ -45,7 +45,7 @@ static const struct key_data key_return[] = {
|
|||
|
||||
/* Tab isn't covered by the regular "modifyOtherKeys" handling */
|
||||
static const struct key_data key_tab[] = {
|
||||
{MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[27;2;9~"},
|
||||
{MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[Z"},
|
||||
{MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[27;3;9~"},
|
||||
{MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[27;4;9~"},
|
||||
{MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[27;5;9~"},
|
||||
|
|
@ -63,10 +63,6 @@ static const struct key_data key_tab[] = {
|
|||
{MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\t"},
|
||||
};
|
||||
|
||||
static const struct key_data key_backtab[] = {
|
||||
{MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[Z"},
|
||||
};
|
||||
|
||||
static const struct key_data key_backspace[] = {
|
||||
{MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\x7f"},
|
||||
{MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033\x7f"},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue