Function formatKey
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
Topics:
What is Fwatch?
What's new?
Download & Startup

Presence Check
Using Commands
Input Commands Info
Animation Codes
Function & Script Library
Recommended Practices

Extras
Changelog
Source
Credits

Discuss Scripting
Post Request

Fwatch 1.16 Beta
Mod Manager