diff --git a/lua/CC Tweaked/tutel/tutel-host.lua b/lua/CC Tweaked/tutel/tutel-host.lua index 88b80bc..2999fe6 100644 --- a/lua/CC Tweaked/tutel/tutel-host.lua +++ b/lua/CC Tweaked/tutel/tutel-host.lua @@ -177,44 +177,26 @@ function handleMessages(side, channel, replyChannel, message, dist) log.info("processed command (%s)", message.name) end + registerEventListener("modem_message", handleMessages) -local logOffset = 0 - --- to-do: add key handlers - --[[ key handling ]] -local keyListeners = {} -function registerKeyListener(id, listener) - if not keyListeners[id] then keyListeners[id] = {} end - table.insert(keyListeners[id], listener) +local logOffset = 0 -end - -function dispatchKey(key, isHeld) - local keyTbl = eventListeners[key] - if not keyTbl then return end - - for i = 1, #keyTbl, 1 do - keyTbl[i](isHeld) +function scrollLogs(isHeld) + if key == 264 then + logOffset = logOffset - 1 + elseif key == 265 then + logOffset = logOffset + 1 end -end -registerEventListener("key", dispatchKey) -function scrollLogsUp(isHeld) - logOffset = logOffset - 1 if logOffset < 0 then logOffset = 0 end + if logOffset >= #log.buffer then logOffset = #log.buffer - 1 end end -registerKeyListener(265, scrollLogsUp) - -function scrollLogsDown(isHeld) - logOffset = logOffset + 1 - if logOffset >= #log.buffer then logOffset = #log.buffer - 1 end -end -registerKeyListener(264, scrollLogsUp) +registerEventListener("key", scrollLogs) --[[ main @@ -240,16 +222,16 @@ function updateScreen() -- reset state and clear screen term.setBackgroundColor(colors.black) term.clear() - + -- -- title bar term.setCursorPos(1, 1) term.setBackgroundColor(colors.lightGray) term.setTextColour(colors.black) - + term.clearLine() drawTextCentered("tutel host controller") - + term.setBackgroundColor(colors.black) term.setTextColour(colors.white) @@ -303,7 +285,7 @@ end --[[ main loop ]] -for i=0, 15, 1 do +for i = 0, 15, 1 do log.info("some log %d", i) log.warning("some warning %d", i) end @@ -312,4 +294,4 @@ sendToAll("SCAN", { ["hostChannel"] = HOST_CHANNEL }) while true do updateScreen() pollEvents() -end \ No newline at end of file +end