used by :input getkeys, agetkeys
Back
char *formatKey(int c) {
switch(c) {
//v1.13 updated key list
//http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx
#define VK_XBUTTON1 0x05
#define VK_XBUTTON2 0x06
#define VK_KANA 0x15
#define VK_JUNJA 0x17
#define VK_FINAL 0x18
#define VK_KANJI 0x19
#define VK_ACCEPT 0x1E
#define VK_MODECHANGE 0x1F
#define VK_PRINT 0x2A
#define VK_SLEEP 0x5F
#define VK_SEPARATOR 0x6C
#define VK_BROWSER_BACK 0xA6
#define VK_BROWSER_FORWARD 0xA7
#define VK_BROWSER_REFRESH 0xA8
#define VK_BROWSER_STOP 0xA9
#define VK_BROWSER_SEARCH 0xAA
#define VK_BROWSER_FAVORITES 0xAB
#define VK_BROWSER_HOME 0xAC
#define VK_VOLUME_MUTE 0xAD
#define VK_VOLUME_DOWN 0xAE
#define VK_VOLUME_UP 0xAF
#define VK_MEDIA_NEXT_TRACK 0xB0
#define VK_MEDIA_PREV_TRACK 0xB1
#define VK_MEDIA_STOP 0xB2
#define VK_MEDIA_PLAY_PAUSE 0xB3
#define VK_LAUNCH_MAIL 0xB4
#define VK_LAUNCH_MEDIA_SELECT 0xB5
#define VK_LAUNCH_APP1 0xB6
#define VK_LAUNCH_APP2 0xB7
#define VK_OEM_1 0xBA
#define VK_OEM_PLUS 0xBB
#define VK_OEM_COMMA 0xBC
#define VK_OEM_MINUS 0xBD
#define VK_OEM_PERIOD 0xBE
#define VK_OEM_2 0xBF
#define VK_OEM_3 0xC0
#define VK_ABNT_C1 0xC1
#define VK_ABNT_C2 0xC2
#define VK_OEM_4 0xDB
#define VK_OEM_5 0xDC
#define VK_OEM_6 0xDD
#define VK_OEM_7 0xDE
#define VK_OEM_8 0xDF
#define VK_OEM_102 0xE2
#define VK_PROCESSKEY 0xE5
#define VK_PACKET 0xE7
case VK_LBUTTON: return "\"LBUTTON\"";
case VK_RBUTTON: return "\"RBUTTON\"";
case VK_MBUTTON: return "\"MBUTTON\"";
case VK_CANCEL: return "\"CANCEL\"";
case VK_XBUTTON1 : return "\"4BUTTON\""; // 4th mouse button
case VK_XBUTTON2 : return "\"5BUTTON\""; // 5th mouse button
case VK_BACK: return "\"BACKSPACE\"";
case VK_TAB: return "\"TAB\"";
case VK_CLEAR: return "\"CLEAR\""; // numpad5 while numlock is off
case VK_RETURN: return "\"ENTER\"";
case VK_SHIFT: return "\"SHIFT\"";
case VK_CONTROL: return "\"CTRL\"";
case VK_MENU: return "\"ALT\"";
case VK_PAUSE: return "\"PAUSE\""; // pause break
case VK_CAPITAL: return "\"CAPSLOCK\"";
case VK_KANA: return "\"KANA\"";
case VK_JUNJA: return "\"JUNJA\"";
case VK_FINAL: return "\"FINAL\"";
case VK_HANJA: return "\"HANJA\"";
case VK_ESCAPE: return "\"ESC\"";
case VK_CONVERT : return "\"CONVERT\"";
case VK_NONCONVERT : return "\"NONCONVERT\"";
case VK_ACCEPT : return "\"ACCEPT\"";
case VK_MODECHANGE : return "\"MODECHANGE\"";
case VK_SPACE: return "\"SPACE\"";
case VK_PRIOR: return "\"PAGEUP\"";
case VK_NEXT: return "\"PAGEDOWN\"";
case VK_END: return "\"END\"";
case VK_HOME: return "\"HOME\"";
case VK_LEFT: return "\"LEFT\"";
case VK_RIGHT: return "\"RIGHT\"";
case VK_UP: return "\"UP\"";
case VK_DOWN: return "\"DOWN\"";
case VK_SELECT: return "\"SELECT\"";
case VK_PRINT: return "\"PRINT\"";
case VK_EXECUTE: return "\"EXECUTE\"";
case VK_SNAPSHOT: return "\"PRINTSCREEN\"";
case VK_INSERT: return "\"INSERT\"";
case VK_DELETE: return "\"DELETE\"";
case VK_HELP: return "\"HELP\"";
case 0x30 : return "\"0\"";
case 0x31 : return "\"1\"";
case 0x32 : return "\"2\"";
case 0x33 : return "\"3\"";
case 0x34 : return "\"4\"";
case 0x35 : return "\"5\"";
case 0x36 : return "\"6\"";
case 0x37 : return "\"7\"";
case 0x38 : return "\"8\"";
case 0x39 : return "\"9\"";
case 0x41 : return "\"A\"";
case 0x42 : return "\"B\"";
case 0x43 : return "\"C\"";
case 0x44 : return "\"D\"";
case 0x45 : return "\"E\"";
case 0x46 : return "\"F\"";
case 0x47 : return "\"G\"";
case 0x48 : return "\"H\"";
case 0x49 : return "\"I\"";
case 0x4A : return "\"J\"";
case 0x4B : return "\"K\"";
case 0x4C : return "\"L\"";
case 0x4D : return "\"M\"";
case 0x4E : return "\"N\"";
case 0x4F : return "\"O\"";
case 0x50 : return "\"P\"";
case 0x51 : return "\"Q\"";
case 0x52 : return "\"R\"";
case 0x53 : return "\"S\"";
case 0x54 : return "\"T\"";
case 0x55 : return "\"U\"";
case 0x56 : return "\"V\"";
case 0x57 : return "\"W\"";
case 0x58 : return "\"X\"";
case 0x59 : return "\"Y\"";
case 0x5A : return "\"Z\"";
case VK_LWIN: return "\"LWIN\"";
case VK_RWIN: return "\"RWIN\"";
case VK_APPS: return "\"APPS\"";
case VK_SLEEP: return "\"SLEEP\"";
case VK_NUMPAD0: return "\"NUMPAD0\"";
case VK_NUMPAD1: return "\"NUMPAD1\"";
case VK_NUMPAD2: return "\"NUMPAD2\"";
case VK_NUMPAD3: return "\"NUMPAD3\"";
case VK_NUMPAD4: return "\"NUMPAD4\"";
case VK_NUMPAD5: return "\"NUMPAD5\"";
case VK_NUMPAD6: return "\"NUMPAD6\"";
case VK_NUMPAD7: return "\"NUMPAD7\"";
case VK_NUMPAD8: return "\"NUMPAD8\"";
case VK_NUMPAD9: return "\"NUMPAD9\"";
case VK_MULTIPLY: return "\"MULTIPLY\""; // numpad asterisk 1.11 fixed
case VK_ADD: return "\"ADD\""; // numpad plus
case VK_SEPARATOR: return "\"SEPARATOR\"";
case VK_SUBTRACT: return "\"SUBTRACT\""; // numpad minus
case VK_DECIMAL: return "\"DECIMAL\""; // numpad decimal mark
case VK_DIVIDE: return "\"DIVIDE\""; // numpad slash
case VK_F1: return "\"F1\"";
case VK_F2: return "\"F2\"";
case VK_F3: return "\"F3\"";
case VK_F4: return "\"F4\"";
case VK_F5: return "\"F5\"";
case VK_F6: return "\"F6\"";
case VK_F7: return "\"F7\"";
case VK_F8: return "\"F8\"";
case VK_F9: return "\"F9\"";
case VK_F10: return "\"F10\"";
case VK_F11: return "\"F11\"";
case VK_F12: return "\"F12\"";
case VK_F13: return "\"F13\"";
case VK_F14: return "\"F14\"";
case VK_F15: return "\"F15\"";
case VK_F16: return "\"F16\"";
case VK_F17: return "\"F17\"";
case VK_F18: return "\"F18\"";
case VK_F19: return "\"F19\"";
case VK_F20: return "\"F20\"";
case VK_F21: return "\"F21\"";
case VK_F22: return "\"F22\"";
case VK_F23: return "\"F23\"";
case VK_F24: return "\"F24\"";
case VK_NUMLOCK: return "\"NUMLOCK\"";
case VK_SCROLL: return "\"SCROLLOCK\"";
case VK_LSHIFT: return "\"LSHIFT\"";
case VK_RSHIFT: return "\"RSHIFT\"";
case VK_LCONTROL: return "\"LCTRL\"";
case VK_RCONTROL: return "\"RCTRL\"";
case VK_LMENU: return "\"LALT\"";
case VK_RMENU: return "\"RALT\"";
case VK_BROWSER_BACK: return "\"WEBBACK\""; // multimedia keyboard keys
case VK_BROWSER_FORWARD: return "\"WEBFORWARD\"";
case VK_BROWSER_REFRESH: return "\"WEBREFRESH\"";
case VK_BROWSER_STOP: return "\"WEBSTOP\"";
case VK_BROWSER_SEARCH: return "\"WEBSEARCH\"";
case VK_BROWSER_FAVORITES: return "\"WEBFAVORITES\"";
case VK_BROWSER_HOME: return "\"WEBHOME\"";
case VK_VOLUME_MUTE: return "\"VOLUMEMUTE\"";
case VK_VOLUME_DOWN: return "\"VOLUMEDOWN\"";
case VK_VOLUME_UP: return "\"VOLUMEUP\"";
case VK_MEDIA_NEXT_TRACK: return "\"MEDIANEXT\"";
case VK_MEDIA_PREV_TRACK: return "\"MEDIAPREV\"";
case VK_MEDIA_STOP: return "\"MEDIASTOP\"";
case VK_MEDIA_PLAY_PAUSE: return "\"MEDIAPLAY\"";
case VK_LAUNCH_MAIL: return "\"MAIL\"";
case VK_LAUNCH_MEDIA_SELECT: return "\"MEDIASELECT\"";
case VK_LAUNCH_APP1: return "\"MYCOMPUTER\"";
case VK_LAUNCH_APP2: return "\"CALCULATOR\"";
case VK_OEM_1: return "\";\""; // semi-colon
case VK_OEM_PLUS: return "\"=\""; // equality
case VK_OEM_COMMA: return "\",\""; // comma
case VK_OEM_MINUS: return "\"-\""; // minus
case VK_OEM_PERIOD: return "\".\""; // dot
case VK_OEM_2: return "\"/\""; // slash
case VK_OEM_3: return "\"`\""; // grave accent
case VK_OEM_4: return "\"[\""; // open bracket
case VK_OEM_5: return "\"\\\""; // backslash
case VK_OEM_6: return "\"]\""; // close bracket
case VK_OEM_7: return "\"'\""; // apostrophe
case VK_OEM_8: return "\"OEM8\"";
case VK_OEM_102: return "\"OEM102\"";
case VK_ABNT_C1 : return "\"ABNT_C1\"";
case VK_ABNT_C2 : return "\"ABNT_C2\"";
case VK_PROCESSKEY: return "\"PROCESS\"";
case VK_PACKET: return "\"PACKET\"";
case VK_ATTN: return "\"ATTN\"";
case VK_CRSEL: return "\"CRSEL\"";
case VK_EXSEL: return "\"EXSEL\"";
case VK_EREOF: return "\"ERASEEOF\"";
case VK_PLAY: return "\"PLAY\"";
case VK_ZOOM: return "\"ZOOM\"";
case VK_NONAME: return "\"NONAME\"";
case VK_PA1: return "\"PA1\"";
case VK_OEM_CLEAR: return "\"OEMCLEAR\"";
default:
static char s[8];
sprintf(s, "\"0x%x\"", c); // format number to char 1.13 returns number instead of char
return s;
}
}
Back