diff options
| author | hachem <im@hachem.wtf> | 2026-10-08 22:44:54 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-10-08 22:44:54 +0200 |
| commit | 8cb66100fe802c38d180ea29a11a902decf0fd8b (patch) | |
| tree | 30138f3e07cfaa258611c858ede95e73c58adcbd /kernel/input.rv | |
| parent | 852a5b237116e8b53ae18ea8ea00505e44b40dfe (diff) | |
| parent | 93f080a04032011a4a2f90ab1fe29635cc85cdf9 (diff) | |
Merge branch 'if-not-nil-main'
Diffstat (limited to 'kernel/input.rv')
| -rw-r--r-- | kernel/input.rv | 8 |
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] |
