diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2014-05-27 09:28:38 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2014-06-02 16:28:58 +0200 |
commit | 50ef4679232369b531d5265ebe92550f98a75ea6 (patch) | |
tree | 839a23685b46fdac53f64b32be6fdf36facfc871 /ui/console.c | |
parent | 9bb931802e6ab5ab6947e3cb9cea934fc0724274 (diff) | |
download | qemu-50ef4679232369b531d5265ebe92550f98a75ea6.tar.gz qemu-50ef4679232369b531d5265ebe92550f98a75ea6.tar.bz2 qemu-50ef4679232369b531d5265ebe92550f98a75ea6.zip |
console: add kbd_put_qcode_console
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/console.c')
-rw-r--r-- | ui/console.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ui/console.c b/ui/console.c index 75ec3afcf7..b99312c014 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1109,6 +1109,30 @@ void kbd_put_keysym_console(QemuConsole *s, int keysym) } } +static const int qcode_to_keysym[Q_KEY_CODE_MAX] = { + [Q_KEY_CODE_UP] = QEMU_KEY_UP, + [Q_KEY_CODE_DOWN] = QEMU_KEY_DOWN, + [Q_KEY_CODE_RIGHT] = QEMU_KEY_RIGHT, + [Q_KEY_CODE_LEFT] = QEMU_KEY_LEFT, + [Q_KEY_CODE_HOME] = QEMU_KEY_HOME, + [Q_KEY_CODE_END] = QEMU_KEY_END, + [Q_KEY_CODE_PGUP] = QEMU_KEY_PAGEUP, + [Q_KEY_CODE_PGDN] = QEMU_KEY_PAGEDOWN, + [Q_KEY_CODE_DELETE] = QEMU_KEY_DELETE, +}; + +bool kbd_put_qcode_console(QemuConsole *s, int qcode) +{ + int keysym; + + keysym = qcode_to_keysym[qcode]; + if (keysym == 0) { + return false; + } + kbd_put_keysym_console(s, keysym); + return true; +} + void kbd_put_keysym(int keysym) { kbd_put_keysym_console(active_console, keysym); |