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>
This commit is contained in:
Sean Estabrooks 2023-07-25 10:56:51 +01:00 committed by Peter Maydell
parent 5d78893f39
commit 9b579543d7

View File

@ -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] = {