From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51719) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn5x7-0002Ns-33 for qemu-devel@nongnu.org; Wed, 21 May 2014 08:49:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wn5wx-0001cu-FD for qemu-devel@nongnu.org; Wed, 21 May 2014 08:49:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:11008) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn5wx-0001ch-5M for qemu-devel@nongnu.org; Wed, 21 May 2014 08:48:51 -0400 From: Gerd Hoffmann Date: Wed, 21 May 2014 14:00:13 +0200 Message-Id: <1400673615-2033-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 1/3] input: add qemu_input_key_number_to_qcode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , Anthony Liguori Signed-off-by: Gerd Hoffmann --- include/ui/input.h | 1 + ui/input-keymap.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/ui/input.h b/include/ui/input.h index 3d3d487..d84ed8b 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -36,6 +36,7 @@ InputEvent *qemu_input_event_new_key(KeyValue *key, bool down); void qemu_input_event_send_key(QemuConsole *src, KeyValue *key, bool down); void qemu_input_event_send_key_number(QemuConsole *src, int num, bool down); void qemu_input_event_send_key_qcode(QemuConsole *src, QKeyCode q, bool down); +int qemu_input_key_number_to_qcode(uint8_t nr); int qemu_input_key_value_to_number(const KeyValue *value); int qemu_input_key_value_to_qcode(const KeyValue *value); int qemu_input_key_value_to_scancode(const KeyValue *value, bool down, diff --git a/ui/input-keymap.c b/ui/input-keymap.c index 6da4495..4c4f0d0 100644 --- a/ui/input-keymap.c +++ b/ui/input-keymap.c @@ -129,7 +129,7 @@ static const int qcode_to_number[] = { [Q_KEY_CODE_MAX] = 0, }; -static int number_to_qcode[0xff]; +static int number_to_qcode[0x100]; int qemu_input_key_value_to_number(const KeyValue *value) { @@ -141,7 +141,7 @@ int qemu_input_key_value_to_number(const KeyValue *value) } } -int qemu_input_key_value_to_qcode(const KeyValue *value) +int qemu_input_key_number_to_qcode(uint8_t nr) { static int first = true; @@ -155,11 +155,16 @@ int qemu_input_key_value_to_qcode(const KeyValue *value) } } + return number_to_qcode[nr]; +} + +int qemu_input_key_value_to_qcode(const KeyValue *value) +{ if (value->kind == KEY_VALUE_KIND_QCODE) { return value->qcode; } else { assert(value->kind == KEY_VALUE_KIND_NUMBER); - return number_to_qcode[value->number]; + return qemu_input_key_number_to_qcode(value->number); } } -- 1.8.3.1