From 02aa76c2ba5df8db7c968d92959af2a7c35690a8 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 11 Mar 2014 12:15:39 +0100 Subject: input: key mapping helpers Add helper functions to translate KeyValue (qapi key representation) into other representations: traditional qemu key numbers, qapi key codes (Q_KEY_CODE_*) and scancode sequences. Signed-off-by: Gerd Hoffmann --- include/ui/input.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/ui/input.h') diff --git a/include/ui/input.h b/include/ui/input.h index 4976f3da2c..010c903e80 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -35,6 +35,10 @@ 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_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, + int *codes); InputEvent *qemu_input_event_new_btn(InputButton btn, bool down); void qemu_input_queue_btn(QemuConsole *src, InputButton btn, bool down); -- cgit 1.4.1 From 528728fd93df348f9003d1067fb26e79f377bfa9 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Sun, 16 Mar 2014 00:38:45 +0100 Subject: input: add qemu_input_handler_deactivate Signed-off-by: Gerd Hoffmann --- include/ui/input.h | 1 + ui/input.c | 7 +++++++ 2 files changed, 8 insertions(+) (limited to 'include/ui/input.h') diff --git a/include/ui/input.h b/include/ui/input.h index 010c903e80..3d3d487f18 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -27,6 +27,7 @@ struct QemuInputHandler { QemuInputHandlerState *qemu_input_handler_register(DeviceState *dev, QemuInputHandler *handler); void qemu_input_handler_activate(QemuInputHandlerState *s); +void qemu_input_handler_deactivate(QemuInputHandlerState *s); void qemu_input_handler_unregister(QemuInputHandlerState *s); void qemu_input_event_send(QemuConsole *src, InputEvent *evt); void qemu_input_event_sync(void); diff --git a/ui/input.c b/ui/input.c index 1ed0e783b1..fc91fba83c 100644 --- a/ui/input.c +++ b/ui/input.c @@ -39,6 +39,13 @@ void qemu_input_handler_activate(QemuInputHandlerState *s) qemu_input_check_mode_change(); } +void qemu_input_handler_deactivate(QemuInputHandlerState *s) +{ + QTAILQ_REMOVE(&handlers, s, node); + QTAILQ_INSERT_TAIL(&handlers, s, node); + qemu_input_check_mode_change(); +} + void qemu_input_handler_unregister(QemuInputHandlerState *s) { QTAILQ_REMOVE(&handlers, s, node); -- cgit 1.4.1