Input.key

From codeTank

Jump to: navigation, search

Contents

Description

input.key is a table used for converting between key labels, and virtual key codes. Both conversions exist in the same table. For example:

print(input.key.SPACE) -- outputs: 32
print(input.key[32]) -- outputs: SPACE

The virtual key code is used in other input functions - notably, input.getkey and input.getkeyboard, along with window events onkeydown and onkeyup (in the key parameter).

Data

The following is the exact data as it exists in the table:

input.key = {}

-- label to virtual key
input.key.LBUTTON = 1
input.key.RBUTTON = 2
input.key.CANCEL = 3
input.key.MBUTTON = 4
input.key.BACK = 8
input.key.TAB = 9
input.key.CLEAR = 12
input.key.RETURN = 13
input.key.SHIFT = 16
input.key.CTRL = 17
input.key.ALT = 18
input.key.PAUSE = 19
input.key.CAPITAL = 20
input.key.KANA = 21
input.key.JUNJA = 23
input.key.FINAL = 24
input.key.HANJA = 25
input.key.ESCAPE = 27
input.key.CONVERT = 28
input.key.NONCONVERT = 29
input.key.ACCEPT = 30
input.key.MODECHANGE = 31
input.key.SPACE = 32
input.key.PRIOR = 33
input.key.NEXT = 34
input.key.END = 35
input.key.HOME = 36
input.key.LEFT = 37
input.key.UP = 38
input.key.RIGHT = 39
input.key.DOWN = 40
input.key.SELECT = 41
input.key.PRINT = 42
input.key.EXECUTE = 43
input.key.SNAPSHOT = 44
input.key.INSERT = 45
input.key.DELETE = 46
input.key.HELP = 47
input.key.NUM0 = 48
input.key.NUM1 = 49
input.key.NUM2 = 50
input.key.NUM3 = 51
input.key.NUM4 = 52
input.key.NUM5 = 53
input.key.NUM6 = 54
input.key.NUM7 = 55
input.key.NUM8 = 56
input.key.NUM9 = 57
input.key.A = 65
input.key.B = 66
input.key.C = 67
input.key.D = 68
input.key.E = 69
input.key.F = 70
input.key.G = 71
input.key.H = 72
input.key.I = 73
input.key.J = 74
input.key.K = 75
input.key.L = 76
input.key.M = 77
input.key.N = 78
input.key.O = 79
input.key.P = 80
input.key.Q = 81
input.key.R = 82
input.key.S = 83
input.key.T = 84
input.key.U = 85
input.key.V = 86
input.key.W = 87
input.key.X = 88
input.key.Y = 89
input.key.Z = 90
input.key.LWIN = 91
input.key.RWIN = 92
input.key.APPS = 93
input.key.SLEEP = 95
input.key.NUMPAD0 = 96
input.key.NUMPAD1 = 97
input.key.NUMPAD2 = 98
input.key.NUMPAD3 = 99
input.key.NUMPAD4 = 100
input.key.NUMPAD5 = 101
input.key.NUMPAD6 = 102
input.key.NUMPAD7 = 103
input.key.NUMPAD8 = 104
input.key.NUMPAD9 = 105
input.key.MULTIPLY = 106
input.key.ADD = 107
input.key.SEPARATOR = 108
input.key.SUBTRACT = 109
input.key.DECIMAL = 110
input.key.DIVIDE = 111
input.key.F1 = 112
input.key.F2 = 113
input.key.F3 = 114
input.key.F4 = 115
input.key.F5 = 116
input.key.F6 = 117
input.key.F7 = 118
input.key.F8 = 119
input.key.F9 = 120
input.key.F10 = 121
input.key.F11 = 122
input.key.F12 = 123
input.key.F13 = 124
input.key.F14 = 125
input.key.F15 = 126
input.key.F16 = 127
input.key.F17 = 128
input.key.F18 = 129
input.key.F19 = 130
input.key.F20 = 131
input.key.F21 = 132
input.key.F22 = 133
input.key.F23 = 134
input.key.F24 = 135
input.key.NUMLOCK = 144
input.key.SCROLL = 145
input.key.LSHIFT = 160
input.key.RSHIFT = 161
input.key.LCTRL = 162
input.key.RCTRL = 163
input.key.LALT = 164
input.key.RALT = 165
input.key.BROWSER_BACK = 166
input.key.BROWSER_FORWARD = 167
input.key.BROWSER_REFRESH = 168
input.key.BROWSER_STOP = 169
input.key.BROWSER_SEARCH = 170
input.key.BROWSER_FAVORITES = 171
input.key.BROWSER_HOME = 172
input.key.VOLUME_MUTE = 173
input.key.VOLUME_DOWN = 174
input.key.VOLUME_UP = 175
input.key.MEDIA_NEXT_TRACK = 176
input.key.MEDIA_PREV_TRACK = 177
input.key.MEDIA_STOP = 178
input.key.MEDIA_PLAY_PAUSE = 179
input.key.LAUNCH_MAIL = 180
input.key.LAUNCH_MEDIA_SELECT = 181
input.key.LAUNCH_APP1 = 182
input.key.LAUNCH_APP2 = 183
input.key.COLON = 186
input.key.PLUS = 187
input.key.COMMA = 188
input.key.MINUS = 189
input.key.PERIOD = 190
input.key.QUESTION = 191
input.key.TILDE = 192
input.key.LBRACE = 219
input.key.PIPE = 220
input.key.RBRACE = 221
input.key.QUOTE = 222
input.key.OEM_8 = 223
input.key.OEM_102 = 226
input.key.PROCESSKEY = 229
input.key.PACKET = 231
input.key.ATTN = 246
input.key.CRSEL = 247
input.key.EXSEL = 248
input.key.EREOF = 249
input.key.PLAY = 250
input.key.ZOOM = 251
input.key.NONAME = 252
input.key.PA1 = 253
input.key.OEM_CLEAR = 254

