git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8380 c06c8d41-db1a-0410-9941-cceddc491573
ROROKJTHG3XEOBFC6UDPC24ZEWR2WHSROQIVTRJ6DEX4GVC7OPAAC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC PXXVAQBRZ2MPO5WWF66SRVFDZADJAOIBMBZK46DLNJZGN42UAWZAC GCIZIUXO5TYROKDUYB3HAY7H7MRDTJNM7HR7DGSH7KXDIZC2LCDAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 22RFWMSJGG26Z2MQEEXGKVTFSTLREHQIG46WYOTMDRKI5YVMRNVAC IIN7AVA6JYRBXH6ZYRR7BY7TV6PW7ANAQ2A3PD55FKBKKQFEEF2AC static void unixcurses_defkeys( void ){// keypad 0-9 (only if the "application mode" was successfully initialized)define_key("\033Op", 1000);define_key("\033Oq", 1001);define_key("\033Or", 1002);define_key("\033Os", 1003);define_key("\033Ot", 1004);define_key("\033Ou", 1005);define_key("\033Ov", 1006);define_key("\033Ow", 1007);define_key("\033Ox", 1008);define_key("\033Oy", 1009);
// non-arrow keypad keys (for macros)define_key("\033OM", 1010); // Enterdefine_key("\033OP", 1011); // NumLockdefine_key("\033OQ", 1012); // /define_key("\033OR", 1013); // *define_key("\033OS", 1014); // -define_key("\033Oj", 1015); // *define_key("\033Ok", 1016); // +define_key("\033Ol", 1017); // +define_key("\033Om", 1018); // .define_key("\033On", 1019); // .define_key("\033Oo", 1020); // -// variants. Ugly curses won't allow us to return the same code...define_key("\033[1~", 1031); // Homedefine_key("\033[4~", 1034); // Enddefine_key("\033[E", 1040); // center arrow}int unixcurses_get_vi_key(int keyin){switch(keyin){case 1001: return 'b';case 1002: return 'j';case 1003: return 'n';case 1004: return 'h';case 1005: return '5';case 1006: return 'l';case 1007: return 'y';case 1008: return 'k';case 1009: return 'u';case 1031: return 'y';case 1034: return 'b';case 1040: return '5';case KEY_HOME: return 'y';case KEY_END: return 'b';case KEY_DOWN: return 'j';case KEY_UP: return 'k';case KEY_LEFT: return 'h';case KEY_RIGHT: return 'l';case KEY_NPAGE: return 'n';case KEY_PPAGE: return 'u';case KEY_A1: return 'y';case KEY_A3: return 'u';case KEY_B2: return '5';case KEY_C1: return 'b';case KEY_C3: return 'n';case KEY_SHOME: return 'Y';case KEY_SEND: return 'B';case KEY_SLEFT: return 'H';case KEY_SRIGHT: return 'L';}return keyin;}// Certain terminals support vt100 keypad application mode only after some// extra goading.#define KPADAPP "\033[?1051l\033[?1052l\033[?1060l\033[?1061h"#define KPADCUR "\033[?1051l\033[?1052l\033[?1060l\033[?1061l"