#ifndef _KEYMAP_H #define _KEYMAP_H #if defined(__linux__) # include # include #elif defined(WIN32)||defined(__WIN32__)||defined(_MSC_VER) # include #endif #include #include // key codes typedef int RAVEN_KEY_CODE; #define RAVEN_KEY_LBUTTON 0x01 // Left mouse button #define RAVEN_KEY_RBUTTON 0x02 // Right mouse button #define RAVEN_KEY_CANCEL 0x03 // Control-break processing #define RAVEN_KEY_MBUTTON 0x04 // Middle mouse button (three-button mouse) #define RAVEN_KEY_XBUTTON1 0x05 // Windows 2000/XP: X1 mouse button #define RAVEN_KEY_XBUTTON2 0x06 // Windows 2000/XP: X2 mouse button #define RAVEN_KEY_BACK 0x08 // BACKSPACE key #define RAVEN_KEY_TAB 0x09 // TAB key #define RAVEN_KEY_CLEAR 0x0C // CLEAR key #define RAVEN_KEY_RETURN 0x0D // ENTER key #define RAVEN_KEY_SHIFT 0x10 // SHIFT key #define RAVEN_KEY_CONTROL 0x11 // CTRL key #define RAVEN_KEY_MENU 0x12 // ALT key #define RAVEN_KEY_PAUSE 0x13 // PAUSE key #define RAVEN_KEY_CAPITAL 0x14 // CAPS LOCK key #define RAVEN_KEY_KANA 0x15 // IME Kana mode #define RAVEN_KEY_HANGUEL 0x15 // IME Hanguel mode (maintained for compatibility use RAVEN_KEY_HANGUL) #define RAVEN_KEY_HANGUL 0x15 // IME Hangul mode #define RAVEN_KEY_JUNJA 0x17 // IME Junja mode #define RAVEN_KEY_FINAL 0x18 // IME final mode #define RAVEN_KEY_HANJA 0x19 // IME Hanja mode #define RAVEN_KEY_KANJI 0x19 // IME Kanji mode #define RAVEN_KEY_ESCAPE 0x1B // ESC key #define RAVEN_KEY_CONVERT 0x1C // IME convert #define RAVEN_KEY_NONCONVERT 0x1D // IME nonconvert #define RAVEN_KEY_ACCEPT 0x1E // IME accept #define RAVEN_KEY_MODECHANGE 0x1F // IME mode change request #define RAVEN_KEY_SPACE 0x20 // SPACEBAR #define RAVEN_KEY_PRIOR 0x21 // PAGE UP key #define RAVEN_KEY_NEXT 0x22 // PAGE DOWN key #define RAVEN_KEY_END 0x23 // END key #define RAVEN_KEY_HOME 0x24 // HOME key #define RAVEN_KEY_LEFT 0x25 // LEFT ARROW key #define RAVEN_KEY_UP 0x26 // UP ARROW key #define RAVEN_KEY_RIGHT 0x27 // RIGHT ARROW key #define RAVEN_KEY_DOWN 0x28 // DOWN ARROW key #define RAVEN_KEY_SELECT 0x29 // SELECT key #define RAVEN_KEY_PRINT 0x2A // PRINT key #define RAVEN_KEY_EXECUT 0x2B // EXECUTE key #define RAVEN_KEY_SNAPSHOT 0x2C // PRINT SCREEN key #define RAVEN_KEY_INSERT 0x2D // INS key #define RAVEN_KEY_DELETE 0x2E // DEL key #define RAVEN_KEY_HELP 0x2F // HELP key #define RAVEN_KEY_KEY_0 0x30 // 0 key #define RAVEN_KEY_KEY_1 0x31 // 1 key #define RAVEN_KEY_KEY_2 0x32 // 2 key #define RAVEN_KEY_KEY_3 0x33 // 3 key #define RAVEN_KEY_KEY_4 0x34 // 4 key #define RAVEN_KEY_KEY_5 0x35 // 5 key #define RAVEN_KEY_KEY_6 0x36 // 6 key #define RAVEN_KEY_KEY_7 0x37 // 7 key #define RAVEN_KEY_KEY_8 0x38 // 8 key #define RAVEN_KEY_KEY_9 0x39 // 9 key #define RAVEN_KEY_KEY_A 0x41 // A key #define RAVEN_KEY_KEY_B 0x42 // B key #define RAVEN_KEY_KEY_C 0x43 // C key #define RAVEN_KEY_KEY_D 0x44 // D key #define RAVEN_KEY_KEY_E 0x45 // E key #define RAVEN_KEY_KEY_F 0x46 // F key #define RAVEN_KEY_KEY_G 0x47 // G key #define RAVEN_KEY_KEY_H 0x48 // H key #define RAVEN_KEY_KEY_I 0x49 // I key #define RAVEN_KEY_KEY_J 0x4A // J key #define RAVEN_KEY_KEY_K 0x4B // K key #define RAVEN_KEY_KEY_L 0x4C // L key #define RAVEN_KEY_KEY_M 0x4D // M key #define RAVEN_KEY_KEY_N 0x4E // N key #define RAVEN_KEY_KEY_O 0x4F // O key #define RAVEN_KEY_KEY_P 0x50 // P key #define RAVEN_KEY_KEY_Q 0x51 // Q key #define RAVEN_KEY_KEY_R 0x52 // R key #define RAVEN_KEY_KEY_S 0x53 // S key #define RAVEN_KEY_KEY_T 0x54 // T key #define RAVEN_KEY_KEY_U 0x55 // U key #define RAVEN_KEY_KEY_V 0x56 // V key #define RAVEN_KEY_KEY_W 0x57 // W key #define RAVEN_KEY_KEY_X 0x58 // X key #define RAVEN_KEY_KEY_Y 0x59 // Y key #define RAVEN_KEY_KEY_Z 0x5A // Z key #define RAVEN_KEY_LSUPER 0x5B // Left Super (sometimes windows) key (Natural keyboard) #define RAVEN_KEY_RSUPER 0x5C // Left Super (sometimes windows) key (Natural keyboard) #define RAVEN_KEY_APPS 0x5D // Applications key (Natural keyboard) #define RAVEN_KEY_SLEEP 0x5F // Computer Sleep key #define RAVEN_KEY_NUMPAD0 0x60 // Numeric keypad 0 key #define RAVEN_KEY_NUMPAD1 0x61 // Numeric keypad 1 key #define RAVEN_KEY_NUMPAD2 0x62 // Numeric keypad 2 key #define RAVEN_KEY_NUMPAD3 0x63 // Numeric keypad 3 key #define RAVEN_KEY_NUMPAD4 0x64 // Numeric keypad 4 key #define RAVEN_KEY_NUMPAD5 0x65 // Numeric keypad 5 key #define RAVEN_KEY_NUMPAD6 0x66 // Numeric keypad 6 key #define RAVEN_KEY_NUMPAD7 0x67 // Numeric keypad 7 key #define RAVEN_KEY_NUMPAD8 0x68 // Numeric keypad 8 key #define RAVEN_KEY_NUMPAD9 0x69 // Numeric keypad 9 key #define RAVEN_KEY_MULTIPLY 0x6A // Multiply key #define RAVEN_KEY_ADD 0x6B // Add key #define RAVEN_KEY_SEPAOR 0x6C // Sepaor key #define RAVEN_KEY_SUBTRACT 0x6D // Subtract key #define RAVEN_KEY_DECIMAL 0x6E // Decimal key #define RAVEN_KEY_DIVIDE 0x6F // Divide key #define RAVEN_KEY_F1 0x70 // F1 key #define RAVEN_KEY_F2 0x71 // F2 key #define RAVEN_KEY_F3 0x72 // F3 key #define RAVEN_KEY_F4 0x73 // F4 key #define RAVEN_KEY_F5 0x74 // F5 key #define RAVEN_KEY_F6 0x75 // F6 key #define RAVEN_KEY_F7 0x76 // F7 key #define RAVEN_KEY_F8 0x77 // F8 key #define RAVEN_KEY_F9 0x78 // F9 key #define RAVEN_KEY_F10 0x79 // F10 key #define RAVEN_KEY_F11 0x7A // F11 key #define RAVEN_KEY_F12 0x7B // F12 key #define RAVEN_KEY_F13 0x7C // F13 key #define RAVEN_KEY_F14 0x7D // F14 key #define RAVEN_KEY_F15 0x7E // F15 key #define RAVEN_KEY_F16 0x7F // F16 key #define RAVEN_KEY_F17 0x80 // F17 key #define RAVEN_KEY_F18 0x81 // F18 key #define RAVEN_KEY_F19 0x82 // F19 key #define RAVEN_KEY_F20 0x83 // F20 key #define RAVEN_KEY_F21 0x84 // F21 key #define RAVEN_KEY_F22 0x85 // F22 key #define RAVEN_KEY_F23 0x86 // F23 key #define RAVEN_KEY_F24 0x87 // F24 key #define RAVEN_KEY_NUMLOCK 0x90 // NUM LOCK key #define RAVEN_KEY_SCROLL 0x91 // SCROLL LOCK key #define RAVEN_KEY_LSHIFT 0xA0 // Left SHIFT key #define RAVEN_KEY_RSHIFT 0xA1 // Right SHIFT key #define RAVEN_KEY_LCONTROL 0xA2 // Left CONTROL key #define RAVEN_KEY_RCONTROL 0xA3 // Right CONTROL key #define RAVEN_KEY_LMENU 0xA4 // Left MENU key #define RAVEN_KEY_RMENU 0xA5 // Right MENU key #define RAVEN_KEY_PLUS 0xBB // Plus Key (+) #define RAVEN_KEY_COMMA 0xBC // Comma Key (,) #define RAVEN_KEY_MINUS 0xBD // Minus Key (-) #define RAVEN_KEY_PERIOD 0xBE // Period Key (.) #define RAVEN_KEY_ATTN 0xF6 // Attn key #define RAVEN_KEY_CRSEL 0xF7 // CrSel key #define RAVEN_KEY_EXSEL 0xF8 // ExSel key #define RAVEN_KEY_EREOF 0xF9 // Erase EOF key #define RAVEN_KEY_PLAY 0xFA // Play key #define RAVEN_KEY_ZOOM 0xFB // Zoom key #define RAVEN_KEY_PA1 0xFD // PA1 key #define RAVEN_KEY_OEM_CLEAR 0xFE // Clear key #define RAVEN_KEY_CODE_COUNT 0xFF // number of keycodes (255. beautiful.) #if defined(__linux__) typedef KeySym RAVEN_SYS_KEY; #elif defined(WIN32)||defined(_WIN32)||defined(__WIN32)||\ defined(__WIN32__)||defined(Win32) typedef long RAVEN_SYS_KEY; #endif typedef struct RAVEN_key_pair { RAVEN_KEY_CODE rekey; RAVEN_SYS_KEY syskey; } RAVEN_key_pair; typedef struct RAVEN_key_map { int numpairs; RAVEN_key_pair *keypairs; } RAVEN_key_map; #ifdef __cplusplus extern "C" { #endif RAVEN_key_pair RAVEN_key_pair_create(RAVEN_SYS_KEY syskey,RAVEN_KEY_CODE rekey); RAVEN_key_map *RAVEN_key_map_create(); void RAVEN_key_map_destroy(RAVEN_key_map *keymap); void RAVEN_key_map_add_pair(RAVEN_key_map *keymap,RAVEN_key_pair keypair); RAVEN_KEY_CODE RAVEN_key_map_get_code(RAVEN_key_map *keymap,RAVEN_SYS_KEY syskey); void RAVEN_key_map_sort(RAVEN_key_map *keymap); #ifdef __cplusplus } #endif #define _gen_X11_keymap(keymap) \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_BackSpace,RAVEN_KEY_BACK)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Tab,RAVEN_KEY_TAB)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Linefeed,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Clear,RAVEN_KEY_CLEAR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Return,RAVEN_KEY_RETURN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Pause,RAVEN_KEY_PAUSE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Scroll_Lock,RAVEN_KEY_SCROLL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Sys_Req,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Escape,RAVEN_KEY_ESCAPE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Delete,RAVEN_KEY_DELETE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Home,RAVEN_KEY_HOME)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Left,RAVEN_KEY_LEFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Up,RAVEN_KEY_UP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Right,RAVEN_KEY_RIGHT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Down,RAVEN_KEY_DOWN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Prior,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Page_Up,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Next,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Page_Down,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_End,RAVEN_KEY_END)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Begin,RAVEN_KEY_HOME)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Space,RAVEN_KEY_SPACE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Tab,RAVEN_KEY_TAB)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Enter,RAVEN_KEY_RETURN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_F1,RAVEN_KEY_F1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_F2,RAVEN_KEY_F2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_F3,RAVEN_KEY_F3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_F4,RAVEN_KEY_F4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Left,RAVEN_KEY_LEFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Up,RAVEN_KEY_UP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Right,RAVEN_KEY_RIGHT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Down,RAVEN_KEY_DOWN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Prior,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Page_Up,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Next,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Page_Down,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_End,RAVEN_KEY_END)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Begin,RAVEN_KEY_HOME)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Insert,RAVEN_KEY_INSERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Delete,RAVEN_KEY_DELETE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Equal,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Multiply,RAVEN_KEY_MULTIPLY)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Add,RAVEN_KEY_ADD)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Separator,RAVEN_KEY_SEPAOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Subtract,RAVEN_KEY_SUBTRACT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Decimal,RAVEN_KEY_DECIMAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_Divide,RAVEN_KEY_DIVIDE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_0,RAVEN_KEY_KEY_0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_1,RAVEN_KEY_KEY_1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_2,RAVEN_KEY_KEY_2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_3,RAVEN_KEY_KEY_3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_4,RAVEN_KEY_KEY_4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_5,RAVEN_KEY_KEY_5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_6,RAVEN_KEY_KEY_6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_7,RAVEN_KEY_KEY_7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_8,RAVEN_KEY_KEY_8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_KP_9,RAVEN_KEY_KEY_9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F1,RAVEN_KEY_F1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F2,RAVEN_KEY_F2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F3,RAVEN_KEY_F3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F4,RAVEN_KEY_F4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F5,RAVEN_KEY_F5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F6,RAVEN_KEY_F6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F7,RAVEN_KEY_F7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F8,RAVEN_KEY_F8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F9,RAVEN_KEY_F9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F10,RAVEN_KEY_F10)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F11,RAVEN_KEY_F11)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F12,RAVEN_KEY_F12)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Shift_L,RAVEN_KEY_LSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Shift_R,RAVEN_KEY_RSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Control_L,RAVEN_KEY_LCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Control_R,RAVEN_KEY_RCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Caps_Lock,RAVEN_KEY_CAPITAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Shift_Lock,RAVEN_KEY_CAPITAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Meta_L,RAVEN_KEY_LSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Meta_R,RAVEN_KEY_RSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Alt_L,RAVEN_KEY_LMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Alt_R,RAVEN_KEY_RMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_ISO_Level3_Shift,RAVEN_KEY_RMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Menu,RAVEN_KEY_MENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_space,RAVEN_KEY_SPACE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_exclam,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_quotedbl,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_section,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_numbersign,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_question,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_at,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_mu,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_EuroSign,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_A,RAVEN_KEY_KEY_A)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_B,RAVEN_KEY_KEY_B)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_C,RAVEN_KEY_KEY_C)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_D,RAVEN_KEY_KEY_D)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_E,RAVEN_KEY_KEY_E)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_F,RAVEN_KEY_KEY_F)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_G,RAVEN_KEY_KEY_G)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_H,RAVEN_KEY_KEY_H)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_I,RAVEN_KEY_KEY_I)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_J,RAVEN_KEY_KEY_J)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_K,RAVEN_KEY_KEY_K)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_L,RAVEN_KEY_KEY_L)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_M,RAVEN_KEY_KEY_M)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_N,RAVEN_KEY_KEY_N)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_O,RAVEN_KEY_KEY_O)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_P,RAVEN_KEY_KEY_P)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Q,RAVEN_KEY_KEY_Q)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_R,RAVEN_KEY_KEY_R)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_S,RAVEN_KEY_KEY_S)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_T,RAVEN_KEY_KEY_T)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_U,RAVEN_KEY_KEY_U)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_V,RAVEN_KEY_KEY_V)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_W,RAVEN_KEY_KEY_W)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_X,RAVEN_KEY_KEY_X)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Y,RAVEN_KEY_KEY_Y)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Z,RAVEN_KEY_KEY_Z)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Adiaeresis,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Odiaeresis,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_Udiaeresis,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_bracketleft,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_backslash,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_bracketright,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_asciicircum,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_degree,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_underscore,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_grave,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_acute,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_quoteleft,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_a,RAVEN_KEY_KEY_A)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_b,RAVEN_KEY_KEY_B)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_c,RAVEN_KEY_KEY_C)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_d,RAVEN_KEY_KEY_D)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_e,RAVEN_KEY_KEY_E)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_f,RAVEN_KEY_KEY_F)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_g,RAVEN_KEY_KEY_G)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_h,RAVEN_KEY_KEY_H)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_i,RAVEN_KEY_KEY_I)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_j,RAVEN_KEY_KEY_J)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_k,RAVEN_KEY_KEY_K)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_l,RAVEN_KEY_KEY_L)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_m,RAVEN_KEY_KEY_M)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_n,RAVEN_KEY_KEY_N)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_o,RAVEN_KEY_KEY_O)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_p,RAVEN_KEY_KEY_P)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_q,RAVEN_KEY_KEY_Q)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_r,RAVEN_KEY_KEY_R)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_s,RAVEN_KEY_KEY_S)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_t,RAVEN_KEY_KEY_T)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_u,RAVEN_KEY_KEY_U)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_v,RAVEN_KEY_KEY_V)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_w,RAVEN_KEY_KEY_W)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_x,RAVEN_KEY_KEY_X)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_y,RAVEN_KEY_KEY_Y)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_z,RAVEN_KEY_KEY_Z)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_ssharp,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_adiaeresis,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_odiaeresis,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(XK_udiaeresis,0)); \ RAVEN_key_map_sort(keymap); #ifdef _MSC_VER #define _gen_Win32_keymap(keymap) \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LBUTTON,RAVEN_KEY_LBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RBUTTON,RAVEN_KEY_RBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CANCEL,RAVEN_KEY_CANCEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MBUTTON,RAVEN_KEY_MBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_XBUTTON1,RAVEN_KEY_XBUTTON1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_XBUTTON2,RAVEN_KEY_XBUTTON2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_BACK,RAVEN_KEY_BACK)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_TAB,RAVEN_KEY_TAB)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CLEAR,RAVEN_KEY_CLEAR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RETURN,RAVEN_KEY_RETURN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SHIFT,RAVEN_KEY_SHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CONTROL,RAVEN_KEY_CONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MENU,RAVEN_KEY_MENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PAUSE,RAVEN_KEY_PAUSE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CAPITAL,RAVEN_KEY_CAPITAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_KANA,RAVEN_KEY_KANA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANGEUL,RAVEN_KEY_HANGUEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANGUL,RAVEN_KEY_HANGUL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_JUNJA,RAVEN_KEY_JUNJA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_FINAL,RAVEN_KEY_FINAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANJA,RAVEN_KEY_HANJA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_KANJI,RAVEN_KEY_KANJI)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ESCAPE,RAVEN_KEY_ESCAPE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CONVERT,RAVEN_KEY_CONVERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NONCONVERT,RAVEN_KEY_NONCONVERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ACCEPT,RAVEN_KEY_ACCEPT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MODECHANGE,RAVEN_KEY_MODECHANGE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SPACE,RAVEN_KEY_SPACE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PRIOR,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NEXT,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_END,RAVEN_KEY_END)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HOME,RAVEN_KEY_HOME)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LEFT,RAVEN_KEY_LEFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_UP,RAVEN_KEY_UP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RIGHT,RAVEN_KEY_RIGHT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DOWN,RAVEN_KEY_DOWN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SELECT,RAVEN_KEY_SELECT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PRINT,RAVEN_KEY_PRINT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EXECUTE,RAVEN_KEY_EXECUT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SNAPSHOT,RAVEN_KEY_SNAPSHOT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_INSERT,RAVEN_KEY_INSERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DELETE,RAVEN_KEY_DELETE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HELP,RAVEN_KEY_HELP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LWIN,RAVEN_KEY_LSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RWIN,RAVEN_KEY_RSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_APPS,RAVEN_KEY_APPS)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SLEEP,RAVEN_KEY_SLEEP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD0,RAVEN_KEY_NUMPAD0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD1,RAVEN_KEY_NUMPAD1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD2,RAVEN_KEY_NUMPAD2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD3,RAVEN_KEY_NUMPAD3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD4,RAVEN_KEY_NUMPAD4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD5,RAVEN_KEY_NUMPAD5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD6,RAVEN_KEY_NUMPAD6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD7,RAVEN_KEY_NUMPAD7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD8,RAVEN_KEY_NUMPAD8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD9,RAVEN_KEY_NUMPAD9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MULTIPLY,RAVEN_KEY_MULTIPLY)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ADD,RAVEN_KEY_ADD)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SEPARATOR,RAVEN_KEY_SEPAOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SUBTRACT,RAVEN_KEY_SUBTRACT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DECIMAL,RAVEN_KEY_DECIMAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DIVIDE,RAVEN_KEY_DIVIDE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F1,RAVEN_KEY_F1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F2,RAVEN_KEY_F2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F3,RAVEN_KEY_F3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F4,RAVEN_KEY_F4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F5,RAVEN_KEY_F5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F6,RAVEN_KEY_F6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F7,RAVEN_KEY_F7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F8,RAVEN_KEY_F8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F9,RAVEN_KEY_F9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F10,RAVEN_KEY_F10)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F11,RAVEN_KEY_F11)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F12,RAVEN_KEY_F12)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F13,RAVEN_KEY_F13)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F14,RAVEN_KEY_F14)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F15,RAVEN_KEY_F15)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F16,RAVEN_KEY_F16)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F17,RAVEN_KEY_F17)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F18,RAVEN_KEY_F18)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F19,RAVEN_KEY_F19)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F20,RAVEN_KEY_F20)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F21,RAVEN_KEY_F21)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F22,RAVEN_KEY_F22)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F23,RAVEN_KEY_F23)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F24,RAVEN_KEY_F24)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMLOCK,RAVEN_KEY_NUMLOCK)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SCROLL,RAVEN_KEY_SCROLL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LSHIFT,RAVEN_KEY_LSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RSHIFT,RAVEN_KEY_RSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LCONTROL,RAVEN_KEY_LCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RCONTROL,RAVEN_KEY_RCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LMENU,RAVEN_KEY_LMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RMENU,RAVEN_KEY_RMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ATTN,RAVEN_KEY_ATTN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CRSEL,RAVEN_KEY_CRSEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EXSEL,RAVEN_KEY_EXSEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EREOF,RAVEN_KEY_EREOF)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PLAY,RAVEN_KEY_PLAY)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ZOOM,RAVEN_KEY_ZOOM)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NONAME,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PA1,RAVEN_KEY_PA1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_OEM_CLEAR,RAVEN_KEY_OEM_CLEAR)); \ RAVEN_key_map_sort(keymap); #else #define _gen_Win32_keymap(keymap) \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LBUTTON,RAVEN_KEY_LBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RBUTTON,RAVEN_KEY_RBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CANCEL,RAVEN_KEY_CANCEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MBUTTON,RAVEN_KEY_MBUTTON)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_BACK,RAVEN_KEY_BACK)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_TAB,RAVEN_KEY_TAB)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CLEAR,RAVEN_KEY_CLEAR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RETURN,RAVEN_KEY_RETURN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SHIFT,RAVEN_KEY_SHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CONTROL,RAVEN_KEY_CONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MENU,RAVEN_KEY_MENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PAUSE,RAVEN_KEY_PAUSE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CAPITAL,RAVEN_KEY_CAPITAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_KANA,RAVEN_KEY_KANA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANGEUL,RAVEN_KEY_HANGUEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANGUL,RAVEN_KEY_HANGUL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_JUNJA,RAVEN_KEY_JUNJA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_FINAL,RAVEN_KEY_FINAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HANJA,RAVEN_KEY_HANJA)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_KANJI,RAVEN_KEY_KANJI)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ESCAPE,RAVEN_KEY_ESCAPE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CONVERT,RAVEN_KEY_CONVERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NONCONVERT,RAVEN_KEY_NONCONVERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ACCEPT,RAVEN_KEY_ACCEPT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MODECHANGE,RAVEN_KEY_MODECHANGE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SPACE,RAVEN_KEY_SPACE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PRIOR,RAVEN_KEY_PRIOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NEXT,RAVEN_KEY_NEXT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_END,RAVEN_KEY_END)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HOME,RAVEN_KEY_HOME)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LEFT,RAVEN_KEY_LEFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_UP,RAVEN_KEY_UP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RIGHT,RAVEN_KEY_RIGHT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DOWN,RAVEN_KEY_DOWN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SELECT,RAVEN_KEY_SELECT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PRINT,RAVEN_KEY_PRINT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EXECUTE,RAVEN_KEY_EXECUT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SNAPSHOT,RAVEN_KEY_SNAPSHOT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_INSERT,RAVEN_KEY_INSERT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DELETE,RAVEN_KEY_DELETE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_HELP,RAVEN_KEY_HELP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LWIN,RAVEN_KEY_LSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RWIN,RAVEN_KEY_RSUPER)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_APPS,RAVEN_KEY_APPS)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SLEEP,RAVEN_KEY_SLEEP)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD0,RAVEN_KEY_NUMPAD0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD1,RAVEN_KEY_NUMPAD1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD2,RAVEN_KEY_NUMPAD2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD3,RAVEN_KEY_NUMPAD3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD4,RAVEN_KEY_NUMPAD4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD5,RAVEN_KEY_NUMPAD5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD6,RAVEN_KEY_NUMPAD6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD7,RAVEN_KEY_NUMPAD7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD8,RAVEN_KEY_NUMPAD8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMPAD9,RAVEN_KEY_NUMPAD9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_MULTIPLY,RAVEN_KEY_MULTIPLY)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ADD,RAVEN_KEY_ADD)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SEPARATOR,RAVEN_KEY_SEPAOR)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SUBTRACT,RAVEN_KEY_SUBTRACT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DECIMAL,RAVEN_KEY_DECIMAL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_DIVIDE,RAVEN_KEY_DIVIDE)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F1,RAVEN_KEY_F1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F2,RAVEN_KEY_F2)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F3,RAVEN_KEY_F3)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F4,RAVEN_KEY_F4)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F5,RAVEN_KEY_F5)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F6,RAVEN_KEY_F6)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F7,RAVEN_KEY_F7)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F8,RAVEN_KEY_F8)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F9,RAVEN_KEY_F9)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F10,RAVEN_KEY_F10)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F11,RAVEN_KEY_F11)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F12,RAVEN_KEY_F12)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F13,RAVEN_KEY_F13)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F14,RAVEN_KEY_F14)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F15,RAVEN_KEY_F15)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F16,RAVEN_KEY_F16)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F17,RAVEN_KEY_F17)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F18,RAVEN_KEY_F18)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F19,RAVEN_KEY_F19)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F20,RAVEN_KEY_F20)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F21,RAVEN_KEY_F21)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F22,RAVEN_KEY_F22)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F23,RAVEN_KEY_F23)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_F24,RAVEN_KEY_F24)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NUMLOCK,RAVEN_KEY_NUMLOCK)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_SCROLL,RAVEN_KEY_SCROLL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LSHIFT,RAVEN_KEY_LSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RSHIFT,RAVEN_KEY_RSHIFT)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LCONTROL,RAVEN_KEY_LCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RCONTROL,RAVEN_KEY_RCONTROL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_LMENU,RAVEN_KEY_LMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_RMENU,RAVEN_KEY_RMENU)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ATTN,RAVEN_KEY_ATTN)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_CRSEL,RAVEN_KEY_CRSEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EXSEL,RAVEN_KEY_EXSEL)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_EREOF,RAVEN_KEY_EREOF)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PLAY,RAVEN_KEY_PLAY)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_ZOOM,RAVEN_KEY_ZOOM)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_NONAME,0)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_PA1,RAVEN_KEY_PA1)); \ RAVEN_key_map_add_pair(keymap,RAVEN_key_pair_create(VK_OEM_CLEAR,RAVEN_KEY_OEM_CLEAR)); \ RAVEN_key_map_sort(keymap); #endif #if defined(__linux__) # define _gen_keymap _gen_X11_keymap #elif defined(WIN32)||defined(__WIN32__)||defined(_MSC_VER) # define _gen_keymap _gen_Win32_keymap #endif #endif