feat: add key dispatcher
This commit is contained in:
@@ -134,10 +134,7 @@ function registerEventListener(name, listener)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function dispatchEvents(event, ...)
|
function dispatchEvents(event, ...)
|
||||||
-- log.info("dispatching event: %s", event)
|
|
||||||
|
|
||||||
local eventTbl = eventListeners[event]
|
local eventTbl = eventListeners[event]
|
||||||
|
|
||||||
if not eventTbl then return end
|
if not eventTbl then return end
|
||||||
|
|
||||||
for i = 1, #eventTbl, 1 do
|
for i = 1, #eventTbl, 1 do
|
||||||
@@ -185,17 +182,39 @@ registerEventListener("modem_message", handleMessages)
|
|||||||
local logOffset = 0
|
local logOffset = 0
|
||||||
|
|
||||||
-- to-do: add key handlers
|
-- to-do: add key handlers
|
||||||
function handleKey(key, isHeld)
|
|
||||||
if key == 264 then
|
--[[
|
||||||
logOffset = logOffset - 1
|
key handling
|
||||||
elseif key == 265 then
|
]]
|
||||||
logOffset = logOffset + 1
|
local keyListeners = {}
|
||||||
|
function registerKeyListener(id, listener)
|
||||||
|
if not keyListeners[id] then keyListeners[id] = {} end
|
||||||
|
table.insert(keyListeners[id], listener)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function dispatchKey(key, isHeld)
|
||||||
|
local keyTbl = eventListeners[key]
|
||||||
|
if not keyTbl then return end
|
||||||
|
|
||||||
|
for i = 1, #keyTbl, 1 do
|
||||||
|
keyTbl[i](isHeld)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
registerEventListener("key", dispatchKey)
|
||||||
|
|
||||||
|
function scrollLogsUp(isHeld)
|
||||||
|
logOffset = logOffset - 1
|
||||||
if logOffset < 0 then logOffset = 0 end
|
if logOffset < 0 then logOffset = 0 end
|
||||||
|
end
|
||||||
|
registerKeyListener(265, scrollLogsUp)
|
||||||
|
|
||||||
|
function scrollLogsDown(isHeld)
|
||||||
|
logOffset = logOffset + 1
|
||||||
if logOffset >= #log.buffer then logOffset = #log.buffer - 1 end
|
if logOffset >= #log.buffer then logOffset = #log.buffer - 1 end
|
||||||
end
|
end
|
||||||
registerEventListener("key", handleKey)
|
registerKeyListener(264, scrollLogsUp)
|
||||||
|
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
main
|
main
|
||||||
|
|||||||
Reference in New Issue
Block a user