From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: [Qemu-devel] [PULL v4 23/38] input: mouse: switch monitor to new core
Date: Wed, 5 Mar 2014 12:53:25 +0100 [thread overview]
Message-ID: <1394020420-17576-24-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1394020420-17576-1-git-send-email-kraxel@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
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
next prev parent reply other threads:[~2014-03-05 11:54 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-05 11:53 [Qemu-devel] [PULL v4 00/38] rework input handling, sdl2 support Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 01/38] console: export QemuConsole index, width, height Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 02/38] input: rename file to legacy Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 03/38] input: qapi: define event types Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 04/38] input: qapi: add unmapped key Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 05/38] input: qapi: add pause key Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 06/38] input: add core bits of the new input layer Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 07/38] input: keyboard: add helper functions to core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 08/38] input: keyboard: switch legacy handlers to new core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 09/38] input: keyboard: switch qmp_send_key() " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 10/38] input: keyboard: switch gtk ui " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 11/38] input: keyboard: switch sdl " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 12/38] input: keyboard: switch vnc " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 13/38] input: keyboard: switch spice " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 14/38] input: keyboard: switch curses " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 15/38] input: mouse: add helpers functions to core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 16/38] input: mouse: add graphic_rotate support Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 17/38] input: mouse: add qemu_input_is_absolute() Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 18/38] input: mouse: switch legacy handlers to new core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 19/38] input: mouse: switch gtk ui " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 20/38] input: mouse: switch sdl " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 21/38] input: mouse: switch vnc " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 22/38] input: mouse: switch spice " Gerd Hoffmann
2014-03-05 11:53 ` Gerd Hoffmann [this message]
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 24/38] input: keyboard: switch cocoa " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 25/38] input: mouse: " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 26/38] input: trace events Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 27/38] input-legacy: remove kbd_put_keycode Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 28/38] input-legacy: remove kbd_mouse_has_absolute Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 29/38] input-legacy: remove kbd_mouse_is_absolute Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 30/38] input-legacy: remove kbd_mouse_event Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 31/38] input: move mouse mode notifier to new core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 32/38] input: add input_mouse_mode tracepoint Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 33/38] input: move qmp_query_mice to new core Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 34/38] input: move do_mouse_set " Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 35/38] input: remove index_from_keycode (no users) Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 36/38] console: add head to index to qemu consoles Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 37/38] console: add QemuUIInfo Gerd Hoffmann
2014-03-05 11:53 ` [Qemu-devel] [PULL v4 38/38] ui/sdl2 : initial port to SDL 2.0 (v2.0) Gerd Hoffmann
2014-03-07 19:23 ` [Qemu-devel] [PULL v4 00/38] rework input handling, sdl2 support Peter Maydell
2014-03-07 19:45 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1394020420-17576-24-git-send-email-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).