summary refs log tree commit diff stats
path: root/ui/curses_keys.h
diff options
context:
space:
mode:
authorSean Estabrooks <sean.estabrooks@gmail.com>2023-07-25 10:56:51 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-07-25 10:56:51 +0100
commit9b579543d7b01666218d8ae01561a96757678eb1 (patch)
tree894d4505acec8e5cf06423e59e1a158e6ac8bd1b /ui/curses_keys.h
parent5d78893f39caf94c8587141e2219b57a7d63dd5c (diff)
downloadfocaccia-qemu-9b579543d7b01666218d8ae01561a96757678eb1.tar.gz
focaccia-qemu-9b579543d7b01666218d8ae01561a96757678eb1.zip
For curses display, recognize a few more control keys
The curses display handles most control-X keys, and translates
them into their corresponding keycode.  Here we recognize
a few that are missing, Ctrl-@ (null), Ctrl-\ (backslash),
Ctrl-] (right bracket), Ctrl-^ (caret), Ctrl-_ (underscore).

Signed-off-by: Sean Estabrooks <sean.estabrooks@gmail.com>
Message-id: CAHyVn3Bh9CRgDuOmf7G7Ngwamu8d4cVozAcB2i4ymnnggBXNmg@mail.gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/curses_keys.h')
-rw-r--r--ui/curses_keys.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/curses_keys.h b/ui/curses_keys.h
index 71e04acdc7..88a2208ed1 100644
--- a/ui/curses_keys.h
+++ b/ui/curses_keys.h
@@ -210,6 +210,12 @@ static const int _curses2keycode[CURSES_CHARS] = {
     ['N' - '@'] = 49 | CNTRL, /* Control + n */
     /* Control + m collides with the keycode for Enter */
 
+    ['@' - '@']  =  3 | CNTRL, /* Control + @ */
+    /* Control + [ collides with the keycode for Escape */
+    ['\\' - '@'] = 43 | CNTRL, /* Control + Backslash */
+    [']' - '@']  = 27 | CNTRL, /* Control + ] */
+    ['^' - '@']  =  7 | CNTRL, /* Control + ^ */
+    ['_' - '@']  = 12 | CNTRL, /* Control + Underscore */
 };
 
 static const int _curseskey2keycode[CURSES_KEYS] = {