'*****************************************************************************
'* 
'* VIRTUAL KEY CODES, USED IN KEYBOARD EMULATION (EmuLib.*)
'*
'* Version history:
'*  2008 - initial code (by WadiM)
'*
'* Used by: p/procedure pc.HandleKey(key as byte,pressed as boolean)
'*          //TODO - function pc.IsKeyPressed(key as byte) as boolean
'* 
'*****************************************************************************

//List of virtual key codes (emulated on any host platform)

public const VK_BACK 	   as byte=0x08 //BackSpace
public const VK_TAB 	   as byte=0x09 //Tabulation
public const VK_RETURN 	   as byte=0x0D //Return/Enter
public const VK_PAUSE	   as byte=0x13 //Pause
public const VK_CAPITAL    as byte=0x14 //CapsLock
public const VK_ESCAPE 	   as byte=0x1B //Escape
public const VK_SPACE 	   as byte=0x20 //Space
public const VK_PAGEUP 	   as byte=0x21 //Page Up
public const VK_PAGEDN	   as byte=0x22 //Page Dn
public const VK_END 	   as byte=0x23 //End
public const VK_HOME	   as byte=0x24 //Home
public const VK_LEFT 	   as byte=0x25 //Left
public const VK_UP 	   as byte=0x26 //Up
public const VK_RIGHT 	   as byte=0x27 //Right
public const VK_DOWN 	   as byte=0x28 //Down
public const VK_INSERT     as byte=0x2D //Insert
public const VK_DELETE     as byte=0x2E //Delete
public const VK_PRNSCR     as byte=0x2C //PrintScreen
public const VK_0 	   as byte=0x30 //0
public const VK_1 	   as byte=0x31 //1
public const VK_2 	   as byte=0x32 //2
public const VK_3 	   as byte=0x33 //3
public const VK_4 	   as byte=0x34 //4
public const VK_5 	   as byte=0x35 //5
public const VK_6 	   as byte=0x36 //6
public const VK_7 	   as byte=0x37 //7
public const VK_8 	   as byte=0x38 //8
public const VK_9 	   as byte=0x39 //9
public const VK_A 	   as byte=0x41 //A
public const VK_B 	   as byte=0x42 //B
public const VK_C 	   as byte=0x43 //C
public const VK_D 	   as byte=0x44 //D
public const VK_E 	   as byte=0x45 //E
public const VK_F 	   as byte=0x46 //F
public const VK_G 	   as byte=0x47 //G
public const VK_H 	   as byte=0x48 //H
public const VK_I 	   as byte=0x49 //I
public const VK_J 	   as byte=0x4A //J
public const VK_K 	   as byte=0x4B //K
public const VK_L 	   as byte=0x4C //L
public const VK_M 	   as byte=0x4D //M
public const VK_N 	   as byte=0x4E //N
public const VK_O 	   as byte=0x4F //O
public const VK_P 	   as byte=0x50 //P
public const VK_Q 	   as byte=0x51 //Q
public const VK_R 	   as byte=0x52 //R
public const VK_S 	   as byte=0x53 //S
public const VK_T 	   as byte=0x54 //T
public const VK_U 	   as byte=0x55 //U
public const VK_V 	   as byte=0x56 //V
public const VK_W 	   as byte=0x57 //W
public const VK_X 	   as byte=0x58 //X
public const VK_Y 	   as byte=0x59 //Y
public const VK_Z 	   as byte=0x5A //Z
public const VK_NUMPAD0	   as byte=0x60 //Numpad 0
public const VK_NUMPAD1	   as byte=0x61 //Numpad 1
public const VK_NUMPAD2	   as byte=0x62 //Numpad 2
public const VK_NUMPAD3	   as byte=0x63 //Numpad 3
public const VK_NUMPAD4	   as byte=0x64 //Numpad 4
public const VK_NUMPAD5	   as byte=0x65 //Numpad 5
public const VK_NUMPAD6	   as byte=0x66 //Numpad 6
public const VK_NUMPAD7	   as byte=0x67 //Numpad 7
public const VK_NUMPAD8	   as byte=0x68 //Numpad 8
public const VK_NUMPAD9	   as byte=0x69 //Numpad 9
public const VK_DECIMAL	   as byte=0x6E //Numpad .
public const VK_MULTIPLY   as byte=0x6A //Gray *
public const VK_ADD	   as byte=0x6B //Gray +
public const VK_EXTRETURN  as byte=0x6C //Gray Enter
public const VK_SUBTRACT   as byte=0x6D //Gray -
public const VK_DIVIDE	   as byte=0x6F //Gray /
public const VK_F1 	   as byte=0x70 //F1
public const VK_F2 	   as byte=0x71 //F2
public const VK_F3 	   as byte=0x72 //F3
public const VK_F4 	   as byte=0x73 //F4
public const VK_F5 	   as byte=0x74 //F5
public const VK_F6 	   as byte=0x75 //F6
public const VK_F7 	   as byte=0x76 //F7
public const VK_F8 	   as byte=0x77 //F8
public const VK_F9 	   as byte=0x78 //F9
public const VK_F10 	   as byte=0x79 //F10
public const VK_NUMLOCK	   as byte=0x90 //NumLock
public const VK_SCROLL 	   as byte=0x91 //ScrollLock
public const VK_LSHIFT     as byte=0xE0 //Left Shift
public const VK_RSHIFT     as byte=0xE1 //Right Shift
public const VK_LCTRL      as byte=0xE2 //Left Control
public const VK_RCTRL      as byte=0xE3 //Right Control
public const VK_LALT       as byte=0xE4 //Left Alt
public const VK_RALT       as byte=0xE5 //Right Alt
public const VK_MINUS      as byte=0xE6 //Minus/Underline
public const VK_PLUS       as byte=0xE7 //Plus/Equal
public const VK_LBRACKET   as byte=0xE8 //Left/Open Bracket
public const VK_RBRACKET   as byte=0xE9 //Right/Close Bracket
public const VK_COLON      as byte=0xEA //Colon
public const VK_COMMA      as byte=0xEB //Comma
public const VK_PERIOD     as byte=0xEC //Period
public const VK_BACK_SLASH as byte=0xEE //Back slash
public const VK_SLASH      as byte=0xEF //Slash
public const VK_QUOTE      as byte=0xF0 //Quote
public const VK_BACK_QUOTE as byte=0xF1 //Back Quote

public const VK_NONE 	   as byte=0xFF //no key

