Red/System [
	Title:	"Red virtual keyboard codes"
	Author: "Qingtian Xie"
	File: 	%keycodes.reds
	Note:	"The keycodes is the same as Windows virtual keycodes"
	Tabs: 	4
	Rights: "Copyright (C) 2016-2018 Red Foundation. All rights reserved."
	License: {
		Distributed under the Boost Software License, Version 1.0.
		See https://github.com/red/red/blob/master/BSL-License.txt
	}
]

#define RED_VK_BACK					08h
#define RED_VK_TAB					09h
#define RED_VK_BACKTAB				0Ah
#define RED_VK_CLEAR				0Ch
#define RED_VK_RETURN				0Dh
#define RED_VK_SHIFT				10h
#define RED_VK_CONTROL				11h
#define RED_VK_MENU					12h
#define RED_VK_PAUSE				13h
#define RED_VK_CAPITAL				14h
#define RED_VK_KANA					15h
#define RED_VK_HANGUL				15h
#define RED_VK_JUNJA				17h
#define RED_VK_FINAL				18h
#define RED_VK_HANJA				19h
#define RED_VK_KANJI				19h
#define RED_VK_ESCAPE				1Bh
#define RED_VK_CONVERT				1Ch
#define RED_VK_NONCONVERT			1Dh
#define RED_VK_ACCEPT				1Eh
#define RED_VK_MODECHANGE			1Fh
#define RED_VK_SPACE				20h
#define RED_VK_PRIOR				21h
#define RED_VK_NEXT					22h
#define RED_VK_END					23h
#define RED_VK_HOME					24h
#define RED_VK_LEFT					25h
#define RED_VK_UP					26h
#define RED_VK_RIGHT				27h
#define RED_VK_DOWN					28h
#define RED_VK_SELECT				29h
#define RED_VK_PRINT				2Ah
#define RED_VK_EXECUTE				2Bh
#define RED_VK_SNAPSHOT				2Ch
#define RED_VK_INSERT				2Dh
#define RED_VK_DELETE				2Eh
#define RED_VK_HELP					2Fh
#define RED_VK_0					30h
#define RED_VK_1					31h
#define RED_VK_2					32h
#define RED_VK_3					33h
#define RED_VK_4					34h
#define RED_VK_5					35h
#define RED_VK_6					36h
#define RED_VK_7					37h
#define RED_VK_8					38h
#define RED_VK_9					39h
#define RED_VK_A					41h
#define RED_VK_B					42h
#define RED_VK_C					43h
#define RED_VK_D					44h
#define RED_VK_E					45h
#define RED_VK_F					46h
#define RED_VK_G					47h
#define RED_VK_H					48h
#define RED_VK_I					49h
#define RED_VK_J					4Ah
#define RED_VK_K					4Bh
#define RED_VK_L					4Ch
#define RED_VK_M					4Dh
#define RED_VK_N					4Eh
#define RED_VK_O					4Fh
#define RED_VK_P					50h
#define RED_VK_Q					51h
#define RED_VK_R					52h
#define RED_VK_S					53h
#define RED_VK_T					54h
#define RED_VK_U					55h
#define RED_VK_V					56h
#define RED_VK_W					57h
#define RED_VK_X					58h
#define RED_VK_Y					59h
#define RED_VK_Z					5Ah
#define RED_VK_LWIN					5Bh
#define RED_VK_COMMAND				RED_VK_LWIN		;-- Provide the Mac name for convenience
#define RED_VK_RWIN					5Ch
#define RED_VK_APPS					5Dh
#define RED_VK_SLEEP				5Fh
#define RED_VK_NUMPAD0				60h
#define RED_VK_NUMPAD1				61h
#define RED_VK_NUMPAD2				62h
#define RED_VK_NUMPAD3				63h
#define RED_VK_NUMPAD4				64h
#define RED_VK_NUMPAD5				65h
#define RED_VK_NUMPAD6				66h
#define RED_VK_NUMPAD7				67h
#define RED_VK_NUMPAD8				68h
#define RED_VK_NUMPAD9				69h
#define RED_VK_MULTIPLY				6Ah
#define RED_VK_ADD					6Bh
#define RED_VK_SEPARATOR			6Ch
#define RED_VK_SUBTRACT				6Dh
#define RED_VK_DECIMAL				6Eh
#define RED_VK_DIVIDE				6Fh
#define RED_VK_F1					70h
#define RED_VK_F2					71h
#define RED_VK_F3					72h
#define RED_VK_F4					73h
#define RED_VK_F5					74h
#define RED_VK_F6					75h
#define RED_VK_F7					76h
#define RED_VK_F8					77h
#define RED_VK_F9					78h
#define RED_VK_F10					79h
#define RED_VK_F11					7Ah
#define RED_VK_F12					7Bh
#define RED_VK_F13					7Ch
#define RED_VK_F14					7Dh
#define RED_VK_F15					7Eh
#define RED_VK_F16					7Fh
#define RED_VK_F17					80h
#define RED_VK_F18					81h
#define RED_VK_F19					82h
#define RED_VK_F20					83h
#define RED_VK_F21					84h
#define RED_VK_F22					85h
#define RED_VK_F23					86h
#define RED_VK_F24					87h
#define RED_VK_NUMLOCK				90h
#define RED_VK_SCROLL				91h
#define RED_VK_LSHIFT				A0h
#define RED_VK_RSHIFT				A1h
#define RED_VK_LCONTROL				A2h
#define RED_VK_RCONTROL				A3h
#define RED_VK_LMENU				A4h
#define RED_VK_RMENU				A5h
#define RED_VK_BROWSER_BACK			A6h
#define RED_VK_BROWSER_FORWARD		A7h
#define RED_VK_BROWSER_REFRESH		A8h
#define RED_VK_BROWSER_STOP			A9h
#define RED_VK_BROWSER_SEARCH		AAh
#define RED_VK_BROWSER_FAVORITES	ABh
#define RED_VK_BROWSER_HOME			ACh
#define RED_VK_VOLUME_MUTE			ADh
#define RED_VK_VOLUME_DOWN			AEh
#define RED_VK_VOLUME_UP			AFh
#define RED_VK_MEDIA_NEXT_TRACK		B0h
#define RED_VK_MEDIA_PREV_TRACK		B1h
#define RED_VK_MEDIA_STOP			B2h
#define RED_VK_MEDIA_PLAY_PAUSE		B3h
#define RED_VK_MEDIA_LAUNCH_MAIL	B4h
#define RED_VK_MEDIA_LAUNCH_MEDIA_SELECT B5h
#define RED_VK_MEDIA_LAUNCH_APP1	B6h
#define RED_VK_MEDIA_LAUNCH_APP2	B7h
#define RED_VK_OEM_1				BAh
#define RED_VK_OEM_PLUS				BBh
#define RED_VK_OEM_COMMA			BCh
#define RED_VK_OEM_MINUS			BDh
#define RED_VK_OEM_PERIOD			BEh
#define RED_VK_OEM_2				BFh
#define RED_VK_OEM_3				C0h
#define RED_VK_OEM_4				DBh
#define RED_VK_OEM_5				DCh
#define RED_VK_OEM_6				DDh
#define RED_VK_OEM_7				DEh
#define RED_VK_OEM_8				DFh
#define RED_VK_OEM_102				E2h
#define RED_VK_PROCESSKEY			E5h
#define RED_VK_PACKET				E7h
#define RED_VK_DBE_SBCSCHAR			F3h
#define RED_VK_DBE_DBCSCHAR			F4h
#define RED_VK_ATTN					F6h
#define RED_VK_CRSEL				F7h
#define RED_VK_EXSEL				F8h
#define RED_VK_EREOF				F9h
#define RED_VK_PLAY					FAh
#define RED_VK_ZOOM					FBh
#define RED_VK_NONAME				FCh
#define RED_VK_PA1					FDh
#define RED_VK_OEM_CLEAR			FEh
#define RED_VK_UNKNOWN				00h

;-- POSIX specific VKEYs. Note that as of Windows SDK 7.1 0xD8-DA are unassigned.
#define RED_VK_BRIGHTNESS_DOWN	D8h
#define RED_VK_BRIGHTNESS_UP	D9h