dobrograd-13-06-2022/garrysmod/addons/util-dlib/lua/dlib/enums/keymapping.lua
Jonny_Bro (Nikita) e4d5311906 first commit
2023-11-16 15:01:19 +05:00

160 lines
3.6 KiB
Lua

-- Copyright (C) 2017-2020 DBotThePony
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-- of the Software, and to permit persons to whom the Software is furnished to do so,
-- subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies
-- or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-- INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-- PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-- FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-- DEALINGS IN THE SOFTWARE.
local DLib = DLib
local KEY_NONE = KEY_NONE
DLib.KeyMap = {}
DLib.KeyMap.KEY = {
[KEY_0] = '0',
[KEY_1] = '1',
[KEY_2] = '2',
[KEY_3] = '3',
[KEY_4] = '4',
[KEY_5] = '5',
[KEY_6] = '6',
[KEY_7] = '7',
[KEY_8] = '8',
[KEY_9] = '9',
[KEY_A] = 'A',
[KEY_B] = 'B',
[KEY_C] = 'C',
[KEY_D] = 'D',
[KEY_E] = 'E',
[KEY_F] = 'F',
[KEY_G] = 'G',
[KEY_H] = 'H',
[KEY_I] = 'I',
[KEY_J] = 'J',
[KEY_K] = 'K',
[KEY_L] = 'L',
[KEY_M] = 'M',
[KEY_N] = 'N',
[KEY_O] = 'O',
[KEY_P] = 'P',
[KEY_Q] = 'Q',
[KEY_R] = 'R',
[KEY_S] = 'S',
[KEY_T] = 'T',
[KEY_U] = 'U',
[KEY_V] = 'V',
[KEY_W] = 'W',
[KEY_X] = 'X',
[KEY_Y] = 'Y',
[KEY_Z] = 'Z',
[KEY_PAD_0] = '0',
[KEY_PAD_1] = '1',
[KEY_PAD_2] = '2',
[KEY_PAD_3] = '3',
[KEY_PAD_4] = '4',
[KEY_PAD_5] = '5',
[KEY_PAD_6] = '6',
[KEY_PAD_7] = '7',
[KEY_PAD_8] = '8',
[KEY_PAD_9] = '9',
[KEY_PAD_DIVIDE] = '/',
[KEY_PAD_MULTIPLY] = '*',
[KEY_PAD_MINUS] = '-',
[KEY_PAD_PLUS] = '+',
[KEY_LBRACKET] = '(',
[KEY_RBRACKET] = ')',
[KEY_SEMICOLON] = ';',
[KEY_PAD_DECIMAL] = '.',
[KEY_APOSTROPHE] = "'",
[KEY_BACKQUOTE] = '`',
[KEY_COMMA] = ',',
[KEY_PERIOD] = '.',
[KEY_SLASH] = '/',
[KEY_BACKSLASH] = '\\',
[KEY_MINUS] = '-',
[KEY_EQUAL] = '=',
[KEY_SPACE] = ' ',
[KEY_TAB] = ' ',
[KEY_UP] = 'UP',
[KEY_LEFT] = 'LEFT',
[KEY_DOWN] = 'DOWN',
[KEY_RIGHT] = 'RIGHT',
[KEY_F1] = 'F1',
[KEY_F2] = 'F2',
[KEY_F3] = 'F3',
[KEY_F4] = 'F4',
[KEY_F5] = 'F5',
[KEY_F6] = 'F6',
[KEY_F7] = 'F7',
[KEY_F8] = 'F8',
[KEY_F9] = 'F9',
[KEY_F10] = 'F10',
[KEY_F11] = 'F11',
[KEY_F12] = 'F12',
}
DLib.KeyMap.KEY_LOWER = {}
DLib.KeyMap.KEY_REVERSE = {}
for k, v in pairs(DLib.KeyMap.KEY) do
DLib.KeyMap.KEY_LOWER[k] = v:lower()
DLib.KeyMap.KEY_REVERSE[v] = k
DLib.KeyMap.KEY_REVERSE[v:lower()] = k
end
function DLib.KeyMap.GetKeyFromString(strIn)
return DLib.KeyMap.KEY_REVERSE[strIn:lower()] or KEY_NONE
end
DLib.KeyMap.NUMBERS_LIST = {
KEY_0,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_PAD_0,
KEY_PAD_1,
KEY_PAD_2,
KEY_PAD_3,
KEY_PAD_4,
KEY_PAD_5,
KEY_PAD_6,
KEY_PAD_7,
KEY_PAD_8,
KEY_PAD_9,
KEY_MINUS,
KEY_PAD_MINUS,
KEY_PAD_DECIMAL,
KEY_PERIOD,
}
DLib.KeyMap.NUMBERS_HASH = {}
DLib.KeyMap.NUMBERS_STR = {}
DLib.KeyMap.NUMBERS_STR_LIST = {}
DLib.KeyMap.NUMBERS_STR_REVERSE = {}
for k, v in ipairs(DLib.KeyMap.NUMBERS_LIST) do
DLib.KeyMap.NUMBERS_HASH[v] = v
table.insert(DLib.KeyMap.NUMBERS_STR_LIST, DLib.KeyMap.KEY[v])
DLib.KeyMap.NUMBERS_STR[v] = DLib.KeyMap.KEY[v]
DLib.KeyMap.NUMBERS_STR_REVERSE[DLib.KeyMap.KEY[v]] = v
end