[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 6/8] input-linux: factor out input_linux_handle_mouse
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL 6/8] input-linux: factor out input_linux_handle_mouse |
Date: |
Tue, 12 Jul 2016 10:21:41 +0200 |
No functional change.
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
---
ui/input-linux.c | 102 +++++++++++++++++++++++++++++--------------------------
1 file changed, 53 insertions(+), 49 deletions(-)
diff --git a/ui/input-linux.c b/ui/input-linux.c
index 1d33b5c..a932290 100644
--- a/ui/input-linux.c
+++ b/ui/input-linux.c
@@ -265,6 +265,58 @@ static void input_linux_event_mouse_button(int button)
qemu_input_event_sync();
}
+static void input_linux_handle_mouse(InputLinux *il, struct input_event *event)
+{
+ if (!il->grab_active) {
+ return;
+ }
+
+ switch (event->type) {
+ case EV_KEY:
+ switch (event->code) {
+ case BTN_LEFT:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_LEFT, event->value);
+ break;
+ case BTN_RIGHT:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_RIGHT, event->value);
+ break;
+ case BTN_MIDDLE:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_MIDDLE, event->value);
+ break;
+ case BTN_GEAR_UP:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_WHEEL_UP, event->value);
+ break;
+ case BTN_GEAR_DOWN:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_WHEEL_DOWN,
+ event->value);
+ break;
+ };
+ break;
+ case EV_REL:
+ switch (event->code) {
+ case REL_X:
+ qemu_input_queue_rel(NULL, INPUT_AXIS_X, event->value);
+ break;
+ case REL_Y:
+ qemu_input_queue_rel(NULL, INPUT_AXIS_Y, event->value);
+ break;
+ case REL_WHEEL:
+ il->wheel = event->value;
+ break;
+ }
+ break;
+ case EV_SYN:
+ qemu_input_event_sync();
+ if (il->wheel != 0) {
+ input_linux_event_mouse_button((il->wheel > 0)
+ ? INPUT_BUTTON_WHEEL_UP
+ : INPUT_BUTTON_WHEEL_DOWN);
+ il->wheel = 0;
+ }
+ break;
+ }
+}
+
static void input_linux_event_mouse(void *opaque)
{
InputLinux *il = opaque;
@@ -282,55 +334,7 @@ static void input_linux_event_mouse(void *opaque)
break;
}
- /* only send event to guest when grab is active */
- if (!il->grab_active) {
- continue;
- }
-
- switch (event.type) {
- case EV_KEY:
- switch (event.code) {
- case BTN_LEFT:
- qemu_input_queue_btn(NULL, INPUT_BUTTON_LEFT, event.value);
- break;
- case BTN_RIGHT:
- qemu_input_queue_btn(NULL, INPUT_BUTTON_RIGHT, event.value);
- break;
- case BTN_MIDDLE:
- qemu_input_queue_btn(NULL, INPUT_BUTTON_MIDDLE, event.value);
- break;
- case BTN_GEAR_UP:
- qemu_input_queue_btn(NULL, INPUT_BUTTON_WHEEL_UP, event.value);
- break;
- case BTN_GEAR_DOWN:
- qemu_input_queue_btn(NULL, INPUT_BUTTON_WHEEL_DOWN,
- event.value);
- break;
- };
- break;
- case EV_REL:
- switch (event.code) {
- case REL_X:
- qemu_input_queue_rel(NULL, INPUT_AXIS_X, event.value);
- break;
- case REL_Y:
- qemu_input_queue_rel(NULL, INPUT_AXIS_Y, event.value);
- break;
- case REL_WHEEL:
- il->wheel = event.value;
- break;
- }
- break;
- case EV_SYN:
- qemu_input_event_sync();
- if (il->wheel != 0) {
- input_linux_event_mouse_button((il->wheel > 0)
- ? INPUT_BUTTON_WHEEL_UP
- : INPUT_BUTTON_WHEEL_DOWN);
- il->wheel = 0;
- }
- break;
- }
+ input_linux_handle_mouse(il, &event);
}
}
--
1.8.3.1
- [Qemu-devel] [PULL 0/8] input patch queue, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 4/8] msmouse: send short messages if possible., Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 2/8] msmouse: fix buffer handling, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 3/8] msmouse: switch to new input interface, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 1/8] msmouse: add MouseState, unregister handler on close, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 8/8] input-linux: better capability checks, merge input_linux_event_{mouse, keyboard}, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 7/8] input-linux: factor out input_linux_handle_keyboard, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 5/8] input: add trace events for full queues, Gerd Hoffmann, 2016/07/12
- [Qemu-devel] [PULL 6/8] input-linux: factor out input_linux_handle_mouse,
Gerd Hoffmann <=
- Re: [Qemu-devel] [PULL 0/8] input patch queue, Peter Maydell, 2016/07/12