-- virtual key to label
input.key[1] = "LBUTTON"
input.key[2] = "RBUTTON"
input.key[3] = "CANCEL"
input.key[4] = "MBUTTON"
input.key[8] = "BACK"
input.key[9] = "TAB"
input.key[12] = "CLEAR"
input.key[13] = "RETURN"
input.key[16] = "SHIFT"
input.key[17] = "CTRL"
input.key[18] = "ALT"
input.key[19] = "PAUSE"
input.key[20] = "CAPITAL"
input.key[21] = "KANA"
input.key[23] = "JUNJA"
input.key[24] = "FINAL"
input.key[25] = "HANJA"
input.key[27] = "ESCAPE"
input.key[28] = "CONVERT"
input.key[29] = "NONCONVERT"
input.key[30] = "ACCEPT"
input.key[31] = "MODECHANGE"
input.key[32] = "SPACE"
input.key[33] = "PRIOR"
input.key[34] = "NEXT"
input.key[35] = "END"
input.key[36] = "HOME"
input.key[37] = "LEFT"
input.key[38] = "UP"
input.key[39] = "RIGHT"
input.key[40] = "DOWN"
input.key[41] = "SELECT"
input.key[42] = "PRINT"
input.key[43] = "EXECUTE"
input.key[44] = "SNAPSHOT"
input.key[45] = "INSERT"
input.key[46] = "DELETE"
input.key[47] = "HELP"
input.key[48] = "NUM0"
input.key[49] = "NUM1"
input.key[50] = "NUM2"
input.key[51] = "NUM3"
input.key[52] = "NUM4"
input.key[53] = "NUM5"
input.key[54] = "NUM6"
input.key[55] = "NUM7"
input.key[56] = "NUM8"
input.key[57] = "NUM9"
input.key[65] = "A"
input.key[66] = "B"
input.key[67] = "C"
input.key[68] = "D"
input.key[69] = "E"
input.key[70] = "F"
input.key[71] = "G"
input.key[72] = "H"
input.key[73] = "I"
input.key[74] = "J"
input.key[75] = "K"
input.key[76] = "L"
input.key[77] = "M"
input.key[78] = "N"
input.key[79] = "O"
input.key[80] = "P"
input.key[81] = "Q"
input.key[82] = "R"
input.key[83] = "S"
input.key[84] = "T"
input.key[85] = "U"
input.key[86] = "V"
input.key[87] = "W"
input.key[88] = "X"
input.key[89] = "Y"
input.key[90] = "Z"
input.key[91] = "LWIN"
input.key[92] = "RWIN"
input.key[93] = "APPS"
input.key[95] = "SLEEP"
input.key[96] = "NUMPAD0"
input.key[97] = "NUMPAD1"
input.key[98] = "NUMPAD2"
input.key[99] = "NUMPAD3"
input.key[100] = "NUMPAD4"
input.key[101] = "NUMPAD5"
input.key[102] = "NUMPAD6"
input.key[103] = "NUMPAD7"
input.key[104] = "NUMPAD8"
input.key[105] = "NUMPAD9"
input.key[106] = "MULTIPLY"
input.key[107] = "ADD"
input.key[108] = "SEPARATOR"
input.key[109] = "SUBTRACT"
input.key[110] = "DECIMAL"
input.key[111] = "DIVIDE"
input.key[112] = "F1"
input.key[113] = "F2"
input.key[114] = "F3"
input.key[115] = "F4"
input.key[116] = "F5"
input.key[117] = "F6"
input.key[118] = "F7"
input.key[119] = "F8"
input.key[120] = "F9"
input.key[121] = "F10"
input.key[122] = "F11"
input.key[123] = "F12"
input.key[124] = "F13"
input.key[125] = "F14"
input.key[126] = "F15"
input.key[127] = "F16"
input.key[128] = "F17"
input.key[129] = "F18"
input.key[130] = "F19"
input.key[131] = "F20"
input.key[132] = "F21"
input.key[133] = "F22"
input.key[134] = "F23"
input.key[135] = "F24"
input.key[144] = "NUMLOCK"
input.key[145] = "SCROLL"
input.key[160] = "LSHIFT"
input.key[161] = "RSHIFT"
input.key[162] = "LCTRL"
input.key[163] = "RCTRL"
input.key[164] = "LALT"
input.key[165] = "RALT"
input.key[166] = "BROWSER_BACK"
input.key[167] = "BROWSER_FORWARD"
input.key[168] = "BROWSER_REFRESH"
input.key[169] = "BROWSER_STOP"
input.key[170] = "BROWSER_SEARCH"
input.key[171] = "BROWSER_FAVORITES"
input.key[172] = "BROWSER_HOME"
input.key[173] = "VOLUME_MUTE"
input.key[174] = "VOLUME_DOWN"
input.key[175] = "VOLUME_UP"
input.key[176] = "MEDIA_NEXT_TRACK"
input.key[177] = "MEDIA_PREV_TRACK"
input.key[178] = "MEDIA_STOP"
input.key[179] = "MEDIA_PLAY_PAUSE"
input.key[180] = "LAUNCH_MAIL"
input.key[181] = "LAUNCH_MEDIA_SELECT"
input.key[182] = "LAUNCH_APP1"
input.key[183] = "LAUNCH_APP2"
input.key[186] = "COLON"
input.key[187] = "PLUS"
input.key[188] = "COMMA"
input.key[189] = "MINUS"
input.key[190] = "PERIOD"
input.key[191] = "QUESTION"
input.key[192] = "TILDE"
input.key[219] = "LBRACE"
input.key[220] = "PIPE"
input.key[221] = "RBRACE"
input.key[222] = "QUOTE"
input.key[223] = "OEM_8"
input.key[226] = "OEM_102"
input.key[229] = "PROCESSKEY"
input.key[231] = "PACKET"
input.key[246] = "ATTN"
input.key[247] = "CRSEL"
input.key[248] = "EXSEL"
input.key[249] = "EREOF"
input.key[250] = "PLAY"
input.key[251] = "ZOOM"
input.key[252] = "NONAME"
input.key[253] = "PA1"
input.key[254] = "OEM_CLEAR"

Example

txt = ""
wnd = window.create{
    width = 200,
    height = 100,

    onkeydown = function(wnd, kd)
            txt = kd.key .. ": " .. input.key[kd.key]
            wnd:invalidate()
        end,

    onpaint = function(wnd, pnt)
            s = pnt:printsize("Type keys:")
            pnt:print((wnd.width - s.width) / 2,
                wnd.height / 2 - s.height, "Type keys:")
            pnt:print((wnd.width - s.width) / 2, wnd.height / 2, txt)
        end,
    }

while window.getcount() > 0 do
    window.pumpmessages()
end

See Also

Personal tools