hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/kernel/input.rv
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-10-08 22:39:00 +0200
committerhachem <im@hachem.wtf>2026-10-08 22:39:00 +0200
commit93f080a04032011a4a2f90ab1fe29635cc85cdf9 (patch)
tree30138f3e07cfaa258611c858ede95e73c58adcbd /kernel/input.rv
parent852a5b237116e8b53ae18ea8ea00505e44b40dfe (diff)
parentae21ae98f2945a6a6786939e0d77e9e5a535405c (diff)
Merge branch 'main' of github.com:if-not-nil/revel into if-not-nil-main
Diffstat (limited to 'kernel/input.rv')
-rw-r--r--kernel/input.rv8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/input.rv b/kernel/input.rv
index ed0f4f7..139edf0 100644
--- a/kernel/input.rv
+++ b/kernel/input.rv
@@ -34,7 +34,13 @@ fn decode_key(code) do
if code == 0x9d do shell.ctrl = :false return :nil end # ctrl up
if code >= 128 return :nil # other releases
if code == 28 return "\n" # enter
- if code == 14 return "\x08" # backspace
+ if code == 14 do
+ if shell.ctrl do
+ return "\x7f"
+ end
+
+ return "\x08"
+ end # backspace (ctrl: word erase)
if code < 2 return :nil
if code >= KEYMAP:len() return :nil
const character = if shell.shift KEYMAP_SHIFT[code] else KEYMAP[code]