11-10-2022, 08:18 PM
These are all the same keys as mapped and used by my keyboard library. They're also documented in it, in case you're missing any of the key codes/values. @Pete
The first value is the Windows-code value, the second is the QB64 _KEYHIT value, and the comment at the end helps explain what they all are.
Code: (Select All)
default_keyboard_data:
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 1,900001,0,0,0,0,0.2: 'Left Mouse Button
DATA 2,900002,0,0,0,0,0.2: 'Right Mouse Button
DATA 3,900003,0,0,0,0,0.2: 'VK_Cancel
DATA 4,900004,0,0,0,0,0.2: 'Middle Mouse Button
DATA 5,900005,0,0,0,0,0.2: 'Mouse Button 4
DATA 6,900006,0,0,0,0,0.2: 'Mouse Button 5
DATA 7,900007,0,0,0,0,0.2: 'Undefined
DATA 8,8,0,0,0,0,0.2: 'Backspace
DATA 9,9,0,0,0,0,0.2: 'Tab
DATA 10,900010,0,0,0,0,0.2: 'Reserved
DATA 11,900011,0,0,0,0,0.2: 'Reserved
DATA 12,19456,0,0,0,0,0.2: 'Clear
DATA 13,13,0,0,0,0,0.2: 'Enter
DATA 14,900014,0,0,0,0,0.2: 'Undefined
DATA 15,900015,0,0,0,0,0.2: 'Undefined
DATA 16,100016,0,0,0,0,-1: 'Shift (Notice I set it to simple toddle and report UP/DOWN results for us)
DATA 17,100017,0,0,0,0,-1: 'Ctrl (Same)
DATA 18,100018,0,0,0,0,-1: 'Alt (Same)
DATA 19,100019,0,0,0,0,0.2: 'Pause
DATA 20,100301,0,0,0,0,-1: 'Caps Lock
DATA 21,900021,0,0,0,0,0.2: 'VK_Hangul
DATA 22,900022,0,0,0,0,0.2: 'Undefined
DATA 23,900023,0,0,0,0,0.2: 'VK_Junja
DATA 24,900024,0,0,0,0,0.2: 'VK_Final
DATA 25,900025,0,0,0,0,0.2: 'VK_Hanga//VK_Kanji
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 26,900026,0,0,0,0,0.2: 'Undefined
DATA 27,27,0,0,0,0,0.2: 'ESC
DATA 28,900028,0,0,0,0,0.2: 'VK_Convert
DATA 29,900029,0,0,0,0,0.2: 'VK_NonConvert
DATA 30,900030,0,0,0,0,0.2: 'VK_Accept
DATA 31,900031,0,0,0,0,0.2: 'VK_ModeChange
DATA 32,32,0,0,0,0,0.2: 'VK_Space
DATA 33,18688,0,0,0,0,0.2: 'Page Up
DATA 34,20736,0,0,0,0,0.2: 'Page Down
DATA 35,20224,0,0,0,0,0.2: 'End
DATA 36,18176,0,0,0,0,0.2: 'Home
DATA 37,19200,0,0,0,0,0.2: 'Left Arrow
DATA 38,18432,0,0,0,0,0.2: 'Up Arrow
DATA 39,19712,0,0,0,0,0.2: 'Right Arrow
DATA 40,20480,0,0,0,0,0.2: 'Down Arrow
DATA 41,900041,0,0,0,0,-1: 'VK_SELECT
DATA 42,900042,0,0,0,0,-1: 'CK_PRINT
DATA 43,900043,0,0,0,0,-1: 'VK_EXECUTE
DATA 44,900044,0,0,0,0,-1: 'VK_SNAPSHOT
DATA 45,20992,0,0,0,0,0.2: 'INS
DATA 46,21248,0,0,0,0,0.2: 'DEL
DATA 47,900047,0,0,0,0,0.2: 'VK_HELP
DATA 48,48,0,41,0,0,0.2: '0
DATA 49,49,0,33,0,0,0.2: '1
DATA 50,50,0,64,0,0,0.2: '2
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 51,51,0,35,0,0,0.2: '3
DATA 52,52,0,36,0,0,0.2: '4
DATA 53,53,0,37,0,0,0.2: '5
DATA 54,54,0,94,0,0,0.2: '6
DATA 55,55,0,38,0,0,0.2: '7
DATA 56,56,0,42,0,0,0.2: '8
DATA 57,57,0,40,0,0,0.2: '9
DATA 58,900058,0,0,0,0,0.2: 'Undefined
DATA 59,900059,0,0,0,0,0.2: 'Undefined
DATA 60,900060,0,0,0,0,0.2: 'Undefined
DATA 61,900061,0,0,0,0,0.2: 'Undefined
DATA 62,900062,0,0,0,0,0.2: 'Undefined
DATA 63,900063,0,0,0,0,0.2: 'Undefined
DATA 64,900064,0,0,0,0,0.2: 'Undefined
DATA 65,65,0,97,0,0,0.2: 'a
DATA 66,66,0,98,0,0,0.2: 'b
DATA 67,67,0,99,0,0,0.2: 'c
DATA 68,68,0,100,0,0,0.2: 'd
DATA 69,69,0,101,0,0,0.2: 'e
DATA 70,70,0,102,0,0,0.2: 'f
DATA 71,71,0,103,0,0,0.2: 'g
DATA 72,72,0,104,0,0,0.2: 'h
DATA 73,73,0,105,0,0,0.2: 'i
DATA 74,74,0,106,0,0,0.2: 'j
DATA 75,75,0,107,0,0,0.2: 'k
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 76,76,0,108,0,0,0.2: 'l
DATA 77,77,0,109,0,0,0.2: 'm
DATA 78,78,0,110,0,0,0.2: 'n
DATA 79,79,0,111,0,0,0.2: 'o
DATA 80,80,0,112,0,0,0.2: 'p
DATA 81,81,0,113,0,0,0.2: 'q
DATA 82,82,0,114,0,0,0.2: 'r
DATA 83,83,0,115,0,0,0.2: 's
DATA 84,84,0,116,0,0,0.2: 't
DATA 85,85,0,117,0,0,0.2: 'u
DATA 86,86,0,118,0,0,0.2: 'v
DATA 87,87,0,119,0,0,0.2: 'w
DATA 88,88,0,120,0,0,0.2: 'x
DATA 89,89,0,121,0,0,0.2: 'y
DATA 90,90,0,122,0,0,0.2: 'z
DATA 91,100311,0,0,0,0,-1: 'Left WIN
DATA 92,100312,0,0,0,0,-1: 'Right WIN
DATA 93,100319,0,0,0,0,-1: 'Applications (Menu)
DATA 94,900094,0,0,0,0,0.2: 'Reserved
DATA 95,900095,0,0,0,0,0.2: 'VK_SLEEP
DATA 96,48,0,0,0,0,0.2: 'Numpad 0
DATA 97,49,0,0,0,0,0.2: 'Numpad 1
DATA 98,50,0,0,0,0,0.2: 'Numpad 2
DATA 99,51,0,0,0,0,0.2: 'Numpad 3
DATA 100,52,0,0,0,0,0.2: 'Numpad 4
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 101,53,0,0,0,0,0.2: 'Numpad 5
DATA 102,54,0,0,0,0,0.2: 'Numpad 6
DATA 103,55,0,0,0,0,0.2: 'Numpad 7
DATA 104,56,0,0,0,0,0.2: 'Numpad 8
DATA 105,57,0,0,0,0,0.2: 'Numpad 9
DATA 106,42,0,0,0,0,0.2: 'Numpad *
DATA 107,43,0,0,0,0,0.2: 'Numpad +
DATA 108,900108,0,0,0,0,0.2: 'VK_SEPARATOR
DATA 109,51,0,0,0,0,0.2: 'Numpad -
DATA 110,52,0,0,0,0,0.2: 'Numpad .
DATA 111,53,0,0,0,0,0.2: 'Numpad /
DATA 112,15104,0,0,0,0,0.2: 'F1
DATA 113,15360,0,0,0,0,0.2: 'F2
DATA 114,15616,0,0,0,0,0.2: 'F3
DATA 115,15872,0,0,0,0,0.2: 'F4
DATA 116,16128,0,0,0,0,0.2: 'F5 /
DATA 117,16384,0,0,0,0,0.2: 'F6
DATA 118,16640,0,0,0,0,0.2: 'F7
DATA 119,16896,0,0,0,0,0.2: 'F8
DATA 120,17152,0,0,0,0,0.2: 'F9
DATA 121,17408,0,0,0,0,0.2: 'F10
DATA 122,34048,0,0,0,0,0.2: 'F11
DATA 123,34304,0,0,0,0,0.2: 'F12
DATA 124,900124,0,0,0,0,0.2: 'F13
DATA 125,900125,0,0,0,0,0.2: 'F14
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 126,900126,0,0,0,0,0.2: 'F15
DATA 127,900127,0,0,0,0,0.2: 'F16
DATA 128,900128,0,0,0,0,0.2: 'F17
DATA 129,900129,0,0,0,0,0.2: 'F18
DATA 130,900130,0,0,0,0,0.2: 'F19
DATA 131,900131,0,0,0,0,0.2: 'F20
DATA 132,900132,0,0,0,0,0.2: 'F21
DATA 133,900133,0,0,0,0,0.2: 'F22
DATA 134,900134,0,0,0,0,0.2: 'F23
DATA 135,900135,0,0,0,0,0.2: 'F24
DATA 136,900136,0,0,0,0,0.2: 'Unassigned
DATA 137,900137,0,0,0,0,0.2: 'Unassigned
DATA 138,900138,0,0,0,0,0.2: 'Unassigned
DATA 139,900139,0,0,0,0,0.2: 'Unassigned
DATA 140,900140,0,0,0,0,0.2: 'Unassigned
DATA 141,900141,0,0,0,0,0.2: 'Unassigned
DATA 142,900142,0,0,0,0,0.2: 'Unassigned
DATA 143,900143,0,0,0,0,0.2: 'Unassigned
DATA 144,100300,0,0,0,0,-1: 'NUM LOCK
DATA 145,100302,0,0,0,0,-1: 'SCROLL LOCK
DATA 146,900146,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 147,900147,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 148,900148,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 149,900149,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 150,900150,0,0,0,0,0.2: 'OEM SPECIFIC
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 151,900151,0,0,0,0,0.2: 'Unassigned
DATA 152,900152,0,0,0,0,0.2: 'Unassigned
DATA 153,900153,0,0,0,0,0.2: 'Unassigned
DATA 154,900154,0,0,0,0,0.2: 'Unassigned
DATA 155,900155,0,0,0,0,0.2: 'Unassigned
DATA 156,900156,0,0,0,0,0.2: 'Unassigned
DATA 157,900157,0,0,0,0,0.2: 'Unassigned
DATA 158,900158,0,0,0,0,0.2: 'Unassigned
DATA 159,900159,0,0,0,0,0.2: 'Unassigned
DATA 160,100304,0,0,0,0,-1: 'Left Shift
DATA 161,100303,0,0,0,0,-1: 'Right Shift
DATA 162,100306,0,0,0,0,-1: 'Left Control
DATA 163,100305,0,0,0,0,-1: 'Right Control
DATA 164,100308,0,0,0,0,-1: 'Left Alt
DATA 165,100309,0,0,0,0,-1: 'Right Alt
DATA 166,900166,0,0,0,0,0.2: 'Browser back
DATA 167,900167,0,0,0,0,0.2: 'Browser forward
DATA 168,900168,0,0,0,0,0.2: 'Browser refresh
DATA 169,900169,0,0,0,0,0.2: 'Browser stop
DATA 170,900170,0,0,0,0,0.2: 'Browser search
DATA 171,900171,0,0,0,0,0.2: 'Browser favorites
DATA 172,900172,0,0,0,0,0.2: 'Browser home
DATA 173,900173,0,0,0,0,0.2: 'Mute
DATA 174,900174,0,0,0,0,0.2: 'Vol Down
DATA 175,900175,0,0,0,0,0.2: 'Vol Up
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 176,900176,0,0,0,0,0.2: 'Media Next
DATA 177,900177,0,0,0,0,0.2: 'Media prev
DATA 178,900178,0,0,0,0,0.2: 'Media stop
DATA 179,900179,0,0,0,0,0.2: 'Media Play/Pause
DATA 180,900180,0,0,0,0,0.2: 'Launch mail
DATA 181,900181,0,0,0,0,0.2: 'Launch media select
DATA 182,900182,0,0,0,0,0.2: 'Launch app1
DATA 183,900183,0,0,0,0,0.2: 'Launch app2
DATA 184,900184,0,0,0,0,0.2: 'Reserved
DATA 185,900185,0,0,0,0,0.2: 'Reserved
DATA 186,59,0,58,0,0,0.2: ';:
DATA 187,61,0,43,0,0,0.2: '=+
DATA 188,44,0,60,0,0,0.2: ',<
DATA 189,45,0,95,0,0,0.2: '-_
DATA 190,46,0,62,0,0,0.2: '.>
DATA 191,47,0,63,0,0,0.2: '/?
DATA 192,96,0,126,0,0,0.2: '`~
DATA 193,900193,0,0,0,0,0.2: 'Reserved
DATA 194,900194,0,0,0,0,0.2: 'Reserved
DATA 195,900195,0,0,0,0,0.2: 'Reserved
DATA 196,900196,0,0,0,0,0.2: 'Reserved
DATA 197,900197,0,0,0,0,0.2: 'Reserved
DATA 198,900198,0,0,0,0,0.2: 'Reserved
DATA 199,900199,0,0,0,0,0.2: 'Reserved
DATA 200,900200,0,0,0,0,0.2: 'Reserved
' Index Unmodified Ctrl Shift Alt AltGr Repeat
DATA 201,900201,0,0,0,0,0.2: 'Reserved
DATA 202,900202,0,0,0,0,0.2: 'Reserved
DATA 203,900203,0,0,0,0,0.2: 'Reserved
DATA 204,900204,0,0,0,0,0.2: 'Reserved
DATA 205,900205,0,0,0,0,0.2: 'Reserved
DATA 206,900206,0,0,0,0,0.2: 'Reserved
DATA 207,900207,0,0,0,0,0.2: 'Reserved
DATA 208,900208,0,0,0,0,0.2: 'Reserved
DATA 209,900209,0,0,0,0,0.2: 'Reserved
DATA 210,900210,0,0,0,0,0.2: 'Reserved
DATA 211,900211,0,0,0,0,0.2: 'Reserved
DATA 212,900212,0,0,0,0,0.2: 'Reserved
DATA 213,900213,0,0,0,0,0.2: 'Reserved
DATA 214,900214,0,0,0,0,0.2: 'Reserved
DATA 215,900215,0,0,0,0,0.2: 'Reserved
DATA 216,900216,0,0,0,0,0.2: 'Unassigned
DATA 217,900217,0,0,0,0,0.2: 'Unassigned
DATA 218,900218,0,0,0,0,0.2: 'Unassigned
DATA 219,91,0,123,0,0,0.2: '[{
DATA 220,92,0,124,0,0,0.2: '\|
DATA 221,93,0,125,0,0,0.2: ']}
DATA 222,39,0,34,0,0,0.2: ''"
DATA 223,900223,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 224,900224,0,0,0,0,0.2: 'Reserved
DATA 225,900225,0,0,0,0,0.2: 'OEM SPECIFIC d
DATA 226,900226,0,0,0,0,0.2: 'Either the Angle Bracket key,or Backslash on RT 102-key keyboard
DATA 227,900227,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 228,900228,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 229,900229,0,0,0,0,0.2: 'IME PROCESS key (whatever that is)
DATA 230,900230,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 231,900231,0,0,0,0,0.2: 'Used to pass UNICODE characters (however that works)
DATA 232,900232,0,0,0,0,0.2: 'Unassigned
DATA 233,900233,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 234,900234,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 235,900235,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 236,900236,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 237,900237,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 238,900238,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 239,900239,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 240,900240,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 241,900241,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 242,900242,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 243,900243,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 244,900244,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 245,900245,0,0,0,0,0.2: 'OEM SPECIFIC
DATA 246,900246,0,0,0,0,0.2: 'VK_ATTN
DATA 247,900247,0,0,0,0,0.2: 'VK_ATTN
DATA 248,900248,0,0,0,0,0.2: 'VK_ATTN
DATA 249,900249,0,0,0,0,0.2: 'VK_ATTN
DATA 250,900250,0,0,0,0,0.2: 'VK_ATTN
DATA 251,900251,0,0,0,0,0.2: 'VK_ATTN
DATA 252,900252,0,0,0,0,0.2: 'Reserved
DATA 253,900253,0,0,0,0,0.2: 'VK_PA1
DATA 254,900253,0,0,0,0,0.2: 'VK_OEM_CLEAR
DATA 0,0,0,0,0,0,0.2: 'END OF DATA
The first value is the Windows-code value, the second is the QB64 _KEYHIT value, and the comment at the end helps explain what they all are.