If you want to know all the possible scancode() and keystate() thingies, look below..
(Why do I get the feeling this is going to go to waste, and just annoy some people? Hell, even I don't like elongatated posts! Consider this the ultimate reference.)
Taken straight off one of the DirectX 8.1 SDK help pages (Visual Basic section):
CONST_DIKEYFLAGS
Used to identify keys in keyboard data.
Enum CONST_DIKEYFLAGS
DIK_0 = 11
DIK_1 = 2
DIK_2 = 3
DIK_3 = 4
DIK_4 = 5
DIK_5 = 6
DIK_6 = 7
DIK_7 = 8
DIK_8 = 9
DIK_9 = 10
DIK_A = 30 (&H1E)
DIK_ABNT_C1 = 115 (&H73)
DIK_ABNT_C2 = 126 (&H7E)
DIK_ADD = 78 (&H4E)
DIK_APOSTROPHE = 40 (&H28)
DIK_APPS = 221 (&HDD)
DIK_AT = 145 (&H91)
DIK_AX = 150 (&H96)
DIK_B = 48 (&H30)
DIK_BACK = 14
DIK_BACKSLASH = 43 (&H2B)
DIK_BACKSPACE = 14
DIK_C = 46 (&H2E)
DIK_CALCULATOR = 161 (&HA1)
DIK_CAPITAL = 58 (&H3A)
DIK_CAPSLOCK = 58 (&H3A)
DIK_CIRCUMFLEX = 144 (&H90)
DIK_COLON = 146 (&H92)
DIK_COMMA = 51 (&H33)
DIK_CONVERT = 121 (&H79)
DIK_D = 32 (&H20)
DIK_DECIMAL = 83 (&H53)
DIK_DELETE = 211 (&HD3)
DIK_DIVIDE = 181 (&HB5)
DIK_DOWN = 208 (&HD0)
DIK_DOWNARROW = 208 (&HD0)
DIK_E = 18 (&H12)
DIK_END = 207 (&HCF)
DIK_EQUALS = 13
DIK_ESCAPE = 1
DIK_F = 33 (&H21)
DIK_F1 = 59 (&H3B)
DIK_F2 = 60 (&H3C)
DIK_F3 = 61 (&H3D)
DIK_F4 = 62 (&H3E)
DIK_F5 = 63 (&H3F)
DIK_F6 = 64 (&H40)
DIK_F7 = 65 (&H41)
DIK_F8 = 66 (&H42)
DIK_F9 = 67 (&H43)
DIK_F10 = 68 (&H44)
DIK_F11 = 87 (&H57)
DIK_F12 = 88 (&H58)
DIK_F13 = 100 (&H64)
DIK_F14 = 101 (&H65)
DIK_F15 = 102 (&H66)
DIK_G = 34 (&H22)
DIK_GRAVE = 41 (&H29)
DIK_H = 35 (&H23)
DIK_HOME = 199 (&HC7)
DIK_I = 23 (&H17)
DIK_INSERT = 210 (&HD2)
DIK_J = 36 (&H24)
DIK_K = 37 (&H25)
DIK_KANA = 112 (&H70)
DIK_KANJI = 148 (&H94)
DIK_L = 38 (&H26)
DIK_LALT = 56 (&H38)
DIK_LBRACKET = 26 (&H1A)
DIK_LCONTROL = 29 (&H1D)
DIK_LEFT = 203 (&HCB)
DIK_LEFTARROW = 203 (&HCB)
DIK_LMENU = 56 (&H38)
DIK_LSHIFT = 42 (&H2A)
DIK_LWIN = 219 (&HDB)
DIK_M = 50 (&H32)
DIK_MAIL = 236 (&HEC)
DIK_MEDIASELECT = 237 (&HED)
DIK_MEDIASTOP = 164 (&HA4)
DIK_MINUS = 12
DIK_MULTIPLY = 55 (&H37)
DIK_MUTE = 160 (&HA0)
DIK_MYCOMPUTER = 235 (&HEB)
DIK_N = 49 (&H31)
DIK_NEXT = 209 (&HD1)
DIK_NEXTTRACK = 153 (&H99)
DIK_NOCONVERT = 123 (&H7B)
DIK_NUMLOCK = 69 (&H45)
DIK_NUMPAD0 = 82 (&H52)
DIK_NUMPAD1 = 79 (&H4F)
DIK_NUMPAD2 = 80 (&H50)
DIK_NUMPAD3 = 81 (&H51)
DIK_NUMPAD4 = 75 (&H4B)
DIK_NUMPAD5 = 76 (&H4C)
DIK_NUMPAD6 = 77 (&H4D)
DIK_NUMPAD7 = 71 (&H47)
DIK_NUMPAD8 = 72 (&H48)
DIK_NUMPAD9 = 73 (&H49)
DIK_NUMPADCOMMA = 179 (&HB3)
DIK_NUMPADENTER = 156 (&H9C)
DIK_NUMPADEQUALS = 141 (&H8D)
DIK_NUMPADMINUS = 74 (&H4A)
DIK_NUMPADPERIOD = 83 (&H53)
DIK_NUMPADPLUS = 78 (&H4E)
DIK_NUMPADSLASH = 181 (&HB5)
DIK_NUMPADSTAR = 55 (&H37)
DIK_O = 24 (&H18)
DIK_OEM_102 = 86 (&H56)
DIK_P = 25 (&H19)
DIK_PAUSE = 197 (&HC5)
DIK_PERIOD = 52 (&H34)
DIK_PGDN = 209 (&HD1)
DIK_PGUP = 201 (&HC9)
DIK_PLAYPAUSE = 162 (&HA2)
DIK_POWER = 222 (&HDE)
DIK_PREVTRACK = 144 (&H90)
DIK_PRIOR = 201 (&HC9)
DIK_Q = 16 (&H10)
DIK_R = 19 (&H13)
DIK_RALT = 184 (&HB8)
DIK_RBRACKET = 27 (&H1B)
DIK_RCONTROL = 157 (&H9D)
DIK_RETURN = 28 (&H1C)
DIK_RIGHT = 205 (&HCD)
DIK_RIGHTARROW = 205 (&HCD)
DIK_RMENU = 184 (&HB8)
DIK_RSHIFT = 54 (&H36)
DIK_RWIN = 220 (&HDC)
DIK_S = 31 (&H1F)
DIK_SCROLL = 70 (&H46)
DIK_SEMICOLON = 39 (&H27)
DIK_SLASH = 53 (&H35)
DIK_SLEEP = 223 (&HDF)
DIK_SPACE = 57 (&H39)
DIK_STOP = 149 (&H95)
DIK_SUBTRACT = 74 (&H4A)
DIK_SYSRQ = 183 (&HB7)
DIK_T = 20 (&H14)
DIK_TAB = 15
DIK_U = 22 (&H16)
DIK_UNDERLINE = 147 (&H93)
DIK_UNLABELED = 151 (&H97)
DIK_UP = 200 (&HC8)
DIK_UPARROW = 200 (&HC8)
DIK_V = 47 (&H2F)
DIK_VOLUMEDOWN = 174 (&HAE)
DIK_VOLUMEUP = 176 (&HB0)
DIK_W = 17 (&H11)
DIK_WAKE = 227 (&HE3)
DIK_WEBBACK = 234 (&HEA)
DIK_WEBFAVORITES = 230 (&HE6)
DIK_WEBFORWARD = 233 (&HE9)
DIK_WEBHOME = 178 (&HB2)
DIK_WEBREFRESH = 231 (&HE7)
DIK_WEBSEARCH = 229 (&HE5)
DIK_WEBSTOP = 232 (&HE8)
DIK_X = 45 (&H2D)
DIK_Y = 21 (&H15)
DIK_YEN = 125 (&H7D)
DIK_Z = 44 (&H2C)
End Enum
Constants
DIK_(n)
Number keys 0 through 9 on the main keyboard
DIK_A…DIK_Z
Letter keys A through Z on the main keyboard
DIK_ABNT_C1, DIK_ABNT_C2
On numeric keypad of Brazilian keyboards
DIK_ADD
PLUS SIGN (+) on the numeric keypad
DIK_APOSTROPHE
APOSTROPHE (') key
DIK_APPS
Application key
DIK_AT
On Japanese keyboard
DIK_AX
On Japanese keyboard
DIK_BACK
BACKSPACE key
DIK_BACKSLASH
BACKSLASH (\) key
DIK_BACKSPACE
BACKSPACE key (alias of DIK_BACKSLASH)
DIK_CALCULATOR
Dedicated key that launches a calculator
DIK_CAPITAL
CAPS LOCK key
DIK_CAPSLOCK
CAPS LOCK key (alias of DIK_CAPITAL)
DIK_CIRCUMFLEX
On Japanese keyboard
DIK_COLON
On Japanese keyboard
DIK_COMMA
COMMA (,) key
DIK_CONVERT
On Japanese keyboard
DIK_DECIMAL
Decimal point (PERIOD) on the numeric keypad
DIK_DELETE
DELETE key on the main keyboard (not DEL on the numeric keypad)
DIK_DIVIDE
FORWARDSLASH (/) on the numeric keypad
DIK_DOWN, DIK_UP
DOWN ARROW, UP ARROW on main keyboard (not the arrow keys on the numeric keypad)
DIK_DOWNARROW, UPARROW
DOWN ARROW, UP ARROW on main keyboard (not the arrow keys on the numeric keypad) (aliases of DIK_DOWN and DIK_UP)
DIK_END
END key on the main keyboard (not END on the numeric keypad)
DIK_EQUALS
EQUAL SIGN on the main keyboard
DIK_ESCAPE
ESC key
DIK_F(n)
Function keys F1 through F15
DIK_GRAVE
Grave accent (`)
DIK_HOME
HOME key on the main keyboard (not HOME on the numeric keypad)
DIK_INSERT
INSERT key on the main keyboard (not INS on the numeric keypad)
DIK_KANA
On Japanese keyboard
DIK_KANJI
On Japanese keyboard
DIK_LALT, DIK RALT
Left and right ALT keys (alias of DIK_LMENU and DIK_RMENU)
DIK_LBRACKET, DIK_RBRACKET
Left ( [ ) and right ( ] ) SQUAREBRACKET keys
DIK_LCONTROL, DIK_RCONTROL
Left and right CTRL keys
DIK_LEFT, DIK_RIGHT
LEFT ARROW, RIGHT ARROW on the main keyboard (not the arrow keys on the numeric keypad)
DIK LEFTARROW, DIK_RIGHTARROW
LEFT ARROW, RIGHT ARROW on the main keyboard (not the arrow keys on the numeric keypad) (aliases of DIK_LEFT and DIK_RIGHT)
DIK_LMENU, DIK_RMENU
Left and right ALT keys
DIK_LSHIFT, DIK_RSHIFT
Left and right SHIFT keys
DIK_LWIN, DIK_RWIN
Left and right Microsoft® Windows® logo keys
DIK_MAIL
Dedicated key to launch an e-mail program
DIK_MEDIASELECT
Media Select key, which displays a selection of supported media players on the system
DIK_MEDIASTOP
Stops multimedia play
DIK_MINUS
MINUS SIGN (hyphen) on the main keyboard
DIK_MULTIPLY
Asterisk (*) on the numeric keypad
DIK_MUTE
Mutes sound output
DIK_MYCOMPUTER
Launches My Computer on applicable Windows systems
DIK_NEXT
PAGE DOWN key on the main keyboard (not PGDN on the numeric keypad)
DIK_NEXTTRACK
Advances to the next CD/DVD track
DIK_NOCONVERT
On Japanese keyboard
DIK_NUMLOCK
NUM LOCK key
DIK_NUMPAD(n)
Number keys on the numeric keypad
DIK_NUMPADCOMMA
COMMA on the NEC PC98 numeric keypad
DIK_NUMPADENTER
ENTER on the numeric keypad
DIK_NUMPADEQUALS
EQUAL SIGN on the numeric keypad of the NEC PC98 keyboard
DIK_NUMPADMINUS
MINUS SIGN on the numeric keypad (alias of DIK_SUBTRACT)
DIK_NUMPADPERIOD
Decimal point (PERIOD) on the numeric keypad (alias of DIK_DECIMAL)
DIK_NUMPADPLUS
PLUS SIGN (+) on the numeric keypad (alias of DIK_ADD)
DIK_NUMPADSLASH
FORWARD SLASH (/) on the numeric keypad (alias of DIK_DIVIDE)
DIK_NUMPADSTAR
ASTERISK (*) on the numeric keypad (alias of DIK_MULTIPLY)
DIK_OEM_102
On British and German keyboards
DIK_PAUSE
PAUSE key
DIK_PERIOD
PERIOD on the main keyboard (not the decimal point on the numeric keypad)
DIK_PGDN, DIK_PGUP
PAGE DOWN, PAGE UP keys on the main keyboard (not PGDN and PGUP on the numeric keypad) (aliases of DIK_NEXT and DIK_PRIOR)
DIK_PLAYPAUSE
Pauses multimedia play
DIK_POWER
System power key
DIK_PREVTRACK
Play the previous CD/DVD track
DIK_PRIOR
PAGE UP key on the main keyboard (not PGUP on the numeric keypad)
DIK_RETURN
ENTER on the main keyboard
DIK_SCROLL
SCROLL LOCK key
DIK_SEMICOLON
SEMICOLON key
DIK_SLASH
FORWARD SLASH (/) on the main keyboard (not FORWARD SLASH on the numeric keypad)
DIK_SLEEP
Sends the system into sleep mode
DIK_SPACE
The SPACEBAR
DIK_STOP
On Japanese keyboard
DIK_SUBTRACT
MINUS SIGN on the numeric keypad
DIK_SYSRQ
SYSRQ key
DIK_TAB
TAB key
DIK_UNDERLINE
On Japanese keyboard
DIK_UNLABELED
On Japanese keyboard
DIK_VOLUMEDOWN
Decreases sound output level
DIK_VOLUMEUP
Increases sound output level
DIK_WAKE
Wakes the system out of sleep mode
DIK_WEBBACK
Navigates a browser back one page in the history list
DIK_WEBFAVORITES
Displays the Internet Explorer Favorites list, the Windows Favorites folder, or the Netscape Bookmarks list
DIK_WEBFORWARD
Instructs a browser to move to the next page in the history list
DIK_WEBHOME
Instructs a browser to load the user's home page
DIK_WEBREFRESH
Instructs a browser to reload the current page
DIK_WEBSEARCH
Instructs a browser to launch a search engine
DIK_WEBSTOP
Instructs a browser to stop loading the current page
DIK_YEN
On Japanese keyboard
Remarks
The constants in this enumeration that are not aliases correspond to the members of CONST_DIKEYBOARDFLAGS, begin with DIK rather than DIKEYBOARD, and have different values.
Built on Wednesday, October 04, 2000
Avatar - white cat in a snowstorm. Look closely.