Quote: "as is, not so much where the AppGameKit scancodes return the "right ones" for me. the only difference that i see in yours is the [#] key which i can't say i've seen before on an american PC keyboard. maybe 1 or 2 others."
It's on the UK Qwerty, as where # is on the US Qwerty we have a £
There are other differences if you look, such-as where the Forward and Backslash are... I always imported a UK Keyboard when working in the States because your layout of the operator keys always felt a little unintuitive to me.
Was funny watching others try to program on my keyboard >_<
With this said... I actually agree that the Scancodes in AppGameKit are a little annoying as they ONLY match the US Keyboard Layout (keep in mind TGC is based in Wigan, UK)
It makes sense mind., so the Scancodes themselves are not actually linked to specific keyboard functions:
i.e. Scancode 81 might be Q on a Qwerty Board, but is D on a Dvorak Board... and yes, people do use them.
Personally., what I have is a Scancode.agc where I've written out all of the keys as #Constant KEY_{keyid} {scancode} that I import to my projects.
I've attached it for anyone wanting to use it... as a note Print Screen (PrtScn) is missing because AppGameKit doesn't support it, no idea why.
On top of this I've also added the Menu Button (which might be labeled as Cmd or Fn on some keyboards, so added those as options too)
(in case the upload doesn't work or takes a while... the forum is weird about uploads other than images for me)
// File: Scancode.agc
// Created: 23-02-04
// Declarations
//
// Base
#Constant KEY_BACK 8
#Constant KEY_TAB 9
#Constant KEY_ENTER 13
#Constant KEY_SHIFT 16
#Constant KEY_CONTROL 17
#Constant KEY_ALT 18
#Constant KEY_PAUSE 19
#Constant KEY_SCROLLLOCK 145
#Constant KEY_CAPSLOCK 20
#Constant KEY_ESCAPE 27
#Constant KEY_SPACE 32
#Constant KEY_INSERT 45
#Constant KEY_DELETE 46
#Constant KEY_PAGEUP 33
#Constant KEY_PAGEDOWN 34
#Constant KEY_END 35
#Constant KEY_HOME 36
#Constant KEY_LEFT 37
#Constant KEY_UP 38
#Constant KEY_RIGHT 39
#Constant KEY_DOWN 40
#Constant KEY_WIN_LEFT 91
#Constant KEY_WIN_RIGHT 92
#Constant KEY_COMMAND 93
#Constant KEY_MENU 93
#Constant KEY_FUNCTION 93
#Constant KEY_LEFT_SHIFT 257
#Constant KEY_RIGHT_SHIFT 258
#Constant KEY_LEFT_CTRL 259
#Constant KEY_RIGHT_CTRL 260
#Constant KEY_LEFT_ALT 261
#Constant KEY_RIGHT_ALT 262
// (triggered by both top row number keys and numpad keys)
#Constant KEY_0 48
#Constant KEY_1 49
#Constant KEY_2 50
#Constant KEY_3 51
#Constant KEY_4 52
#Constant KEY_5 53
#Constant KEY_6 54
#Constant KEY_7 55
#Constant KEY_8 56
#Constant KEY_9 57
#Constant KEY_A 65
#Constant KEY_B 66
#Constant KEY_C 67
#Constant KEY_D 68
#Constant KEY_E 69
#Constant KEY_F 70
#Constant KEY_G 71
#Constant KEY_H 72
#Constant KEY_I 73
#Constant KEY_J 74
#Constant KEY_K 75
#Constant KEY_L 76
#Constant KEY_M 77
#Constant KEY_N 78
#Constant KEY_O 79
#Constant KEY_P 80
#Constant KEY_Q 81
#Constant KEY_R 82
#Constant KEY_S 83
#Constant KEY_T 84
#Constant KEY_U 85
#Constant KEY_V 86
#Constant KEY_W 87
#Constant KEY_X 88
#Constant KEY_Y 89
#Constant KEY_Z 90
// Numpad (Optional)
#Constant KEY_NUMLOCK 144
#Constant KEY_NUMPAD_0 96
#Constant KEY_NUMPAD_1 97
#Constant KEY_NUMPAD_2 98
#Constant KEY_NUMPAD_3 99
#Constant KEY_NUMPAD_4 100
#Constant KEY_NUMPAD_5 101
#Constant KEY_NUMPAD_6 102
#Constant KEY_NUMPAD_7 103
#Constant KEY_NUMPAD_8 104
#Constant KEY_NUMPAD_9 105
#Constant KEY_ASTERISK 106
#Constant KEY_PLUS 107
#Constant KEY_SUBTRACT 109
#Constant KEY_DECIMAL 110
#Constant KEY_DIVIDE 111
// Function
#Constant KEY_F1 112
#Constant KEY_F2 113
#Constant KEY_F3 114
#Constant KEY_F4 115
#Constant KEY_F5 116
#Constant KEY_F6 117
#Constant KEY_F7 118
#Constant KEY_F8 119
#Constant KEY_F9 120
#Constant KEY_F10 121
#Constant KEY_F11 122
#Constant KEY_F12 123
// Media
#Constant KEY_VOLUME_MUTE 173
#Constant KEY_VOLUME_DOWN 174
#Constant KEY_VOLUME_UP 175
#Constant KEY_MEDIA_NEXT 176
#Constant KEY_MEDIA_PREV 177
#Constant KEY_MEDIA_STOP 178
#Constant KEY_MEDIA_PLAY 179
#Constant KEY_CALCULATOR 183
// Punctuation
#Constant KEY_SEMICOLON 186
#Constant KEY_EQUAL 187
#Constant KEY_COMMA 188
#Constant KEY_HYPHON 189
#Constant KEY_FULLSTOP 190
#Constant KEY_FORWARDSLASH 191
#Constant KEY_QUOTE 192
#Constant KEY_BRACKETOPEN 219
#Constant KEY_BACKSLASH 220
#Constant KEY_BRACKETCLOSE 221
#Constant KEY_HASH 222
#Constant KEY_APOSTROPHE 223
// Number Keys
#Constant KEY_TOP_0 263
#Constant KEY_TOP_1 264
#Constant KEY_TOP_2 265
#Constant KEY_TOP_3 266
#Constant KEY_TOP_4 267
#Constant KEY_TOP_5 268
#Constant KEY_TOP_6 269
#Constant KEY_TOP_7 270
#Constant KEY_TOP_8 271
#Constant KEY_TOP_9 272