diff --git a/input.c b/input.c index 5e7d3420..7c1004f9 100644 --- a/input.c +++ b/input.c @@ -884,6 +884,21 @@ keymap_lookup(struct terminal *term, xkb_keysym_t sym, enum modifier mods) return NULL; } +#if defined(_DEBUG) +static void __attribute__((constructor)) +test_keymap_lookup(void) +{ + struct terminal term = { + .num_lock_modifier = false, + .keypad_keys_mode = KEYPAD_NUMERICAL, + .cursor_keys_mode = CURSOR_KEYS_NORMAL, + }; + + const struct key_data *info = keymap_lookup(&term, XKB_KEY_ISO_Left_Tab, MOD_SHIFT | MOD_CTRL); + xassert(strcmp(info->seq, "\033[27;6;9~") == 0); +} +#endif + static void key_press_release(struct seat *seat, struct terminal *term, uint32_t serial, uint32_t key, uint32_t state)