[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v4 23/38] input: mouse: switch monitor to new core
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL v4 23/38] input: mouse: switch monitor to new core |
Date: |
Wed, 5 Mar 2014 12:53:25 +0100 |
Signed-off-by: Gerd Hoffmann <address@hidden>
---
monitor.c | 31 ++++++++++++++++++++++++++-----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/monitor.c b/monitor.c
index 3863d83..342e83b 100644
--- a/monitor.c
+++ b/monitor.c
@@ -39,6 +39,7 @@
#include "monitor/monitor.h"
#include "qemu/readline.h"
#include "ui/console.h"
+#include "ui/input.h"
#include "sysemu/blockdev.h"
#include "audio/audio.h"
#include "disas/disas.h"
@@ -1463,23 +1464,43 @@ static int mouse_button_state;
static void do_mouse_move(Monitor *mon, const QDict *qdict)
{
- int dx, dy, dz;
+ int dx, dy, dz, button;
const char *dx_str = qdict_get_str(qdict, "dx_str");
const char *dy_str = qdict_get_str(qdict, "dy_str");
const char *dz_str = qdict_get_try_str(qdict, "dz_str");
+
dx = strtol(dx_str, NULL, 0);
dy = strtol(dy_str, NULL, 0);
- dz = 0;
- if (dz_str)
+ qemu_input_queue_rel(NULL, INPUT_AXIS_X, dx);
+ qemu_input_queue_rel(NULL, INPUT_AXIS_Y, dy);
+
+ if (dz_str) {
dz = strtol(dz_str, NULL, 0);
- kbd_mouse_event(dx, dy, dz, mouse_button_state);
+ if (dz != 0) {
+ button = (dz > 0) ? INPUT_BUTTON_WHEEL_UP :
INPUT_BUTTON_WHEEL_DOWN;
+ qemu_input_queue_btn(NULL, button, true);
+ qemu_input_event_sync();
+ qemu_input_queue_btn(NULL, button, false);
+ }
+ }
+ qemu_input_event_sync();
}
static void do_mouse_button(Monitor *mon, const QDict *qdict)
{
+ static uint32_t bmap[INPUT_BUTTON_MAX] = {
+ [INPUT_BUTTON_LEFT] = MOUSE_EVENT_LBUTTON,
+ [INPUT_BUTTON_MIDDLE] = MOUSE_EVENT_MBUTTON,
+ [INPUT_BUTTON_RIGHT] = MOUSE_EVENT_RBUTTON,
+ };
int button_state = qdict_get_int(qdict, "button_state");
+
+ if (mouse_button_state == button_state) {
+ return;
+ }
+ qemu_input_update_buttons(NULL, bmap, mouse_button_state, button_state);
+ qemu_input_event_sync();
mouse_button_state = button_state;
- kbd_mouse_event(0, 0, 0, mouse_button_state);
}
static void do_ioport_read(Monitor *mon, const QDict *qdict)
--
1.8.3.1
- [Qemu-devel] [PULL v4 35/38] input: remove index_from_keycode (no users), (continued)
- [Qemu-devel] [PULL v4 35/38] input: remove index_from_keycode (no users), Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 08/38] input: keyboard: switch legacy handlers to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 16/38] input: mouse: add graphic_rotate support, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 14/38] input: keyboard: switch curses ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 11/38] input: keyboard: switch sdl ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 33/38] input: move qmp_query_mice to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 21/38] input: mouse: switch vnc ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 32/38] input: add input_mouse_mode tracepoint, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 04/38] input: qapi: add unmapped key, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 29/38] input-legacy: remove kbd_mouse_is_absolute, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 23/38] input: mouse: switch monitor to new core,
Gerd Hoffmann <=
- [Qemu-devel] [PULL v4 24/38] input: keyboard: switch cocoa ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 22/38] input: mouse: switch spice ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 10/38] input: keyboard: switch gtk ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 06/38] input: add core bits of the new input layer, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 15/38] input: mouse: add helpers functions to core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 28/38] input-legacy: remove kbd_mouse_has_absolute, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 26/38] input: trace events, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 20/38] input: mouse: switch sdl ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 36/38] console: add head to index to qemu consoles., Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 07/38] input: keyboard: add helper functions to core, Gerd Hoffmann, 2014/03/05