/* /!\\ This file was heavily generated by gen_tty_keys.sh */ #define KH(in) { in, sizeof(in) - 1 } static const Tty_Key tty_keys[] = { { "F1", sizeof("F1") - 1, { KH("\033OP"), // default F1 KH("\033[O3P"), // default Alt+F1 KH("\033[1;5P"), // default Ctrl+F1 KH("\033[1;7P"), // default Ctrl+Alt+F1 KH("\033[1;2P"), // default Shift+F1 KH("\033[1;4P"), // default Shift+Alt+F1 KH("\033[1;6P"), // default Shift+Ctrl+F1 KH("\033[1;8P"), // default Shift+Ctrl+Alt+F1 }, { KH("\033OP"), // cursor F1 KH("\033[O3P"), // cursor Alt+F1 KH("\033[1;5P"), // cursor Ctrl+F1 KH("\033[1;7P"), // cursor Ctrl+Alt+F1 KH("\033[1;2P"), // cursor Shift+F1 KH("\033[1;4P"), // cursor Shift+Alt+F1 KH("\033[1;6P"), // cursor Shift+Ctrl+F1 KH("\033[1;8P"), // cursor Shift+Ctrl+Alt+F1 }, }, { "F2", sizeof("F2") - 1, { KH("\033OQ"), // default F2 KH("\033[O3Q"), // default Alt+F2 KH("\033[1;5Q"), // default Ctrl+F2 KH("\033[1;7Q"), // default Ctrl+Alt+F2 KH("\033[1;2Q"), // default Shift+F2 KH("\033[1;4Q"), // default Shift+Alt+F2 KH("\033[1;6Q"), // default Shift+Ctrl+F2 KH("\033[1;8Q"), // default Shift+Ctrl+Alt+F2 }, { KH("\033OQ"), // cursor F2 KH("\033[O3Q"), // cursor Alt+F2 KH("\033[1;5Q"), // cursor Ctrl+F2 KH("\033[1;7Q"), // cursor Ctrl+Alt+F2 KH("\033[1;2Q"), // cursor Shift+F2 KH("\033[1;4Q"), // cursor Shift+Alt+F2 KH("\033[1;6Q"), // cursor Shift+Ctrl+F2 KH("\033[1;8Q"), // cursor Shift+Ctrl+Alt+F2 }, }, { "F3", sizeof("F3") - 1, { KH("\033OR"), // default F3 KH("\033[O3R"), // default Alt+F3 KH("\033[1;5R"), // default Ctrl+F3 KH("\033[1;7R"), // default Ctrl+Alt+F3 KH("\033[1;2R"), // default Shift+F3 KH("\033[1;4R"), // default Shift+Alt+F3 KH("\033[1;6R"), // default Shift+Ctrl+F3 KH("\033[1;8R"), // default Shift+Ctrl+Alt+F3 }, { KH("\033OR"), // cursor F3 KH("\033[O3R"), // cursor Alt+F3 KH("\033[1;5R"), // cursor Ctrl+F3 KH("\033[1;7R"), // cursor Ctrl+Alt+F3 KH("\033[1;2R"), // cursor Shift+F3 KH("\033[1;4R"), // cursor Shift+Alt+F3 KH("\033[1;6R"), // cursor Shift+Ctrl+F3 KH("\033[1;8R"), // cursor Shift+Ctrl+Alt+F3 }, }, { "F4", sizeof("F4") - 1, { KH("\033OS"), // default F4 KH("\033[O3S"), // default Alt+F4 KH("\033[1;5S"), // default Ctrl+F4 KH("\033[1;7S"), // default Ctrl+Alt+F4 KH("\033[1;2S"), // default Shift+F4 KH("\033[1;4S"), // default Shift+Alt+F4 KH("\033[1;6S"), // default Shift+Ctrl+F4 KH("\033[1;8S"), // default Shift+Ctrl+Alt+F4 }, { KH("\033OS"), // cursor F4 KH("\033[O3S"), // cursor Alt+F4 KH("\033[1;5S"), // cursor Ctrl+F4 KH("\033[1;7S"), // cursor Ctrl+Alt+F4 KH("\033[1;2S"), // cursor Shift+F4 KH("\033[1;4S"), // cursor Shift+Alt+F4 KH("\033[1;6S"), // cursor Shift+Ctrl+F4 KH("\033[1;8S"), // cursor Shift+Ctrl+Alt+F4 }, }, { "F5", sizeof("F5") - 1, { KH("\033[15~"), // default F5 KH("\033[15;3~"), // default Alt+F5 KH("\033[15;5~"), // default Ctrl+F5 KH("\033[15;7~"), // default Ctrl+Alt+F5 KH("\033[15;2~"), // default Shift+F5 KH("\033[15;4~"), // default Shift+Alt+F5 KH("\033[15;6~"), // default Shift+Ctrl+F5 KH("\033[15;8~"), // default Shift+Ctrl+Alt+F5 }, { KH("\033[15~"), // cursor F5 KH("\033[15;3~"), // cursor Alt+F5 KH("\033[15;5~"), // cursor Ctrl+F5 KH("\033[15;7~"), // cursor Ctrl+Alt+F5 KH("\033[15;2~"), // cursor Shift+F5 KH("\033[15;4~"), // cursor Shift+Alt+F5 KH("\033[15;6~"), // cursor Shift+Ctrl+F5 KH("\033[15;8~"), // cursor Shift+Ctrl+Alt+F5 }, }, { "F6", sizeof("F6") - 1, { KH("\033[17~"), // default F6 KH("\033[17;3~"), // default Alt+F6 KH("\033[17;5~"), // default Ctrl+F6 KH("\033[17;7~"), // default Ctrl+Alt+F6 KH("\033[17;2~"), // default Shift+F6 KH("\033[17;4~"), // default Shift+Alt+F6 KH("\033[17;6~"), // default Shift+Ctrl+F6 KH("\033[17;8~"), // default Shift+Ctrl+Alt+F6 }, { KH("\033[17~"), // cursor F6 KH("\033[17;3~"), // cursor Alt+F6 KH("\033[17;5~"), // cursor Ctrl+F6 KH("\033[17;7~"), // cursor Ctrl+Alt+F6 KH("\033[17;2~"), // cursor Shift+F6 KH("\033[17;4~"), // cursor Shift+Alt+F6 KH("\033[17;6~"), // cursor Shift+Ctrl+F6 KH("\033[17;8~"), // cursor Shift+Ctrl+Alt+F6 }, }, { "F7", sizeof("F7") - 1, { KH("\033[18~"), // default F7 KH("\033[18;3~"), // default Alt+F7 KH("\033[18;5~"), // default Ctrl+F7 KH("\033[18;7~"), // default Ctrl+Alt+F7 KH("\033[18;2~"), // default Shift+F7 KH("\033[18;4~"), // default Shift+Alt+F7 KH("\033[18;6~"), // default Shift+Ctrl+F7 KH("\033[18;8~"), // default Shift+Ctrl+Alt+F7 }, { KH("\033[18~"), // cursor F7 KH("\033[18;3~"), // cursor Alt+F7 KH("\033[18;5~"), // cursor Ctrl+F7 KH("\033[18;7~"), // cursor Ctrl+Alt+F7 KH("\033[18;2~"), // cursor Shift+F7 KH("\033[18;4~"), // cursor Shift+Alt+F7 KH("\033[18;6~"), // cursor Shift+Ctrl+F7 KH("\033[18;8~"), // cursor Shift+Ctrl+Alt+F7 }, }, { "F8", sizeof("F8") - 1, { KH("\033[19~"), // default F8 KH("\033[19;3~"), // default Alt+F8 KH("\033[19;5~"), // default Ctrl+F8 KH("\033[19;7~"), // default Ctrl+Alt+F8 KH("\033[19;2~"), // default Shift+F8 KH("\033[19;4~"), // default Shift+Alt+F8 KH("\033[19;6~"), // default Shift+Ctrl+F8 KH("\033[19;8~"), // default Shift+Ctrl+Alt+F8 }, { KH("\033[19~"), // cursor F8 KH("\033[19;3~"), // cursor Alt+F8 KH("\033[19;5~"), // cursor Ctrl+F8 KH("\033[19;7~"), // cursor Ctrl+Alt+F8 KH("\033[19;2~"), // cursor Shift+F8 KH("\033[19;4~"), // cursor Shift+Alt+F8 KH("\033[19;6~"), // cursor Shift+Ctrl+F8 KH("\033[19;8~"), // cursor Shift+Ctrl+Alt+F8 }, }, { "F9", sizeof("F9") - 1, { KH("\033[20~"), // default F9 KH("\033[20;3~"), // default Alt+F9 KH("\033[20;5~"), // default Ctrl+F9 KH("\033[20;7~"), // default Ctrl+Alt+F9 KH("\033[20;2~"), // default Shift+F9 KH("\033[20;4~"), // default Shift+Alt+F9 KH("\033[20;6~"), // default Shift+Ctrl+F9 KH("\033[20;8~"), // default Shift+Ctrl+Alt+F9 }, { KH("\033[20~"), // cursor F9 KH("\033[20;3~"), // cursor Alt+F9 KH("\033[20;5~"), // cursor Ctrl+F9 KH("\033[20;7~"), // cursor Ctrl+Alt+F9 KH("\033[20;2~"), // cursor Shift+F9 KH("\033[20;4~"), // cursor Shift+Alt+F9 KH("\033[20;6~"), // cursor Shift+Ctrl+F9 KH("\033[20;8~"), // cursor Shift+Ctrl+Alt+F9 }, }, { "F10", sizeof("F10") - 1, { KH("\033[21~"), // default F10 KH("\033[21;3~"), // default Alt+F10 KH("\033[21;5~"), // default Ctrl+F10 KH("\033[21;7~"), // default Ctrl+Alt+F10 KH("\033[21;2~"), // default Shift+F10 KH("\033[21;4~"), // default Shift+Alt+F10 KH("\033[21;6~"), // default Shift+Ctrl+F10 KH("\033[21;8~"), // default Shift+Ctrl+Alt+F10 }, { KH("\033[21~"), // cursor F10 KH("\033[21;3~"), // cursor Alt+F10 KH("\033[21;5~"), // cursor Ctrl+F10 KH("\033[21;7~"), // cursor Ctrl+Alt+F10 KH("\033[21;2~"), // cursor Shift+F10 KH("\033[21;4~"), // cursor Shift+Alt+F10 KH("\033[21;6~"), // cursor Shift+Ctrl+F10 KH("\033[21;8~"), // cursor Shift+Ctrl+Alt+F10 }, }, { "F11", sizeof("F11") - 1, { KH("\033[23~"), // default F11 KH("\033[23;3~"), // default Alt+F11 KH("\033[23;5~"), // default Ctrl+F11 KH("\033[23;7~"), // default Ctrl+Alt+F11 KH("\033[23;2~"), // default Shift+F11 KH("\033[23;4~"), // default Shift+Alt+F11 KH("\033[23;6~"), // default Shift+Ctrl+F11 KH("\033[23;8~"), // default Shift+Ctrl+Alt+F11 }, { KH("\033[23~"), // cursor F11 KH("\033[23;3~"), // cursor Alt+F11 KH("\033[23;5~"), // cursor Ctrl+F11 KH("\033[23;7~"), // cursor Ctrl+Alt+F11 KH("\033[23;2~"), // cursor Shift+F11 KH("\033[23;4~"), // cursor Shift+Alt+F11 KH("\033[23;6~"), // cursor Shift+Ctrl+F11 KH("\033[23;8~"), // cursor Shift+Ctrl+Alt+F11 }, }, { "F12", sizeof("F12") - 1, { KH("\033[24~"), // default F12 KH("\033[24;3~"), // default Alt+F12 KH("\033[24;5~"), // default Ctrl+F12 KH("\033[24;7~"), // default Ctrl+Alt+F12 KH("\033[24;2~"), // default Shift+F12 KH("\033[24;4~"), // default Shift+Alt+F12 KH("\033[24;6~"), // default Shift+Ctrl+F12 KH("\033[24;8~"), // default Shift+Ctrl+Alt+F12 }, { KH("\033[24~"), // cursor F12 KH("\033[24;3~"), // cursor Alt+F12 KH("\033[24;5~"), // cursor Ctrl+F12 KH("\033[24;7~"), // cursor Ctrl+Alt+F12 KH("\033[24;2~"), // cursor Shift+F12 KH("\033[24;4~"), // cursor Shift+Alt+F12 KH("\033[24;6~"), // cursor Shift+Ctrl+F12 KH("\033[24;8~"), // cursor Shift+Ctrl+Alt+F12 }, }, { "Left", sizeof("Left") - 1, { KH("\033[D"), // default Left KH("\033[1;3D"), // default Alt+Left KH("\033[1;5D"), // default Ctrl+Left KH("\033[1;7D"), // default Ctrl+Alt+Left KH("\033[1;2D"), // default Shift+Left KH("\033[1;4D"), // default Shift+Alt+Left KH("\033[1;6D"), // default Shift+Ctrl+Left KH("\033[1;8D"), // default Shift+Ctrl+Alt+Left }, { KH("\033OD"), // cursor Left KH("\033[1;3D"), // cursor Alt+Left KH("\033[1;5D"), // cursor Ctrl+Left KH("\033[1;7D"), // cursor Ctrl+Alt+Left KH("\033[1;2D"), // cursor Shift+Left KH("\033[1;4D"), // cursor Shift+Alt+Left KH("\033[1;6D"), // cursor Shift+Ctrl+Left KH("\033[1;8D"), // cursor Shift+Ctrl+Alt+Left }, }, { "Right", sizeof("Right") - 1, { KH("\033[C"), // default Right KH("\033[1;3C"), // default Alt+Right KH("\033[1;5C"), // default Ctrl+Right KH("\033[1;7C"), // default Ctrl+Alt+Right KH("\033[1;2C"), // default Shift+Right KH("\033[1;4C"), // default Shift+Alt+Right KH("\033[1;6C"), // default Shift+Ctrl+Right KH("\033[1;8C"), // default Shift+Ctrl+Alt+Right }, { KH("\033OC"), // cursor Right KH("\033[1;3C"), // cursor Alt+Right KH("\033[1;5C"), // cursor Ctrl+Right KH("\033[1;7C"), // cursor Ctrl+Alt+Right KH("\033[1;2C"), // cursor Shift+Right KH("\033[1;4C"), // cursor Shift+Alt+Right KH("\033[1;6C"), // cursor Shift+Ctrl+Right KH("\033[1;8C"), // cursor Shift+Ctrl+Alt+Right }, }, { "Up", sizeof("Up") - 1, { KH("\033[A"), // default Up KH("\033[1;3A"), // default Alt+Up KH("\033[1;5A"), // default Ctrl+Up KH("\033[1;7A"), // default Ctrl+Alt+Up KH("\033[1;2A"), // default Shift+Up KH("\033[1;4A"), // default Shift+Alt+Up {NULL, 0}, // default Shift+Ctrl+Up {NULL, 0}, // default Shift+Ctrl+Alt+Up }, { KH("\033OA"), // cursor Up KH("\033[1;3A"), // cursor Alt+Up KH("\033[1;5A"), // cursor Ctrl+Up KH("\033[1;7A"), // cursor Ctrl+Alt+Up KH("\033[1;2A"), // cursor Shift+Up KH("\033[1;4A"), // cursor Shift+Alt+Up {NULL, 0}, // cursor Shift+Ctrl+Up {NULL, 0}, // cursor Shift+Ctrl+Alt+Up }, }, { "Down", sizeof("Down") - 1, { KH("\033[B"), // default Down KH("\033[1;3B"), // default Alt+Down KH("\033[1;5B"), // default Ctrl+Down KH("\033[1;7B"), // default Ctrl+Alt+Down KH("\033[1;2B"), // default Shift+Down KH("\033[1;4B"), // default Shift+Alt+Down KH("\033[1;6B"), // default Shift+Ctrl+Down KH("\033[1;8B"), // default Shift+Ctrl+Alt+Down }, { KH("\033OB"), // cursor Down KH("\033[1;3B"), // cursor Alt+Down KH("\033[1;5B"), // cursor Ctrl+Down KH("\033[1;7B"), // cursor Ctrl+Alt+Down KH("\033[1;2B"), // cursor Shift+Down KH("\033[1;4B"), // cursor Shift+Alt+Down KH("\033[1;6B"), // cursor Shift+Ctrl+Down KH("\033[1;8B"), // cursor Shift+Ctrl+Alt+Down }, }, { "Home", sizeof("Home") - 1, { KH("\033[H"), // default Home KH("\033[1;3H"), // default Alt+Home KH("\033[1;5H"), // default Ctrl+Home KH("\033[1;7H"), // default Ctrl+Alt+Home KH("\033[1;2H"), // default Shift+Home KH("\033[1;4H"), // default Shift+Alt+Home KH("\033[1;6H"), // default Shift+Ctrl+Home KH("\033[1;8H"), // default Shift+Ctrl+Alt+Home }, { KH("\033OH"), // cursor Home KH("\033[1;3H"), // cursor Alt+Home KH("\033[1;5H"), // cursor Ctrl+Home KH("\033[1;7H"), // cursor Ctrl+Alt+Home KH("\033[1;2H"), // cursor Shift+Home KH("\033[1;4H"), // cursor Shift+Alt+Home KH("\033[1;6H"), // cursor Shift+Ctrl+Home KH("\033[1;8H"), // cursor Shift+Ctrl+Alt+Home }, }, { "End", sizeof("End") - 1, { KH("\033[F"), // default End KH("\033[1;3F"), // default Alt+End KH("\033[1;5F"), // default Ctrl+End KH("\033[1;7F"), // default Ctrl+Alt+End KH("\033[1;2F"), // default Shift+End KH("\033[1;4F"), // default Shift+Alt+End KH("\033[1;6F"), // default Shift+Ctrl+End KH("\033[1;8F"), // default Shift+Ctrl+Alt+End }, { KH("\033OF"), // cursor End KH("\033[1;3F"), // cursor Alt+End KH("\033[1;5F"), // cursor Ctrl+End KH("\033[1;7F"), // cursor Ctrl+Alt+End KH("\033[1;2F"), // cursor Shift+End KH("\033[1;4F"), // cursor Shift+Alt+End KH("\033[1;6F"), // cursor Shift+Ctrl+End KH("\033[1;8F"), // cursor Shift+Ctrl+Alt+End }, }, { "Insert", sizeof("Insert") - 1, { KH("\033[2~"), // default Insert KH("\033[2;3~"), // default Alt+Insert KH("\033[2;5~"), // default Ctrl+Insert KH("\033[2;7~"), // default Ctrl+Alt+Insert KH("\033[2;2~"), // default Shift+Insert KH("\033[2;4~"), // default Shift+Alt+Insert KH("\033[2;6~"), // default Shift+Ctrl+Insert KH("\033[2;8~"), // default Shift+Ctrl+Alt+Insert }, { KH("\033[2~"), // cursor Insert KH("\033[2;3~"), // cursor Alt+Insert KH("\033[2;5~"), // cursor Ctrl+Insert KH("\033[2;7~"), // cursor Ctrl+Alt+Insert KH("\033[2;2~"), // cursor Shift+Insert KH("\033[2;4~"), // cursor Shift+Alt+Insert KH("\033[2;6~"), // cursor Shift+Ctrl+Insert KH("\033[2;8~"), // cursor Shift+Ctrl+Alt+Insert }, }, { "Delete", sizeof("Delete") - 1, { KH("\033[3~"), // default Delete KH("\033[3;3~"), // default Alt+Delete KH("\033[3;5~"), // default Ctrl+Delete KH("\033[3;7~"), // default Ctrl+Alt+Delete KH("\033[3;2~"), // default Shift+Delete KH("\033[3;4~"), // default Shift+Alt+Delete KH("\033[3;6~"), // default Shift+Ctrl+Delete KH("\033[3;8~"), // default Shift+Ctrl+Alt+Delete }, { KH("\033[3~"), // cursor Delete KH("\033[3;3~"), // cursor Alt+Delete KH("\033[3;5~"), // cursor Ctrl+Delete KH("\033[3;7~"), // cursor Ctrl+Alt+Delete KH("\033[3;2~"), // cursor Shift+Delete KH("\033[3;4~"), // cursor Shift+Alt+Delete KH("\033[3;6~"), // cursor Shift+Ctrl+Delete KH("\033[3;8~"), // cursor Shift+Ctrl+Alt+Delete }, }, { "Prior", sizeof("Prior") - 1, { KH("\033[5~"), // default Prior KH("\033[5;3~"), // default Alt+Prior KH("\033[5;5~"), // default Ctrl+Prior KH("\033[5;7~"), // default Ctrl+Alt+Prior KH("\033[5;2~"), // default Shift+Prior KH("\033[5;4~"), // default Shift+Alt+Prior KH("\033[5;6~"), // default Shift+Ctrl+Prior KH("\033[5;8~"), // default Shift+Ctrl+Alt+Prior }, { KH("\033[5~"), // cursor Prior KH("\033[5;3~"), // cursor Alt+Prior KH("\033[5;5~"), // cursor Ctrl+Prior KH("\033[5;7~"), // cursor Ctrl+Alt+Prior KH("\033[5;2~"), // cursor Shift+Prior KH("\033[5;4~"), // cursor Shift+Alt+Prior KH("\033[5;6~"), // cursor Shift+Ctrl+Prior KH("\033[5;8~"), // cursor Shift+Ctrl+Alt+Prior }, }, { "Next", sizeof("Next") - 1, { KH("\033[6~"), // default Next KH("\033[6;3~"), // default Alt+Next KH("\033[6;5~"), // default Ctrl+Next KH("\033[6;7~"), // default Ctrl+Alt+Next KH("\033[6;2~"), // default Shift+Next KH("\033[6;4~"), // default Shift+Alt+Next KH("\033[6;6~"), // default Shift+Ctrl+Next KH("\033[6;8~"), // default Shift+Ctrl+Alt+Next }, { KH("\033[6~"), // cursor Next KH("\033[6;3~"), // cursor Alt+Next KH("\033[6;5~"), // cursor Ctrl+Next KH("\033[6;7~"), // cursor Ctrl+Alt+Next KH("\033[6;2~"), // cursor Shift+Next KH("\033[6;4~"), // cursor Shift+Alt+Next KH("\033[6;6~"), // cursor Shift+Ctrl+Next KH("\033[6;8~"), // cursor Shift+Ctrl+Alt+Next }, }, { "ISO_Left_Tab", sizeof("ISO_Left_Tab") - 1, { KH("\t"), // default Tab KH("\x89"), // default Alt+Tab KH("\t"), // default Ctrl+Tab KH("\x89"), // default Ctrl+Alt+Tab KH("\033[Z"), // default Shift+Tab KH("\033[Z"), // default Shift+Alt+Tab KH("\033[Z"), // default Shift+Ctrl+Tab KH("\033[Z"), // default Shift+Ctrl+Alt+Tab }, { KH("\t"), // cursor Tab KH("\x89"), // cursor Alt+Tab KH("\t"), // cursor Ctrl+Tab KH("\x89"), // cursor Ctrl+Alt+Tab KH("\033[Z"), // cursor Shift+Tab KH("\033[Z"), // cursor Shift+Alt+Tab KH("\033[Z"), // cursor Shift+Ctrl+Tab KH("\033[Z"), // cursor Shift+Ctrl+Alt+Tab }, }, { "Tab", sizeof("Tab") - 1, { KH("\t"), // default Tab KH("\x89"), // default Alt+Tab KH("\t"), // default Ctrl+Tab KH("\x89"), // default Ctrl+Alt+Tab KH("\033[Z"), // default Shift+Tab KH("\033[Z"), // default Shift+Alt+Tab KH("\033[Z"), // default Shift+Ctrl+Tab KH("\033[Z"), // default Shift+Ctrl+Alt+Tab }, { KH("\t"), // cursor Tab KH("\x89"), // cursor Alt+Tab KH("\t"), // cursor Ctrl+Tab KH("\x89"), // cursor Ctrl+Alt+Tab KH("\033[Z"), // cursor Shift+Tab KH("\033[Z"), // cursor Shift+Alt+Tab KH("\033[Z"), // cursor Shift+Ctrl+Tab KH("\033[Z"), // cursor Shift+Ctrl+Alt+Tab }, }, { "minus", sizeof("minus") - 1, { KH("-"), // default minus KH("\033-"), // default Alt+minus KH("\x1f"), // default Ctrl+minus KH("\033-"), // default Ctrl+Alt+minus KH("_"), // default Shift+minus KH("\xdf"), // default Shift+Alt+minus KH("\x1f"), // default Shift+Ctrl+minus KH("\x9f"), // default Shift+Ctrl+Alt+minus }, { KH("-"), // cursor minus KH("\033-"), // cursor Alt+minus KH("\x1f"), // cursor Ctrl+minus KH("\033-"), // cursor Ctrl+Alt+minus KH("_"), // cursor Shift+minus KH("\xdf"), // cursor Shift+Alt+minus KH("\x1f"), // cursor Shift+Ctrl+minus KH("\x9f"), // cursor Shift+Ctrl+Alt+minus }, }, { "underscore", sizeof("underscore") - 1, { KH("_"), // default underscore KH("\033_"), // default Alt+underscore KH("\x1f"), // default Ctrl+underscore KH("\x9f"), // default Ctrl+Alt+underscore KH("_"), // default Shift+underscore KH("\033_"), // default Shift+Alt+underscore KH("\x1f"), // default Shift+Ctrl+underscore KH("\x9f"), // default Shift+Ctrl+Alt+underscore }, { KH("_"), // cursor underscore KH("\033_"), // cursor Alt+underscore KH("\x1f"), // cursor Ctrl+underscore KH("\x9f"), // cursor Ctrl+Alt+underscore KH("_"), // cursor Shift+underscore KH("\033_"), // cursor Shift+Alt+underscore KH("\x1f"), // cursor Shift+Ctrl+underscore KH("\x9f"), // cursor Shift+Ctrl+Alt+underscore }, }, { "space", sizeof("space") - 1, { KH(" "), // default space KH("\xa0"), // default Alt+space KH("\0"), // default Ctrl+space KH("\x80"), // default Ctrl+Alt+space KH(" "), // default Shift+space KH("\xa0"), // default Shift+Alt+space KH("\0"), // default Shift+Ctrl+space KH("\x80"), // default Shift+Ctrl+Alt+space }, { KH(" "), // cursor space KH("\xa0"), // cursor Alt+space KH("\0"), // cursor Ctrl+space KH("\x80"), // cursor Ctrl+Alt+space KH(" "), // cursor Shift+space KH("\xa0"), // cursor Shift+Alt+space KH("\0"), // cursor Shift+Ctrl+space KH("\x80"), // cursor Shift+Ctrl+Alt+space }, }, { "Menu", sizeof("Menu") - 1, { KH("\033[29~"), // default Menu KH("\033[29;3~"), // default Alt+Menu KH("\033[29;5~"), // default Ctrl+Menu KH("\033[29;7~"), // default Ctrl+Alt+Menu KH("\033[29;2~"), // default Shift+Menu KH("\033[29;4~"), // default Shift+Alt+Menu KH("\033[29;6~"), // default Shift+Ctrl+Menu KH("\033[29;8~"), // default Shift+Ctrl+Alt+Menu }, { KH("\033[29~"), // cursor Menu KH("\033[29;3~"), // cursor Alt+Menu KH("\033[29;5~"), // cursor Ctrl+Menu KH("\033[29;7~"), // cursor Ctrl+Alt+Menu KH("\033[29;2~"), // cursor Shift+Menu KH("\033[29;4~"), // cursor Shift+Alt+Menu KH("\033[29;6~"), // cursor Shift+Ctrl+Menu KH("\033[29;8~"), // cursor Shift+Ctrl+Alt+Menu }, }, { "Find", sizeof("Find") - 1, { KH("\033[1~"), // default Find KH("\033[1;3~"), // default Alt+Find KH("\033[1;5~"), // default Ctrl+Find KH("\033[1;7~"), // default Ctrl+Alt+Find KH("\033[1;2~"), // default Shift+Find KH("\033[1;4~"), // default Shift+Alt+Find KH("\033[1;6~"), // default Shift+Ctrl+Find KH("\033[1;8~"), // default Shift+Ctrl+Alt+Find }, { KH("\033[1~"), // cursor Find KH("\033[1;3~"), // cursor Alt+Find KH("\033[1;5~"), // cursor Ctrl+Find KH("\033[1;7~"), // cursor Ctrl+Alt+Find KH("\033[1;2~"), // cursor Shift+Find KH("\033[1;4~"), // cursor Shift+Alt+Find KH("\033[1;6~"), // cursor Shift+Ctrl+Find KH("\033[1;8~"), // cursor Shift+Ctrl+Alt+Find }, }, { "Help", sizeof("Help") - 1, { KH("\033[28~"), // cursor Help KH("\033[28;3~"), // default Alt+Help KH("\033[28;5~"), // default Ctrl+Help KH("\033[28;7~"), // default Ctrl+Alt+Help KH("\033[28;2~"), // default Shift+Help KH("\033[28;4~"), // default Shift+Alt+Help KH("\033[28;6~"), // default Shift+Ctrl+Help KH("\033[28;8~"), // default Shift+Ctrl+Alt+Help }, { KH("\033[28~"), // cursor Help KH("\033[28;3~"), // cursor Alt+Help KH("\033[28;5~"), // cursor Ctrl+Help KH("\033[28;7~"), // cursor Ctrl+Alt+Help KH("\033[28;2~"), // cursor Shift+Help KH("\033[28;4~"), // cursor Shift+Alt+Help KH("\033[28;6~"), // cursor Shift+Ctrl+Help KH("\033[28;8~"), // cursor Shift+Ctrl+Alt+Help }, }, { "Execute", sizeof("Execute") - 1, { KH("\033[3~"), // default Execute KH("\033[3;3~"), // default Alt+Execute KH("\033[3;5~"), // default Ctrl+Execute KH("\033[3;7~"), // default Ctrl+Alt+Execute KH("\033[3;2~"), // default Shift+Execute KH("\033[3;4~"), // default Shift+Alt+Execute KH("\033[3;6~"), // default Shift+Ctrl+Execute KH("\033[3;8~"), // default Shift+Ctrl+Alt+Execute }, { KH("\033[3~"), // cursor Execute KH("\033[3;3~"), // cursor Alt+Execute KH("\033[3;5~"), // cursor Ctrl+Execute KH("\033[3;7~"), // cursor Ctrl+Alt+Execute KH("\033[3;2~"), // cursor Shift+Execute KH("\033[3;4~"), // cursor Shift+Alt+Execute KH("\033[3;6~"), // cursor Shift+Ctrl+Execute KH("\033[3;8~"), // cursor Shift+Ctrl+Alt+Execute }, }, { "Select", sizeof("Select") - 1, { KH("\033[4~"), // default Select KH("\033[4;3~"), // default Alt+Select KH("\033[4;5~"), // default Ctrl+Select KH("\033[4;7~"), // default Ctrl+Alt+Select KH("\033[4;2~"), // default Shift+Select KH("\033[4;4~"), // default Shift+Alt+Select KH("\033[4;6~"), // default Shift+Ctrl+Select KH("\033[4;8~"), // default Shift+Ctrl+Alt+Select }, { KH("\033[4~"), // cursor Select KH("\033[4;3~"), // cursor Alt+Select KH("\033[4;5~"), // cursor Ctrl+Select KH("\033[4;7~"), // cursor Ctrl+Alt+Select KH("\033[4;2~"), // cursor Shift+Select KH("\033[4;4~"), // cursor Shift+Alt+Select KH("\033[4;6~"), // cursor Shift+Ctrl+Select KH("\033[4;8~"), // cursor Shift+Ctrl+Alt+Select }, }, }; static const Tty_Key tty_keys_kp_plain[] = { { "KP_Up", sizeof("KP_Up") - 1, { KH("\033[A"), // default KP_Up KH("\033[A"), // default Alt+KP_Up KH("\033[A"), // default Ctrl+KP_Up KH("\033[A"), // default Ctrl+Alt+KP_Up KH("8"), // default Shift+KP_Up KH("8"), // default Shift+Alt+KP_Up KH("8"), // default Shift+Ctrl+KP_Up KH("8"), // default Shift+Ctrl+Alt+KP_Up }, { KH("\033OA"), // cursor KP_Up KH("\033OA"), // cursor Alt+KP_Up KH("\033OA"), // cursor Ctrl+KP_Up KH("\033OA"), // cursor Ctrl+Alt+KP_Up KH("8"), // cursor Shift+KP_Up KH("8"), // cursor Shift+Alt+KP_Up KH("8"), // cursor Shift+Ctrl+KP_Up KH("8"), // cursor Shift+Ctrl+Alt+KP_Up }, }, { "KP_Down", sizeof("KP_Down") - 1, { KH("\033[B"), // default KP_Down KH("\033[B"), // default Alt+KP_Down KH("\033[B"), // default Ctrl+KP_Down KH("\033[B"), // default Ctrl+Alt+KP_Down KH("2"), // default Shift+KP_Down KH("2"), // default Shift+Alt+KP_Down KH("2"), // default Shift+Ctrl+KP_Down KH("2"), // default Shift+Ctrl+Alt+KP_Down }, { KH("\033OB"), // cursor KP_Down KH("\033OB"), // cursor Alt+KP_Down KH("\033OB"), // cursor Ctrl+KP_Down KH("\033OB"), // cursor Ctrl+Alt+KP_Down KH("2"), // cursor Shift+KP_Down KH("2"), // cursor Shift+Alt+KP_Down KH("2"), // cursor Shift+Ctrl+KP_Down KH("2"), // cursor Shift+Ctrl+Alt+KP_Down }, }, { "KP_Right", sizeof("KP_Right") - 1, { KH("\033[C"), // default KP_Right KH("\033[C"), // default Alt+KP_Right KH("\033[C"), // default Ctrl+KP_Right KH("\033[C"), // default Ctrl+Alt+KP_Right KH("6"), // default Shift+KP_Right KH("6"), // default Shift+Alt+KP_Right KH("6"), // default Shift+Ctrl+KP_Right KH("6"), // default Shift+Ctrl+Alt+KP_Right }, { KH("\033OC"), // cursor KP_Right KH("\033OC"), // cursor Alt+KP_Right KH("\033OC"), // cursor Ctrl+KP_Right KH("\033OC"), // cursor Ctrl+Alt+KP_Right KH("6"), // cursor Shift+KP_Right KH("6"), // cursor Shift+Alt+KP_Right KH("6"), // cursor Shift+Ctrl+KP_Right KH("6"), // cursor Shift+Ctrl+Alt+KP_Right }, }, { "KP_Left", sizeof("KP_Left") - 1, { KH("\033[D"), // default KP_Left KH("\033[D"), // default Alt+KP_Left KH("\033[D"), // default Ctrl+KP_Left KH("\033[D"), // default Ctrl+Alt+KP_Left KH("4"), // default Shift+KP_Left KH("4"), // default Shift+Alt+KP_Left KH("4"), // default Shift+Ctrl+KP_Left KH("4"), // default Shift+Ctrl+Alt+KP_Left }, { KH("\033OD"), // cursor KP_Left KH("\033OD"), // cursor Alt+KP_Left KH("\033OD"), // cursor Ctrl+KP_Left KH("\033OD"), // cursor Ctrl+Alt+KP_Left KH("4"), // cursor Shift+KP_Left KH("4"), // cursor Shift+Alt+KP_Left KH("4"), // cursor Shift+Ctrl+KP_Left KH("4"), // cursor Shift+Ctrl+Alt+KP_Left }, }, { "KP_Insert", sizeof("KP_Insert") - 1, { KH("\033[2~"), // default KP_Insert KH("\033[2;3~"), // default Alt+KP_Insert KH("\033[2;5~"), // default Ctrl+KP_Insert KH("\033[2;7~"), // default Ctrl+Alt+KP_Insert KH("\033[2;2~"), // default Shift+KP_Insert KH("\033[2;4~"), // default Shift+Alt+KP_Insert KH("\033[2;6~"), // default Shift+Ctrl+KP_Insert KH("\033[2;8~"), // default Shift+Ctrl+Alt+KP_Insert }, { KH("\033[2~"), // cursor KP_Insert KH("\033[2;3~"), // cursor Alt+KP_Insert KH("\033[2;5~"), // cursor Ctrl+KP_Insert KH("\033[2;7~"), // cursor Ctrl+Alt+KP_Insert KH("\033[2;2~"), // cursor Shift+KP_Insert KH("\033[2;4~"), // cursor Shift+Alt+KP_Insert KH("\033[2;6~"), // cursor Shift+Ctrl+KP_Insert KH("\033[2;8~"), // cursor Shift+Ctrl+Alt+KP_Insert }, }, { "KP_Delete", sizeof("KP_Delete") - 1, { KH("\033[3~"), // default KP_Delete KH("\033[3;3~"), // default Alt+KP_Delete KH("\033[3;5~"), // default Ctrl+KP_Delete KH("\033[3;7~"), // default Ctrl+Alt+KP_Delete KH("."), // default Shift+KP_Delete KH("."), // default Shift+Alt+KP_Delete KH("."), // default Shift+Ctrl+KP_Delete KH("."), // default Shift+Ctrl+Alt+KP_Delete }, { KH("\033[3~"), // cursor KP_Delete KH("\033[3;3~"), // cursor Alt+KP_Delete KH("\033[3;5~"), // cursor Ctrl+KP_Delete KH("\033[3;7~"), // cursor Ctrl+Alt+KP_Delete KH("."), // cursor Shift+KP_Delete KH("."), // cursor Shift+Alt+KP_Delete KH("."), // cursor Shift+Ctrl+KP_Delete KH("."), // cursor Shift+Ctrl+Alt+KP_Delete }, }, { "KP_Home", sizeof("KP_Home") - 1, { KH("\033[H"), // default KP_Home KH("\033[H"), // default Alt+KP_Home KH("\033[H"), // default Ctrl+KP_Home KH("\033[H"), // default Ctrl+Alt+KP_Home KH("\033[H"), // default Shift+KP_Home KH("\033[H"), // default Shift+Alt+KP_Home KH("\033[H"), // default Shift+Ctrl+KP_Home KH("\033[H"), // default Shift+Ctrl+Alt+KP_Home }, { KH("\033OH"), // cursor KP_Home KH("\033OH"), // cursor Alt+KP_Home KH("\033OH"), // cursor Ctrl+KP_Home KH("\033OH"), // cursor Ctrl+Alt+KP_Home KH("\033OH"), // cursor Shift+KP_Home KH("\033OH"), // cursor Shift+Alt+KP_Home KH("\033OH"), // cursor Shift+Ctrl+KP_Home KH("\033OH"), // cursor Shift+Ctrl+Alt+KP_Home }, }, { "KP_Prior", sizeof("KP_Prior") - 1, { KH("\033[5~"), // default KP_Prior KH("\033[5~"), // default Alt+KP_Prior KH("\033[5~"), // default Ctrl+KP_Prior KH("\033[5~"), // default Ctrl+Alt+KP_Prior KH("\033[5~"), // default Shift+KP_Prior KH("\033[5~"), // default Shift+Alt+KP_Prior KH("\033[5~"), // default Shift+Ctrl+KP_Prior KH("\033[5~"), // default Shift+Ctrl+Alt+KP_Prior }, { KH("\033[5~"), // cursor KP_Prior KH("\033[5~"), // cursor Alt+KP_Prior KH("\033[5~"), // cursor Ctrl+KP_Prior KH("\033[5~"), // cursor Ctrl+Alt+KP_Prior KH("\033[5~"), // cursor Shift+KP_Prior KH("\033[5~"), // cursor Shift+Alt+KP_Prior KH("\033[5~"), // cursor Shift+Ctrl+KP_Prior KH("\033[5~"), // cursor Shift+Ctrl+Alt+KP_Prior }, }, { "KP_Next", sizeof("KP_Next") - 1, { KH("\033[6~"), // default KP_Next KH("\033[6~"), // default Alt+KP_Next KH("\033[6~"), // default Ctrl+KP_Next KH("\033[6~"), // default Ctrl+Alt+KP_Next KH("\033[6~"), // default Shift+KP_Next KH("\033[6~"), // default Shift+Alt+KP_Next KH("\033[6~"), // default Shift+Ctrl+KP_Next KH("\033[6~"), // default Shift+Ctrl+Alt+KP_Next }, { KH("\033[6~"), // cursor KP_Next KH("\033[6~"), // cursor Alt+KP_Next KH("\033[6~"), // cursor Ctrl+KP_Next KH("\033[6~"), // cursor Ctrl+Alt+KP_Next KH("\033[6~"), // cursor Shift+KP_Next KH("\033[6~"), // cursor Shift+Alt+KP_Next KH("\033[6~"), // cursor Shift+Ctrl+KP_Next KH("\033[6~"), // cursor Shift+Ctrl+Alt+KP_Next }, }, { "KP_Begin", sizeof("KP_Begin") - 1, { KH("\033[E"), // default KP_Begin KH("\033[E"), // default Alt+KP_Begin KH("\033[E"), // default Ctrl+KP_Begin KH("\033[E"), // default Ctrl+Alt+KP_Begin KH("5"), // default Shift+KP_Begin KH("5"), // default Shift+Alt+KP_Begin KH("5"), // default Shift+Ctrl+KP_Begin KH("5"), // default Shift+Ctrl+Alt+KP_Begin }, { KH("\033OE"), // cursor KP_Begin KH("\033OE"), // cursor Alt+KP_Begin KH("\033OE"), // cursor Ctrl+KP_Begin KH("\033OE"), // cursor Ctrl+Alt+KP_Begin KH("5"), // cursor Shift+KP_Begin KH("5"), // cursor Shift+Alt+KP_Begin KH("5"), // cursor Shift+Ctrl+KP_Begin KH("5"), // cursor Shift+Ctrl+Alt+KP_Begin }, }, { "KP_End", sizeof("KP_End") - 1, { KH("\033[F"), // default KP_End KH("\033[F"), // default Alt+KP_End KH("\033[F"), // default Ctrl+KP_End KH("\033[F"), // default Ctrl+Alt+KP_End KH("\033[F"), // default Shift+KP_End KH("\033[F"), // default Shift+Alt+KP_End KH("\033[F"), // default Shift+Ctrl+KP_End KH("\033[F"), // default Shift+Ctrl+Alt+KP_End }, { KH("\033OF"), // cursor KP_End KH("\033OF"), // cursor Alt+KP_End KH("\033OF"), // cursor Ctrl+KP_End KH("\033OF"), // cursor Ctrl+Alt+KP_End KH("\033OF"), // cursor Shift+KP_End KH("\033OF"), // cursor Shift+Alt+KP_End KH("\033OF"), // cursor Shift+Ctrl+KP_End KH("\033OF"), // cursor Shift+Ctrl+Alt+KP_End }, }, }; static const Tty_Key tty_keys_kp_app[] = { { "KP_Up", sizeof("KP_Up") - 1, { KH("\033[A"), // default KP_Up KH("\033[1;3A"), // default Alt+KP_Up KH("\033[1;5A"), // default Ctrl+KP_Up KH("\033[1;7A"), // default Ctrl+Alt+KP_Up KH("\033O2x"), // default Shift+KP_Up KH("\033O4x"), // default Shift+Alt+KP_Up KH("\033O6x"), // default Shift+Ctrl+KP_Up KH("\033O8x"), // default Shift+Ctrl+Alt+KP_Up }, { KH("\033OA"), // cursor KP_Up KH("\033[1;3A"), // cursor Alt+KP_Up KH("\033[1;5A"), // cursor Ctrl+KP_Up KH("\033[1;7A"), // cursor Ctrl+Alt+KP_Up KH("\033O2x"), // cursor Shift+KP_Up KH("\033O4x"), // cursor Shift+Alt+KP_Up KH("\033O6x"), // cursor Shift+Ctrl+KP_Up KH("\033O8x"), // cursor Shift+Ctrl+Alt+KP_Up }, }, { "KP_Down", sizeof("KP_Down") - 1, { KH("\033[B"), // default KP_Down KH("\033[1;3B"), // default Alt+KP_Down KH("\033[1;5B"), // default Ctrl+KP_Down KH("\033[1;7B"), // default Ctrl+Alt+KP_Down KH("\033O2r"), // default Shift+KP_Down KH("\033O4r"), // default Shift+Alt+KP_Down KH("\033O6r"), // default Shift+Ctrl+KP_Down KH("\033O8r"), // default Shift+Ctrl+Alt+KP_Down }, { KH("\033OB"), // cursor KP_Down KH("\033[1;3B"), // cursor Alt+KP_Down KH("\033[1;5B"), // cursor Ctrl+KP_Down KH("\033[1;7B"), // cursor Ctrl+Alt+KP_Down KH("\033O2r"), // cursor Shift+KP_Down KH("\033O4r"), // cursor Shift+Alt+KP_Down KH("\033O6r"), // cursor Shift+Ctrl+KP_Down KH("\033O8r"), // cursor Shift+Ctrl+Alt+KP_Down }, }, { "KP_Right", sizeof("KP_Right") - 1, { KH("\033[C"), // default KP_Right KH("\033[1;3C"), // default Alt+KP_Right KH("\033[1;5C"), // default Ctrl+KP_Right KH("\033[1;7C"), // default Ctrl+Alt+KP_Right KH("\033O2v"), // default Shift+KP_Right KH("\033O4v"), // default Shift+Alt+KP_Right KH("\033O6v"), // default Shift+Ctrl+KP_Right KH("\033O8v"), // default Shift+Ctrl+Alt+KP_Right }, { KH("\033OC"), // cursor KP_Right KH("\033[1;3C"), // cursor Alt+KP_Right KH("\033[1;5C"), // cursor Ctrl+KP_Right KH("\033[1;7C"), // cursor Ctrl+Alt+KP_Right KH("\033O2v"), // cursor Shift+KP_Right KH("\033O4v"), // cursor Shift+Alt+KP_Right KH("\033O6v"), // cursor Shift+Ctrl+KP_Right KH("\033O8v"), // cursor Shift+Ctrl+Alt+KP_Right }, }, { "KP_Left", sizeof("KP_Left") - 1, { KH("\033[D"), // default KP_Left KH("\033[1;3D"), // default Alt+KP_Left KH("\033[1;5D"), // default Ctrl+KP_Left KH("\033[1;7D"), // default Ctrl+Alt+KP_Left KH("\033O2t"), // default Shift+KP_Left KH("\033O4t"), // default Shift+Alt+KP_Left KH("\033O6t"), // default Shift+Ctrl+KP_Left KH("\033O8t"), // default Shift+Ctrl+Alt+KP_Left }, { KH("\033OD"), // cursor KP_Left KH("\033[1;3D"), // cursor Alt+KP_Left KH("\033[1;5D"), // cursor Ctrl+KP_Left KH("\033[1;7D"), // cursor Ctrl+Alt+KP_Left KH("\033O2t"), // cursor Shift+KP_Left KH("\033O4t"), // cursor Shift+Alt+KP_Left KH("\033O6t"), // cursor Shift+Ctrl+KP_Left KH("\033O8t"), // cursor Shift+Ctrl+Alt+KP_Left }, }, { "KP_Insert", sizeof("KP_Insert") - 1, { KH("\033[2~"), // default KP_Insert KH("\033[2;3~"), // default Alt+KP_Insert KH("\033[2;5~"), // default Ctrl+KP_Insert KH("\033[2;7~"), // default Ctrl+Alt+KP_Insert KH("\033[2;2~"), // default Shift+KP_Insert KH("\033[2;4~"), // default Shift+Alt+KP_Insert KH("\033[2;6~"), // default Shift+Ctrl+KP_Insert KH("\033[2;8~"), // default Shift+Ctrl+Alt+KP_Insert }, { KH("\033[2~"), // cursor KP_Insert KH("\033[2;3~"), // cursor Alt+KP_Insert KH("\033[2;5~"), // cursor Ctrl+KP_Insert KH("\033[2;7~"), // cursor Ctrl+Alt+KP_Insert KH("\033[2;2~"), // cursor Shift+KP_Insert KH("\033[2;4~"), // cursor Shift+Alt+KP_Insert KH("\033[2;6~"), // cursor Shift+Ctrl+KP_Insert KH("\033[2;8~"), // cursor Shift+Ctrl+Alt+KP_Insert }, }, { "KP_Delete", sizeof("KP_Delete") - 1, { KH("\033[3~"), // default KP_Delete KH("\033[3;3~"), // default Alt+KP_Delete KH("\033[3;5~"), // default Ctrl+KP_Delete KH("\033[3;7~"), // default Ctrl+Alt+KP_Delete KH("\033O2n"), // default Shift+KP_Delete KH("\033O4n"), // default Shift+Alt+KP_Delete KH("\033O6n"), // default Shift+Ctrl+KP_Delete KH("\033O8n"), // default Shift+Ctrl+Alt+KP_Delete }, { KH("\033[3~"), // cursor KP_Delete KH("\033[3;3~"), // cursor Alt+KP_Delete KH("\033[3;5~"), // cursor Ctrl+KP_Delete KH("\033[3;7~"), // cursor Ctrl+Alt+KP_Delete KH("\033O2n"), // cursor Shift+KP_Delete KH("\033O4n"), // cursor Shift+Alt+KP_Delete KH("\033O6n"), // cursor Shift+Ctrl+KP_Delete KH("\033O8n"), // cursor Shift+Ctrl+Alt+KP_Delete }, }, { "KP_Home", sizeof("KP_Home") - 1, { KH("\033[H"), // default KP_Home KH("\033[1;3H"), // default Alt+KP_Home KH("\033[1;5H"), // default Ctrl+KP_Home KH("\033[1;7H"), // default Ctrl+Alt+KP_Home KH("\033[1;2H"), // default Shift+KP_Home KH("\033[1;4H"), // default Shift+Alt+KP_Home KH("\033[1;6H"), // default Shift+Ctrl+KP_Home KH("\033[1;8H"), // default Shift+Ctrl+Alt+KP_Home }, { KH("\033OH"), // cursor KP_Home KH("\033[1;3H"), // cursor Alt+KP_Home KH("\033[1;5H"), // cursor Ctrl+KP_Home KH("\033[1;7H"), // cursor Ctrl+Alt+KP_Home KH("\033[1;2H"), // cursor Shift+KP_Home KH("\033[1;4H"), // cursor Shift+Alt+KP_Home KH("\033[1;6H"), // cursor Shift+Ctrl+KP_Home KH("\033[1;8H"), // cursor Shift+Ctrl+Alt+KP_Home }, }, { "KP_Prior", sizeof("KP_Prior") - 1, { KH("\033[5~"), // default KP_Prior KH("\033[5;3~"), // default Alt+KP_Prior KH("\033[5;5~"), // default Ctrl+KP_Prior KH("\033[5;7~"), // default Ctrl+Alt+KP_Prior KH("\033[5;2~"), // default Shift+KP_Prior KH("\033[5;4~"), // default Shift+Alt+KP_Prior KH("\033[5;6~"), // default Shift+Ctrl+KP_Prior KH("\033[5;8~"), // default Shift+Ctrl+Alt+KP_Prior }, { KH("\033[5~"), // cursor KP_Prior KH("\033[5;3~"), // cursor Alt+KP_Prior KH("\033[5;5~"), // cursor Ctrl+KP_Prior KH("\033[5;7~"), // cursor Ctrl+Alt+KP_Prior KH("\033[5;2~"), // cursor Shift+KP_Prior KH("\033[5;4~"), // cursor Shift+Alt+KP_Prior KH("\033[5;6~"), // cursor Shift+Ctrl+KP_Prior KH("\033[5;8~"), // cursor Shift+Ctrl+Alt+KP_Prior }, }, { "KP_Next", sizeof("KP_Next") - 1, { KH("\033[6~"), // default KP_Next KH("\033[6;3~"), // default Alt+KP_Next KH("\033[6;5~"), // default Ctrl+KP_Next KH("\033[6;7~"), // default Ctrl+Alt+KP_Next KH("\033[6;2~"), // default Shift+KP_Next KH("\033[6;4~"), // default Shift+Alt+KP_Next KH("\033[6;6~"), // default Shift+Ctrl+KP_Next KH("\033[6;8~"), // default Shift+Ctrl+Alt+KP_Next }, { KH("\033[6~"), // cursor KP_Next KH("\033[6;3~"), // cursor Alt+KP_Next KH("\033[6;5~"), // cursor Ctrl+KP_Next KH("\033[6;7~"), // cursor Ctrl+Alt+KP_Next KH("\033[6;2~"), // cursor Shift+KP_Next KH("\033[6;4~"), // cursor Shift+Alt+KP_Next KH("\033[6;6~"), // cursor Shift+Ctrl+KP_Next KH("\033[6;8~"), // cursor Shift+Ctrl+Alt+KP_Next }, }, { "KP_Begin", sizeof("KP_Begin") - 1, { KH("\033[E"), // default KP_Begin KH("\033[1;3E"), // default Alt+KP_Begin KH("\033[1;5E"), // default Ctrl+KP_Begin KH("\033[1;7E"), // default Ctrl+Alt+KP_Begin KH("\033O2u"), // default Shift+KP_Begin KH("\033O4u"), // default Shift+Alt+KP_Begin KH("\033O6u"), // default Shift+Ctrl+KP_Begin KH("\033O8u"), // default Shift+Ctrl+Alt+KP_Begin }, { KH("\033OE"), // cursor KP_Begin KH("\033[1;3E"), // cursor Alt+KP_Begin KH("\033[1;5E"), // cursor Ctrl+KP_Begin KH("\033[1;7E"), // cursor Ctrl+Alt+KP_Begin KH("\033O2u"), // cursor Shift+KP_Begin KH("\033O4u"), // cursor Shift+Alt+KP_Begin KH("\033O6u"), // cursor Shift+Ctrl+KP_Begin KH("\033O8u"), // cursor Shift+Ctrl+Alt+KP_Begin }, }, { "KP_End", sizeof("KP_End") - 1, { KH("\033[F"), // default KP_End KH("\033[1;3F"), // default Alt+KP_End KH("\033[1;5F"), // default Ctrl+KP_End KH("\033[1;7F"), // default Ctrl+Alt+KP_End KH("\033[1;2F"), // default Shift+KP_End KH("\033[1;4F"), // default Shift+Alt+KP_End KH("\033[1;6F"), // default Shift+Ctrl+KP_End KH("\033[1;8F"), // default Shift+Ctrl+Alt+KP_End }, { KH("\033OF"), // cursor KP_End KH("\033[1;3F"), // cursor Alt+KP_End KH("\033[1;5F"), // cursor Ctrl+KP_End KH("\033[1;7F"), // cursor Ctrl+Alt+KP_End KH("\033[1;2F"), // cursor Shift+KP_End KH("\033[1;4F"), // cursor Shift+Alt+KP_End KH("\033[1;6F"), // cursor Shift+Ctrl+KP_End KH("\033[1;8F"), // cursor Shift+Ctrl+Alt+KP_End }, }, }; #undef KH