diff --git a/CHANGELOG.md b/CHANGELOG.md index f6330db1..3153767c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/input.c b/input.c index 69571f80..351c7e1e 100644 --- a/input.c +++ b/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; diff --git a/keymap.h b/keymap.h index beca9793..042b9d28 100644 --- a/keymap.h +++ b/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"},