mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
input: implement keypad application mode
This commit also replaces the previous (temporary) key map with a much more complete one.
This commit is contained in:
parent
9b5c044b29
commit
3dbef02dac
3 changed files with 489 additions and 112 deletions
141
input.c
141
input.c
|
|
@ -16,6 +16,7 @@
|
|||
#include "log.h"
|
||||
#include "terminal.h"
|
||||
#include "render.h"
|
||||
#include "keymap.h"
|
||||
|
||||
static void
|
||||
keyboard_keymap(void *data, struct wl_keyboard *wl_keyboard,
|
||||
|
|
@ -75,86 +76,6 @@ keyboard_leave(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial,
|
|||
mtx_unlock(&term->kbd.repeat.mutex);
|
||||
}
|
||||
|
||||
struct keymap {
|
||||
const char *normal;
|
||||
const char *shift;
|
||||
const char *alt;
|
||||
const char *shift_alt;
|
||||
const char *ctrl;
|
||||
const char *shift_ctrl;
|
||||
const char *alt_ctrl;
|
||||
const char *shift_alt_ctrl;
|
||||
};
|
||||
|
||||
static const struct keymap key_map[][2] = {
|
||||
[XKB_KEY_Up] = {
|
||||
{"[A", "[1;2A", "[1;3A", "[1;4A", "[1;5A", "[1;6A", "[1;7A", "[1;8A"},
|
||||
{"OA", "[1;2A", "[1;3A", "[1;4A", "[1;5A", "[1;6A", "[1;7A", "[1;8A"}},
|
||||
[XKB_KEY_Down] = {
|
||||
{"[B", "[1;2B", "[1;3B", "[1;4B", "[1;5B", "[1;6B", "[1;7B", "[1;8B"},
|
||||
{"OB", "[1;2B", "[1;3B", "[1;4B", "[1;5B", "[1;6B", "[1;7B", "[1;8B"}},
|
||||
[XKB_KEY_Right] = {
|
||||
{"[C", "[1;2C", "[1;3C", "[1;4C", "[1;5C", "[1;6C", "[1;7C", "[1;8C"},
|
||||
{"OC", "[1;2C", "[1;3C", "[1;4C", "[1;5C", "[1;6C", "[1;7C", "[1;8C"}},
|
||||
[XKB_KEY_Left] = {
|
||||
{"[D", "[1;2D", "[1;3D", "[1;4D", "[1;5D", "[1;6D", "[1;7D", "[1;8D"},
|
||||
{"OD", "[1;2D", "[1;3D", "[1;4D", "[1;5D", "[1;6D", "[1;7D", "[1;8D"}},
|
||||
[XKB_KEY_Home] = {
|
||||
{"[H", "[1;2H", "[1;3H", "[1;4H", "[1;5H", "[1;6H", "[1;7H", "[1;8H"},
|
||||
{"OH", "[1;2H", "[1;3H", "[1;4H", "[1;5H", "[1;6H", "[1;7H", "[1;8H"}},
|
||||
[XKB_KEY_End] = {
|
||||
{"[F", "[1;2F", "[1;3F", "[1;4F", "[1;5F", "[1;6F", "[1;7F", "[1;8F"},
|
||||
{"OF", "[1;2F", "[1;3F", "[1;4F", "[1;5F", "[1;6F", "[1;7F", "[1;8F"}},
|
||||
[XKB_KEY_Insert] = {
|
||||
{"[2~", "[2;2~", "[2;3~", "[2;4~", "[2;5~", "[2;6~", "[2;7~", "[2;8~"},
|
||||
{"[2~", "[2;2~", "[2;3~", "[2;4~", "[2;5~", "[2;6~", "[2;7~", "[2;8~"}},
|
||||
[XKB_KEY_Delete] = {
|
||||
{"[3~", "[3;2~", "[3;3~", "[3;4~", "[3;5~", "[3;6~", "[3;7~", "[3;8~"},
|
||||
{"[3~", "[3;2~", "[3;3~", "[3;4~", "[3;5~", "[3;6~", "[3;7~", "[3;8~"}},
|
||||
[XKB_KEY_Page_Up] = {
|
||||
{"[5~", "[5;2~", "[5;3~", "[5;4~", "[5;5~", "[5;6~", "[5;7~", "[5;8~"},
|
||||
{"[5~", "[5;2~", "[5;3~", "[5;4~", "[5;5~", "[5;6~", "[5;7~", "[5;8~"}},
|
||||
[XKB_KEY_Page_Down] = {
|
||||
{"[6~", "[6;2~", "[6;3~", "[6;4~", "[6;5~", "[6;6~", "[6;7~", "[6;8~"},
|
||||
{"[6~", "[6;2~", "[6;3~", "[6;4~", "[6;5~", "[6;6~", "[6;7~", "[6;8~"}},
|
||||
[XKB_KEY_F1] = {
|
||||
{"OP", "[1;2P", "[1;3P", "[1;4P", "[1;5P", "[1;6P", "[1;7P", "[1;8P"},
|
||||
{"OP", "[1;2P", "[1;3P", "[1;4P", "[1;5P", "[1;6P", "[1;7P", "[1;8P"}},
|
||||
[XKB_KEY_F2] = {
|
||||
{"OQ", "[1;2Q", "[1;3Q", "[1;4Q", "[1;5Q", "[1;6Q", "[1;7Q", "[1;8Q"},
|
||||
{"OQ", "[1;2Q", "[1;3Q", "[1;4Q", "[1;5Q", "[1;6Q", "[1;7Q", "[1;8Q"}},
|
||||
[XKB_KEY_F3] = {
|
||||
{"OR", "[1;2R", "[1;3R", "[1;4R", "[1;5R", "[1;6R", "[1;7R", "[1;8R"},
|
||||
{"OR", "[1;2R", "[1;3R", "[1;4R", "[1;5R", "[1;6R", "[1;7R", "[1;8R"}},
|
||||
[XKB_KEY_F4] = {
|
||||
{"OS", "[1;2S", "[1;3S", "[1;4S", "[1;5S", "[1;6S", "[1;7S", "[1;8S"},
|
||||
{"OS", "[1;2S", "[1;3S", "[1;4S", "[1;5S", "[1;6S", "[1;7S", "[1;8S"}},
|
||||
[XKB_KEY_F5] = {
|
||||
{"[15~", "[15;2~", "[15;3~", "[15;4~", "[15;5~", "[15;6~", "[15;7~", "[15;8~"},
|
||||
{"[15~", "[15;2~", "[15;3~", "[15;4~", "[15;5~", "[15;6~", "[15;7~", "[15;8~"}},
|
||||
[XKB_KEY_F6] = {
|
||||
{"[17~", "[17;2~", "[17;3~", "[17;4~", "[17;5~", "[17;6~", "[17;7~", "[17;8~"},
|
||||
{"[17~", "[17;2~", "[17;3~", "[17;4~", "[17;5~", "[17;6~", "[17;7~", "[17;8~"}},
|
||||
[XKB_KEY_F7] = {
|
||||
{"[18~", "[18;2~", "[18;3~", "[18;4~", "[18;5~", "[18;6~", "[18;7~", "[18;8~"},
|
||||
{"[18~", "[18;2~", "[18;3~", "[18;4~", "[18;5~", "[18;6~", "[18;7~", "[18;8~"}},
|
||||
[XKB_KEY_F8] = {
|
||||
{"[19~", "[19;2~", "[19;3~", "[19;4~", "[19;5~", "[19;6~", "[19;7~", "[19;8~"},
|
||||
{"[19~", "[19;2~", "[19;3~", "[19;4~", "[19;5~", "[19;6~", "[19;7~", "[19;8~"}},
|
||||
[XKB_KEY_F9] = {
|
||||
{"[20~", "[20;2~", "[20;3~", "[20;4~", "[20;5~", "[20;6~", "[20;7~", "[20;8~"},
|
||||
{"[20~", "[20;2~", "[20;3~", "[20;4~", "[20;5~", "[20;6~", "[20;7~", "[20;8~"}},
|
||||
[XKB_KEY_F10] = {
|
||||
{"[21~", "[21;2~", "[21;3~", "[21;4~", "[21;5~", "[21;6~", "[21;7~", "[21;8~"},
|
||||
{"[21~", "[21;2~", "[21;3~", "[21;4~", "[21;5~", "[21;6~", "[21;7~", "[21;8~"}},
|
||||
[XKB_KEY_F11] = {
|
||||
{"[23~", "[23;2~", "[23;3~", "[23;4~", "[23;5~", "[23;6~", "[23;7~", "[23;8~"},
|
||||
{"[23~", "[23;2~", "[23;3~", "[23;4~", "[23;5~", "[23;6~", "[23;7~", "[23;8~"}},
|
||||
[XKB_KEY_F12] = {
|
||||
{"[24~", "[24;2~", "[24;3~", "[24;4~", "[24;5~", "[24;6~", "[24;7~", "[24;8~"},
|
||||
{"[24~", "[24;2~", "[24;3~", "[24;4~", "[24;5~", "[24;6~", "[24;7~", "[24;8~"}},
|
||||
};
|
||||
|
||||
static void
|
||||
keyboard_key(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial,
|
||||
uint32_t time, uint32_t key, uint32_t state)
|
||||
|
|
@ -180,6 +101,12 @@ keyboard_key(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial,
|
|||
key += 8;
|
||||
xkb_keysym_t sym = xkb_state_key_get_one_sym(term->kbd.xkb_state, key);
|
||||
|
||||
#if 0
|
||||
char foo[100];
|
||||
xkb_keysym_get_name(sym, foo, sizeof(foo));
|
||||
LOG_ERR("%s", foo);
|
||||
#endif
|
||||
|
||||
xkb_compose_state_feed(term->kbd.xkb_compose_state, sym);
|
||||
enum xkb_compose_status compose_status = xkb_compose_state_get_status(
|
||||
term->kbd.xkb_compose_state);
|
||||
|
|
@ -206,37 +133,35 @@ keyboard_key(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial,
|
|||
"effective=0x%08x",
|
||||
sym, mods, consumed, significant, effective_mods);
|
||||
|
||||
if (sym < sizeof(key_map) / sizeof(key_map[0]) &&
|
||||
key_map[sym][term->cursor_keys_mode - 1].normal != NULL)
|
||||
{
|
||||
const struct keymap *key = &key_map[sym][term->cursor_keys_mode - 1];
|
||||
const char *esc = NULL;
|
||||
bool found_map = false;
|
||||
|
||||
if (effective_mods == 0)
|
||||
esc = key->normal;
|
||||
else if (effective_mods == shift)
|
||||
esc = key->shift;
|
||||
else if (effective_mods == alt)
|
||||
esc = key->alt;
|
||||
else if (effective_mods == (shift | alt))
|
||||
esc = key->shift_alt;
|
||||
else if (effective_mods == ctrl)
|
||||
esc = key->ctrl;
|
||||
else if (effective_mods == (shift | ctrl))
|
||||
esc = key->shift_ctrl;
|
||||
else if (effective_mods == (alt | ctrl))
|
||||
esc = key->alt_ctrl;
|
||||
else if (effective_mods == (shift | alt | ctrl))
|
||||
esc = key->shift_alt_ctrl;
|
||||
else
|
||||
assert(false);
|
||||
enum modifier keymap_mods = MOD_NONE;
|
||||
keymap_mods |= term->kbd.shift ? MOD_SHIFT : MOD_NONE;
|
||||
keymap_mods |= term->kbd.alt ? MOD_ALT : MOD_NONE;
|
||||
keymap_mods |= term->kbd.ctrl ? MOD_CTRL : MOD_NONE;
|
||||
|
||||
write(term->ptmx, "\x1b", 1);
|
||||
write(term->ptmx, esc, strlen(esc));
|
||||
} else if (sym == XKB_KEY_Escape){
|
||||
write(term->ptmx, "\x1b", 1);
|
||||
} else {
|
||||
for (size_t i = 0; i < sizeof(key_map) / sizeof(key_map[0]); i++) {
|
||||
const struct key_map *k = &key_map[i];
|
||||
if (k->sym != sym)
|
||||
continue;
|
||||
|
||||
if (k->modifiers != MOD_ANY && k->modifiers != keymap_mods)
|
||||
continue;
|
||||
|
||||
if (k->cursor_keys_mode != CURSOR_KEYS_DONTCARE &&
|
||||
k->cursor_keys_mode != term->cursor_keys_mode)
|
||||
continue;
|
||||
|
||||
if (k->keypad_keys_mode != KEYPAD_DONTCARE &&
|
||||
k->keypad_keys_mode != term->keypad_keys_mode)
|
||||
continue;
|
||||
|
||||
write(term->ptmx, k->seq, strlen(k->seq));
|
||||
found_map = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!found_map) {
|
||||
char buf[64] = {0};
|
||||
int count = 0;
|
||||
|
||||
|
|
|
|||
454
keymap.h
Normal file
454
keymap.h
Normal file
|
|
@ -0,0 +1,454 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
|
||||
#include "terminal.h"
|
||||
|
||||
enum modifier {
|
||||
MOD_NONE = 0x0,
|
||||
MOD_ANY = 0x1,
|
||||
MOD_SHIFT = 0x2,
|
||||
MOD_ALT = 0x4,
|
||||
MOD_CTRL = 0x8,
|
||||
};
|
||||
|
||||
struct key_map {
|
||||
xkb_keysym_t sym;
|
||||
enum modifier modifiers;
|
||||
enum cursor_keys cursor_keys_mode;
|
||||
enum keypad_keys keypad_keys_mode;
|
||||
const char *seq;
|
||||
};
|
||||
|
||||
static const struct key_map key_map[] = {
|
||||
{XKB_KEY_Escape, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033"},
|
||||
|
||||
{XKB_KEY_Return, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033\r"},
|
||||
{XKB_KEY_Return, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\r"},
|
||||
|
||||
{XKB_KEY_BackSpace, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033\b"},
|
||||
{XKB_KEY_BackSpace, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033\b"},
|
||||
{XKB_KEY_BackSpace, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\b"},
|
||||
|
||||
|
||||
{XKB_KEY_Up, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2A"},
|
||||
{XKB_KEY_Up, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3A"},
|
||||
{XKB_KEY_Up, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4A"},
|
||||
{XKB_KEY_Up, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5A"},
|
||||
{XKB_KEY_Up, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6A"},
|
||||
{XKB_KEY_Up, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7A"},
|
||||
{XKB_KEY_Up, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8A"},
|
||||
{XKB_KEY_Up, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OA"},
|
||||
{XKB_KEY_Up, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[A"},
|
||||
|
||||
{XKB_KEY_Down, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2B"},
|
||||
{XKB_KEY_Down, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3B"},
|
||||
{XKB_KEY_Down, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4B"},
|
||||
{XKB_KEY_Down, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5B"},
|
||||
{XKB_KEY_Down, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6B"},
|
||||
{XKB_KEY_Down, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7B"},
|
||||
{XKB_KEY_Down, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8B"},
|
||||
{XKB_KEY_Down, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OB"},
|
||||
{XKB_KEY_Down, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[B"},
|
||||
|
||||
{XKB_KEY_Right, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2C"},
|
||||
{XKB_KEY_Right, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3C"},
|
||||
{XKB_KEY_Right, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4C"},
|
||||
{XKB_KEY_Right, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5C"},
|
||||
{XKB_KEY_Right, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6C"},
|
||||
{XKB_KEY_Right, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7C"},
|
||||
{XKB_KEY_Right, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8C"},
|
||||
{XKB_KEY_Right, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OC"},
|
||||
{XKB_KEY_Right, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[C"},
|
||||
|
||||
{XKB_KEY_Left, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2D"},
|
||||
{XKB_KEY_Left, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3D"},
|
||||
{XKB_KEY_Left, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4D"},
|
||||
{XKB_KEY_Left, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5D"},
|
||||
{XKB_KEY_Left, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6D"},
|
||||
{XKB_KEY_Left, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7D"},
|
||||
{XKB_KEY_Left, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8D"},
|
||||
{XKB_KEY_Left, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OD"},
|
||||
{XKB_KEY_Left, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[D"},
|
||||
|
||||
{XKB_KEY_Home, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2H"},
|
||||
{XKB_KEY_Home, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3H"},
|
||||
{XKB_KEY_Home, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4H"},
|
||||
{XKB_KEY_Home, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5H"},
|
||||
{XKB_KEY_Home, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6H"},
|
||||
{XKB_KEY_Home, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7H"},
|
||||
{XKB_KEY_Home, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8H"},
|
||||
{XKB_KEY_Home, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OH"},
|
||||
{XKB_KEY_Home, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[H"},
|
||||
|
||||
{XKB_KEY_End, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2F"},
|
||||
{XKB_KEY_End, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3F"},
|
||||
{XKB_KEY_End, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4F"},
|
||||
{XKB_KEY_End, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5F"},
|
||||
{XKB_KEY_End, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6F"},
|
||||
{XKB_KEY_End, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7F"},
|
||||
{XKB_KEY_End, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8F"},
|
||||
{XKB_KEY_End, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OF"},
|
||||
{XKB_KEY_End, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[F"},
|
||||
|
||||
{XKB_KEY_Insert, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;2~"},
|
||||
{XKB_KEY_Insert, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;3~"},
|
||||
{XKB_KEY_Insert, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;4~"},
|
||||
{XKB_KEY_Insert, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;5~"},
|
||||
{XKB_KEY_Insert, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;6~"},
|
||||
{XKB_KEY_Insert, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;7~"},
|
||||
{XKB_KEY_Insert, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;8~"},
|
||||
{XKB_KEY_Insert, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2~"},
|
||||
|
||||
{XKB_KEY_Delete, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;2~"},
|
||||
{XKB_KEY_Delete, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;3~"},
|
||||
{XKB_KEY_Delete, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;4~"},
|
||||
{XKB_KEY_Delete, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;5~"},
|
||||
{XKB_KEY_Delete, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;6~"},
|
||||
{XKB_KEY_Delete, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;7~"},
|
||||
{XKB_KEY_Delete, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;8~"},
|
||||
{XKB_KEY_Delete, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3~"},
|
||||
|
||||
{XKB_KEY_Page_Up, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;2~"},
|
||||
{XKB_KEY_Page_Up, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;3~"},
|
||||
{XKB_KEY_Page_Up, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;4~"},
|
||||
{XKB_KEY_Page_Up, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;5~"},
|
||||
{XKB_KEY_Page_Up, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;6~"},
|
||||
{XKB_KEY_Page_Up, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;7~"},
|
||||
{XKB_KEY_Page_Up, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;8~"},
|
||||
{XKB_KEY_Page_Up, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5~"},
|
||||
|
||||
{XKB_KEY_Page_Down, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;2~"},
|
||||
{XKB_KEY_Page_Down, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;3~"},
|
||||
{XKB_KEY_Page_Down, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;4~"},
|
||||
{XKB_KEY_Page_Down, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;5~"},
|
||||
{XKB_KEY_Page_Down, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;6~"},
|
||||
{XKB_KEY_Page_Down, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;7~"},
|
||||
{XKB_KEY_Page_Down, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;8~"},
|
||||
{XKB_KEY_Page_Down, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[6~"},
|
||||
|
||||
{XKB_KEY_F1, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2P"},
|
||||
{XKB_KEY_F1, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3P"},
|
||||
{XKB_KEY_F1, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4P"},
|
||||
{XKB_KEY_F1, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5P"},
|
||||
{XKB_KEY_F1, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6P"},
|
||||
{XKB_KEY_F1, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7P"},
|
||||
{XKB_KEY_F1, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8P"},
|
||||
{XKB_KEY_F1, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033OP"},
|
||||
|
||||
{XKB_KEY_F2, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2Q"},
|
||||
{XKB_KEY_F2, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3Q"},
|
||||
{XKB_KEY_F2, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4Q"},
|
||||
{XKB_KEY_F2, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5Q"},
|
||||
{XKB_KEY_F2, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6Q"},
|
||||
{XKB_KEY_F2, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7Q"},
|
||||
{XKB_KEY_F2, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8Q"},
|
||||
{XKB_KEY_F2, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033OQ"},
|
||||
|
||||
{XKB_KEY_F3, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2R"},
|
||||
{XKB_KEY_F3, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3R"},
|
||||
{XKB_KEY_F3, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4R"},
|
||||
{XKB_KEY_F3, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5R"},
|
||||
{XKB_KEY_F3, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6R"},
|
||||
{XKB_KEY_F3, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7R"},
|
||||
{XKB_KEY_F3, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8R"},
|
||||
{XKB_KEY_F3, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033OR"},
|
||||
|
||||
{XKB_KEY_F4, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2S"},
|
||||
{XKB_KEY_F4, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3S"},
|
||||
{XKB_KEY_F4, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;4S"},
|
||||
{XKB_KEY_F4, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5S"},
|
||||
{XKB_KEY_F4, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;6S"},
|
||||
{XKB_KEY_F4, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7S"},
|
||||
{XKB_KEY_F4, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;8S"},
|
||||
{XKB_KEY_F4, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033OS"},
|
||||
|
||||
{XKB_KEY_F5, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;2~"},
|
||||
{XKB_KEY_F5, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;3~"},
|
||||
{XKB_KEY_F5, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;4~"},
|
||||
{XKB_KEY_F5, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;5~"},
|
||||
{XKB_KEY_F5, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;6~"},
|
||||
{XKB_KEY_F5, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;7~"},
|
||||
{XKB_KEY_F5, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;8~"},
|
||||
{XKB_KEY_F5, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15~"},
|
||||
|
||||
{XKB_KEY_F6, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;2~"},
|
||||
{XKB_KEY_F6, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;3~"},
|
||||
{XKB_KEY_F6, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;4~"},
|
||||
{XKB_KEY_F6, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;5~"},
|
||||
{XKB_KEY_F6, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;6~"},
|
||||
{XKB_KEY_F6, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;7~"},
|
||||
{XKB_KEY_F6, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;8~"},
|
||||
{XKB_KEY_F6, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17~"},
|
||||
|
||||
{XKB_KEY_F7, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;2~"},
|
||||
{XKB_KEY_F7, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;3~"},
|
||||
{XKB_KEY_F7, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;4~"},
|
||||
{XKB_KEY_F7, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;5~"},
|
||||
{XKB_KEY_F7, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;6~"},
|
||||
{XKB_KEY_F7, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;7~"},
|
||||
{XKB_KEY_F7, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;8~"},
|
||||
{XKB_KEY_F7, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18~"},
|
||||
|
||||
{XKB_KEY_F8, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;2~"},
|
||||
{XKB_KEY_F8, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;3~"},
|
||||
{XKB_KEY_F8, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;4~"},
|
||||
{XKB_KEY_F8, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;5~"},
|
||||
{XKB_KEY_F8, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;6~"},
|
||||
{XKB_KEY_F8, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;7~"},
|
||||
{XKB_KEY_F8, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;8~"},
|
||||
{XKB_KEY_F8, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19~"},
|
||||
|
||||
{XKB_KEY_F9, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;2~"},
|
||||
{XKB_KEY_F9, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;3~"},
|
||||
{XKB_KEY_F9, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;4~"},
|
||||
{XKB_KEY_F9, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;5~"},
|
||||
{XKB_KEY_F9, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;6~"},
|
||||
{XKB_KEY_F9, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;7~"},
|
||||
{XKB_KEY_F9, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;8~"},
|
||||
{XKB_KEY_F9, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20~"},
|
||||
|
||||
{XKB_KEY_F10, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;2~"},
|
||||
{XKB_KEY_F10, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;3~"},
|
||||
{XKB_KEY_F10, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;4~"},
|
||||
{XKB_KEY_F10, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;5~"},
|
||||
{XKB_KEY_F10, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;6~"},
|
||||
{XKB_KEY_F10, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;7~"},
|
||||
{XKB_KEY_F10, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;8~"},
|
||||
{XKB_KEY_F10, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21~"},
|
||||
|
||||
{XKB_KEY_F11, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;2~"},
|
||||
{XKB_KEY_F11, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;3~"},
|
||||
{XKB_KEY_F11, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;4~"},
|
||||
{XKB_KEY_F11, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;5~"},
|
||||
{XKB_KEY_F11, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;6~"},
|
||||
{XKB_KEY_F11, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;7~"},
|
||||
{XKB_KEY_F11, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;8~"},
|
||||
{XKB_KEY_F11, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23~"},
|
||||
|
||||
{XKB_KEY_F12, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;2~"},
|
||||
{XKB_KEY_F12, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;3~"},
|
||||
{XKB_KEY_F12, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;4~"},
|
||||
{XKB_KEY_F12, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;5~"},
|
||||
{XKB_KEY_F12, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;6~"},
|
||||
{XKB_KEY_F12, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;7~"},
|
||||
{XKB_KEY_F12, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;8~"},
|
||||
{XKB_KEY_F12, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24~"},
|
||||
|
||||
{XKB_KEY_F13, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2P"},
|
||||
{XKB_KEY_F14, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2Q"},
|
||||
{XKB_KEY_F15, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2R"},
|
||||
{XKB_KEY_F16, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;2S"},
|
||||
{XKB_KEY_F17, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;2~"},
|
||||
{XKB_KEY_F18, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;2~"},
|
||||
{XKB_KEY_F19, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;2~"},
|
||||
{XKB_KEY_F20, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;2~"},
|
||||
{XKB_KEY_F21, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;2~"},
|
||||
{XKB_KEY_F22, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;2~"},
|
||||
{XKB_KEY_F23, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;2~"},
|
||||
{XKB_KEY_F24, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[24;2~"},
|
||||
{XKB_KEY_F25, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5P"},
|
||||
{XKB_KEY_F26, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5Q"},
|
||||
{XKB_KEY_F27, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5R"},
|
||||
{XKB_KEY_F28, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5S"},
|
||||
{XKB_KEY_F29, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[15;5~"},
|
||||
{XKB_KEY_F30, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[17;5~"},
|
||||
{XKB_KEY_F31, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[18;5~"},
|
||||
{XKB_KEY_F32, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[19;5~"},
|
||||
{XKB_KEY_F33, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[20;5~"},
|
||||
{XKB_KEY_F34, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[21;5~"},
|
||||
{XKB_KEY_F35, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[23;5~"},
|
||||
|
||||
/* Keypad */
|
||||
{XKB_KEY_KP_Up, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3A"},
|
||||
{XKB_KEY_KP_Up, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5A"},
|
||||
{XKB_KEY_KP_Up, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7A"},
|
||||
{XKB_KEY_KP_Up, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[A"},
|
||||
{XKB_KEY_KP_Up, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OA"},
|
||||
|
||||
{XKB_KEY_KP_Down, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3B"},
|
||||
{XKB_KEY_KP_Down, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5B"},
|
||||
{XKB_KEY_KP_Down, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7B"},
|
||||
{XKB_KEY_KP_Down, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[B"},
|
||||
{XKB_KEY_KP_Down, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OB"},
|
||||
|
||||
{XKB_KEY_KP_Right, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3C"},
|
||||
{XKB_KEY_KP_Right, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5C"},
|
||||
{XKB_KEY_KP_Right, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7C"},
|
||||
{XKB_KEY_KP_Right, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[C"},
|
||||
{XKB_KEY_KP_Right, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OC"},
|
||||
|
||||
{XKB_KEY_KP_Left, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3D"},
|
||||
{XKB_KEY_KP_Left, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5D"},
|
||||
{XKB_KEY_KP_Left, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7D"},
|
||||
{XKB_KEY_KP_Left, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[D"},
|
||||
{XKB_KEY_KP_Left, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OD"},
|
||||
|
||||
{XKB_KEY_KP_Home, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3H"},
|
||||
{XKB_KEY_KP_Home, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5H"},
|
||||
{XKB_KEY_KP_Home, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7H"},
|
||||
{XKB_KEY_KP_Home, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[H"},
|
||||
{XKB_KEY_KP_Home, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OH"},
|
||||
|
||||
{XKB_KEY_KP_End, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;3F"},
|
||||
{XKB_KEY_KP_End, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;5F"},
|
||||
{XKB_KEY_KP_End, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[1;7F"},
|
||||
{XKB_KEY_KP_End, MOD_ANY, CURSOR_KEYS_NORMAL, KEYPAD_DONTCARE, "\033[F"},
|
||||
{XKB_KEY_KP_End, MOD_ANY, CURSOR_KEYS_APPLICATION, KEYPAD_DONTCARE, "\033OF"},
|
||||
|
||||
{XKB_KEY_KP_Insert, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;3~"},
|
||||
{XKB_KEY_KP_Insert, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;5~"},
|
||||
{XKB_KEY_KP_Insert, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2;7~"},
|
||||
{XKB_KEY_KP_Insert, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[2~"},
|
||||
|
||||
{XKB_KEY_KP_Delete, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;3~"},
|
||||
{XKB_KEY_KP_Delete, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;5~"},
|
||||
{XKB_KEY_KP_Delete, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3;7~"},
|
||||
{XKB_KEY_KP_Delete, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[3~"},
|
||||
|
||||
{XKB_KEY_KP_Page_Up, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;3~"},
|
||||
{XKB_KEY_KP_Page_Up, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;5~"},
|
||||
{XKB_KEY_KP_Page_Up, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;7~"},
|
||||
{XKB_KEY_KP_Page_Up, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5~"},
|
||||
|
||||
{XKB_KEY_KP_Page_Down, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;3~"},
|
||||
{XKB_KEY_KP_Page_Down, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;5~"},
|
||||
{XKB_KEY_KP_Page_Down, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[5;7~"},
|
||||
{XKB_KEY_KP_Page_Down, MOD_ANY, CURSOR_KEYS_DONTCARE, KEYPAD_DONTCARE, "\033[6~"},
|
||||
|
||||
{XKB_KEY_KP_Divide, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Oo"},
|
||||
{XKB_KEY_KP_Divide, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2o"},
|
||||
{XKB_KEY_KP_Divide, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3o"},
|
||||
{XKB_KEY_KP_Divide, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4o"},
|
||||
{XKB_KEY_KP_Divide, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5o"},
|
||||
{XKB_KEY_KP_Divide, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6o"},
|
||||
{XKB_KEY_KP_Divide, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7o"},
|
||||
{XKB_KEY_KP_Divide, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8o"},
|
||||
|
||||
{XKB_KEY_KP_Multiply, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Oj"},
|
||||
{XKB_KEY_KP_Multiply, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7j"},
|
||||
{XKB_KEY_KP_Multiply, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8j"},
|
||||
|
||||
{XKB_KEY_KP_Subtract, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Om"},
|
||||
{XKB_KEY_KP_Subtract, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7m"},
|
||||
{XKB_KEY_KP_Subtract, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8m"},
|
||||
|
||||
{XKB_KEY_KP_Add, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ok"},
|
||||
{XKB_KEY_KP_Add, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2k"},
|
||||
{XKB_KEY_KP_Add, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3k"},
|
||||
{XKB_KEY_KP_Add, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4k"},
|
||||
{XKB_KEY_KP_Add, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5k"},
|
||||
{XKB_KEY_KP_Add, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6k"},
|
||||
{XKB_KEY_KP_Add, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7k"},
|
||||
{XKB_KEY_KP_Add, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8k"},
|
||||
|
||||
{XKB_KEY_KP_Separator, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ol"},
|
||||
{XKB_KEY_KP_Separator, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2l"},
|
||||
{XKB_KEY_KP_Separator, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3l"},
|
||||
{XKB_KEY_KP_Separator, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4l"},
|
||||
{XKB_KEY_KP_Separator, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5l"},
|
||||
{XKB_KEY_KP_Separator, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6l"},
|
||||
{XKB_KEY_KP_Separator, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7l"},
|
||||
{XKB_KEY_KP_Separator, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8l"},
|
||||
|
||||
{XKB_KEY_KP_0, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Op"},
|
||||
{XKB_KEY_KP_0, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2p"},
|
||||
{XKB_KEY_KP_0, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3p"},
|
||||
{XKB_KEY_KP_0, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4p"},
|
||||
{XKB_KEY_KP_0, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5p"},
|
||||
{XKB_KEY_KP_0, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6p"},
|
||||
{XKB_KEY_KP_0, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7p"},
|
||||
{XKB_KEY_KP_0, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8p"},
|
||||
|
||||
{XKB_KEY_KP_1, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Oq"},
|
||||
{XKB_KEY_KP_1, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2q"},
|
||||
{XKB_KEY_KP_1, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3q"},
|
||||
{XKB_KEY_KP_1, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4q"},
|
||||
{XKB_KEY_KP_1, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5q"},
|
||||
{XKB_KEY_KP_1, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6q"},
|
||||
{XKB_KEY_KP_1, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7q"},
|
||||
{XKB_KEY_KP_1, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8q"},
|
||||
|
||||
{XKB_KEY_KP_2, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Or"},
|
||||
{XKB_KEY_KP_2, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2r"},
|
||||
{XKB_KEY_KP_2, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3r"},
|
||||
{XKB_KEY_KP_2, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4r"},
|
||||
{XKB_KEY_KP_2, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5r"},
|
||||
{XKB_KEY_KP_2, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6r"},
|
||||
{XKB_KEY_KP_2, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7r"},
|
||||
{XKB_KEY_KP_2, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8r"},
|
||||
|
||||
{XKB_KEY_KP_3, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Os"},
|
||||
{XKB_KEY_KP_3, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2s"},
|
||||
{XKB_KEY_KP_3, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3s"},
|
||||
{XKB_KEY_KP_3, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4s"},
|
||||
{XKB_KEY_KP_3, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5s"},
|
||||
{XKB_KEY_KP_3, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6s"},
|
||||
{XKB_KEY_KP_3, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7s"},
|
||||
{XKB_KEY_KP_3, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8s"},
|
||||
|
||||
{XKB_KEY_KP_4, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ot"},
|
||||
{XKB_KEY_KP_4, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2t"},
|
||||
{XKB_KEY_KP_4, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3t"},
|
||||
{XKB_KEY_KP_4, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4t"},
|
||||
{XKB_KEY_KP_4, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5t"},
|
||||
{XKB_KEY_KP_4, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6t"},
|
||||
{XKB_KEY_KP_4, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7t"},
|
||||
{XKB_KEY_KP_4, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8t"},
|
||||
|
||||
{XKB_KEY_KP_5, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ou"},
|
||||
{XKB_KEY_KP_5, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2u"},
|
||||
{XKB_KEY_KP_5, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3u"},
|
||||
{XKB_KEY_KP_5, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4u"},
|
||||
{XKB_KEY_KP_5, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5u"},
|
||||
{XKB_KEY_KP_5, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6u"},
|
||||
{XKB_KEY_KP_5, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7u"},
|
||||
{XKB_KEY_KP_5, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8u"},
|
||||
|
||||
{XKB_KEY_KP_6, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ov"},
|
||||
{XKB_KEY_KP_6, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2v"},
|
||||
{XKB_KEY_KP_6, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3v"},
|
||||
{XKB_KEY_KP_6, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4v"},
|
||||
{XKB_KEY_KP_6, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5v"},
|
||||
{XKB_KEY_KP_6, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6v"},
|
||||
{XKB_KEY_KP_6, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7v"},
|
||||
{XKB_KEY_KP_6, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8v"},
|
||||
|
||||
{XKB_KEY_KP_7, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ow"},
|
||||
{XKB_KEY_KP_7, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2w"},
|
||||
{XKB_KEY_KP_7, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3w"},
|
||||
{XKB_KEY_KP_7, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4w"},
|
||||
{XKB_KEY_KP_7, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5w"},
|
||||
{XKB_KEY_KP_7, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6w"},
|
||||
{XKB_KEY_KP_7, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7w"},
|
||||
{XKB_KEY_KP_7, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8w"},
|
||||
|
||||
{XKB_KEY_KP_8, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Ox"},
|
||||
{XKB_KEY_KP_8, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2x"},
|
||||
{XKB_KEY_KP_8, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3x"},
|
||||
{XKB_KEY_KP_8, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4x"},
|
||||
{XKB_KEY_KP_8, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5x"},
|
||||
{XKB_KEY_KP_8, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6x"},
|
||||
{XKB_KEY_KP_8, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7x"},
|
||||
{XKB_KEY_KP_8, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8x"},
|
||||
|
||||
{XKB_KEY_KP_9, MOD_NONE, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033Oy"},
|
||||
{XKB_KEY_KP_9, MOD_SHIFT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O2y"},
|
||||
{XKB_KEY_KP_9, MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O3y"},
|
||||
{XKB_KEY_KP_9, MOD_SHIFT | MOD_ALT, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O4y"},
|
||||
{XKB_KEY_KP_9, MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O5y"},
|
||||
{XKB_KEY_KP_9, MOD_SHIFT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O6y"},
|
||||
{XKB_KEY_KP_9, MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O7y"},
|
||||
{XKB_KEY_KP_9, MOD_SHIFT | MOD_ALT | MOD_CTRL, CURSOR_KEYS_DONTCARE, KEYPAD_APPLICATION, "\033O8y"},
|
||||
};
|
||||
6
vt.c
6
vt.c
|
|
@ -639,13 +639,11 @@ esc_dispatch(struct terminal *term, uint8_t final)
|
|||
break;
|
||||
|
||||
case '=':
|
||||
/* Other half of xterm's smkx */
|
||||
LOG_WARN("unimplemented: keypad mode change");
|
||||
term->keypad_keys_mode = KEYPAD_APPLICATION;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
/* Other half of xterm's rmkx */
|
||||
LOG_WARN("unimplemented: keypad mode change");
|
||||
term->keypad_keys_mode = KEYPAD_NUMERICAL;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue