mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 19:19:21 +01:00
118 lines
2.1 KiB
Lua
Executable File
118 lines
2.1 KiB
Lua
Executable File
local keyboard = {
|
|
-- Control
|
|
LEFT_CONTROL = 29,
|
|
RIGHT_CONTROL = 157,
|
|
-- Shift
|
|
LEFT_SHIFT = 42,
|
|
RIGHT_SHIFT = 54,
|
|
-- Alt
|
|
LEFT_ALT = 56,
|
|
RIGHT_ALT = 184,
|
|
-- Command (Mac & Linux) or Windows Key (Windows), I added both in case someone is from windows
|
|
COMMAND_KEY = 219,
|
|
WINDOWS_KEY = 219,
|
|
|
|
-- Numbers (Not from Num Pad)
|
|
ONE = 2,
|
|
TWO = 3,
|
|
THREE = 4,
|
|
FOUR = 5,
|
|
FIVE = 6,
|
|
SIX = 7,
|
|
SEVEN = 8,
|
|
EIGHT = 9,
|
|
NINE = 10,
|
|
ZERO = 11,
|
|
|
|
-- Letters
|
|
A = 30,
|
|
B = 48,
|
|
C = 46,
|
|
D = 32,
|
|
E = 18,
|
|
F = 33,
|
|
G = 34,
|
|
H = 35,
|
|
I = 23,
|
|
J = 36,
|
|
K = 37,
|
|
L = 38,
|
|
M = 50,
|
|
N = 49,
|
|
O = 24,
|
|
P = 25,
|
|
Q = 16,
|
|
R = 19,
|
|
S = 31,
|
|
T = 20,
|
|
U = 22,
|
|
V = 47,
|
|
W = 17,
|
|
X = 45,
|
|
Y = 21,
|
|
Z = 44,
|
|
|
|
-- Misc
|
|
MINUS= 12,
|
|
PLUS = 13,
|
|
BACKSPACE = 14,
|
|
TAB = 15,
|
|
SINGLE_QUOTE = 26,
|
|
EXCLAMATION = 27,
|
|
ENTER = 28,
|
|
OPEN_QUOTE = 40,
|
|
COMMA = 51,
|
|
DOT = 52,
|
|
SPACE = 57,
|
|
|
|
-- Arrow Keys
|
|
UP = 200,
|
|
DOWN = 208,
|
|
RIGHT = 205,
|
|
LEFT = 203,
|
|
}
|
|
|
|
local pressedCodes = {}
|
|
|
|
-------------------------------------------------------------------------
|
|
|
|
function keyboard.isKeyDown(code)
|
|
checkArg(1, code, "number")
|
|
|
|
return pressedCodes[code]
|
|
end
|
|
|
|
function keyboard.isControl(code)
|
|
return type(code) == "number" and (code < 32 or (code >= 127 and code <= 159))
|
|
end
|
|
|
|
function keyboard.isAltDown()
|
|
return pressedCodes[keyboard.LEFT_ALT] or pressedCodes[keyboard.RIGHT_ALT]
|
|
end
|
|
|
|
function keyboard.isControlDown()
|
|
return pressedCodes[keyboard.LEFT_CONTROL] or pressedCodes[keyboard.RIGHT_CONTROL]
|
|
end
|
|
|
|
function keyboard.isShiftDown()
|
|
return pressedCodes[keyboard.LEFT_SHIFT] or pressedCodes[keyboard.RIGHT_SHIFT]
|
|
end
|
|
|
|
function keyboard.isCommandDown()
|
|
return pressedCodes[keyboard.COMMAND_KEY]
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
require("Event").addHandler(function(e1, _, _, e4)
|
|
if e1 == "key_down" then
|
|
pressedCodes[e4] = true
|
|
elseif e1 == "key_up" then
|
|
pressedCodes[e4] = nil
|
|
end
|
|
end)
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
return keyboard
|