mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 19:19:21 +01:00
46 lines
1001 B
Lua
Executable File
46 lines
1001 B
Lua
Executable File
|
|
local keyboard = {}
|
|
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[56] or pressedCodes[184]
|
|
end
|
|
|
|
function keyboard.isControlDown()
|
|
return pressedCodes[29] or pressedCodes[157]
|
|
end
|
|
|
|
function keyboard.isShiftDown()
|
|
return pressedCodes[42] or pressedCodes[54]
|
|
end
|
|
|
|
function keyboard.isCommandDown()
|
|
return pressedCodes[219]
|
|
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
|