From 50ef4679232369b531d5265ebe92550f98a75ea6 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 27 May 2014 09:28:38 +0200 Subject: console: add kbd_put_qcode_console Signed-off-by: Gerd Hoffmann --- ui/console.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'ui') diff --git a/ui/console.c b/ui/console.c index 75ec3af..b99312c 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); -- cgit v1.1