From 8260c8f59ff6dcf692fecd6505ae57656763514e Mon Sep 17 00:00:00 2001 From: ocawesome101 Date: Fri, 4 Jun 2021 16:25:09 -0400 Subject: [PATCH] add basic support for real arrow key thingos --- src/lua/core/computer.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/lua/core/computer.lua b/src/lua/core/computer.lua index 4fa33e7..2697daf 100644 --- a/src/lua/core/computer.lua +++ b/src/lua/core/computer.lua @@ -97,10 +97,27 @@ local asciitr = { [127] = 8, } +local escmap = { + A = 200, -- up + B = 208, -- down + C = 205, -- right + D = 203, -- left +} + +local inesc = 0 function computer.signalTransformers.key_down(s, a, ascii, key, user) if key ~= -1 then return s, a, ascii, key, user end + if ascii == 27 then + inesc = true + elseif inesc then + if ascii < 48 and ascii > 57 and ascii ~= 59 then + inesc = false + key = escmap[ascii] or 0 + ascii = 0 + end + end return s, a, math.floor(asciitr[ascii] or ascii), keymap[ascii] or key, user end