feat: add key dispatcher

This commit is contained in:
2025-05-06 20:20:40 -03:00
parent ae31ece2b2
commit 90af2363ae
+29 -10
View File
@@ -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
elseif key == 265 then
logOffset = logOffset + 1
end
--[[
key handling
]]
local keyListeners = {}
function registerKeyListener(id, listener)
if not keyListeners[id] then keyListeners[id] = {} end
table.insert(keyListeners[id], listener)
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