qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
@ 2016-01-12 12:29 Gerd Hoffmann
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind Gerd Hoffmann
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

We have two places needing this, and a third one will come shortly.
So create a helper function for that so we don't diplicate code.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/ui/console.h |  2 ++
 ui/console.c         | 23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/include/ui/console.h b/include/ui/console.h
index adac36d..bbc3b7c 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -377,6 +377,8 @@ void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
 
 QemuConsole *qemu_console_lookup_by_index(unsigned int index);
 QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head);
+QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
+                                                uint32_t head, Error **errp);
 bool qemu_console_is_visible(QemuConsole *con);
 bool qemu_console_is_graphic(QemuConsole *con);
 bool qemu_console_is_fixedsize(QemuConsole *con);
diff --git a/ui/console.c b/ui/console.c
index 4b65c34..ddaa165 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1779,6 +1779,29 @@ QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head)
     return NULL;
 }
 
+QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
+                                                uint32_t head, Error **errp)
+{
+    DeviceState *dev;
+    QemuConsole *con;
+
+    dev = qdev_find_recursive(sysbus_get_default(), device_id);
+    if (dev == NULL) {
+        error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
+                  "Device '%s' not found", device_id);
+        return NULL;
+    }
+
+    con = qemu_console_lookup_by_device(dev, head);
+    if (con == NULL) {
+        error_setg(errp, "Device %s (head %d) is not bound to a QemuConsole",
+                   device_id, head);
+        return NULL;
+    }
+
+    return con;
+}
+
 bool qemu_console_is_visible(QemuConsole *con)
 {
     return (con == active_console) || (con->dcls > 0);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:43   ` Daniel P. Berrange
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open Gerd Hoffmann
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/input.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/ui/input.c b/ui/input.c
index 006667b..1409e01 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -81,19 +81,12 @@ void qemu_input_handler_bind(QemuInputHandlerState *s,
                              const char *device_id, int head,
                              Error **errp)
 {
-    DeviceState *dev;
     QemuConsole *con;
+    Error *err = NULL;
 
-    dev = qdev_find_recursive(sysbus_get_default(), device_id);
-    if (dev == NULL) {
-        error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
-                  "Device '%s' not found", device_id);
-        return;
-    }
-
-    con = qemu_console_lookup_by_device(dev, head);
-    if (con == NULL) {
-        error_setg(errp, "Device %s is not bound to a QemuConsole", device_id);
+    con = qemu_console_lookup_by_device_name(device_id, head, &err);
+    if (err) {
+        error_propagate(errp, err);
         return;
     }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:43   ` Daniel P. Berrange
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head Gerd Hoffmann
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/vnc.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 09756cd..95ef3bd 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3725,19 +3725,12 @@ void vnc_display_open(const char *id, Error **errp)
 
     device_id = qemu_opt_get(opts, "display");
     if (device_id) {
-        DeviceState *dev;
         int head = qemu_opt_get_number(opts, "head", 0);
+        Error *err = NULL;
 
-        dev = qdev_find_recursive(sysbus_get_default(), device_id);
-        if (dev == NULL) {
-            error_setg(errp, "Device '%s' not found", device_id);
-            goto fail;
-        }
-
-        con = qemu_console_lookup_by_device(dev, head);
-        if (con == NULL) {
-            error_setg(errp, "Device %s is not bound to a QemuConsole",
-                       device_id);
+        con = qemu_console_lookup_by_device_name(device_id, head, &err);
+        if (err) {
+            error_propagate(errp, err);
             goto fail;
         }
     } else {
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind Gerd Hoffmann
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:47   ` Daniel P. Berrange
  2016-01-15 16:25   ` Markus Armbruster
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 5/7] qapi: rename input buttons Gerd Hoffmann
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

Use display device qdev id and head number instead of console index to
specify the QemuConsole.  This makes things consistent with input
devices (for input routing) and vnc server configuration, which both use
display and head too.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qapi-schema.json | 32 +++++++++++++++++---------------
 qmp-commands.hx  | 15 ++++++++-------
 ui/input.c       | 15 ++++++++++-----
 3 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/qapi-schema.json b/qapi-schema.json
index 2e31733..3884479 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3748,24 +3748,24 @@
 #
 # Send input event(s) to guest.
 #
-# @console: #optional console to send event(s) to.
-#           This parameter can be used to send the input event to
-#           specific input devices in case (a) multiple input devices
-#           of the same kind are added to the virtual machine and (b)
-#           you have configured input routing (see docs/multiseat.txt)
-#           for those input devices.  If input routing is not
-#           configured this parameter has no effect.
-#           If @console is missing, only devices that aren't associated
-#           with a console are admissible.
-#           If @console is specified, it must exist, and both devices
-#           associated with that console and devices not associated with a
-#           console are admissible, but the former take precedence.
-
-#
+# @device: #optional display device to send event(s) to.
+# @head: #optional head to send event(s) to, in case the
+#        display device supports multiple scanouts.
 # @events: List of InputEvent union.
 #
 # Returns: Nothing on success.
 #
+# The @display and @head parameters can be used to send the input
+# event to specific input devices in case (a) multiple input devices
+# of the same kind are added to the virtual machine and (b) you have
+# configured input routing (see docs/multiseat.txt) for those input
+# devices.  The parameters work exactly like the device and head
+# properties of input devices.  If @device is missing, only devices
+# that have no input routing config are admissible.  If @device is
+# specified, both input devices with and without input routing config
+# are admissible, but devices with input routing config take
+# precedence.
+
 # Since: 2.2
 #
 # Note: this command is experimental, and not a stable API.  Things that
@@ -3775,7 +3775,9 @@
 #
 ##
 { 'command': 'x-input-send-event',
-  'data': { '*console':'int', 'events': [ 'InputEvent' ] } }
+  'data': { '*device': 'str',
+            '*head'  : 'int',
+            'events' : [ 'InputEvent' ] } }
 
 ##
 # @NumaOptions
diff --git a/qmp-commands.hx b/qmp-commands.hx
index db072a6..bda1fa6 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -4614,7 +4614,8 @@ Send input event to guest.
 
 Arguments:
 
-- "console": console index. (json-int, optional)
+- "device": display device. (json-str, optional)
+- "head": display head. (json-int, optional)
 - "events": list of input events.
 
 The consoles are visible in the qom tree, under
@@ -4628,15 +4629,15 @@ Example (1):
 Press left mouse button.
 
 -> { "execute": "x-input-send-event",
-    "arguments": { "console": 0,
+    "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
-                    "data" : { "down": true, "button": "Left" } } ] } }
+                   "data" : { "down": true, "button": "Left" } } ] } }
 <- { "return": {} }
 
 -> { "execute": "x-input-send-event",
-    "arguments": { "console": 0,
+    "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
-                    "data" : { "down": false, "button": "Left" } } ] } }
+                   "data" : { "down": false, "button": "Left" } } ] } }
 <- { "return": {} }
 
 Example (2):
@@ -4644,7 +4645,7 @@ Example (2):
 Press ctrl-alt-del.
 
 -> { "execute": "x-input-send-event",
-     "arguments": { "console": 0, "events": [
+     "arguments": { "events": [
         { "type": "key", "data" : { "down": true,
           "key": {"type": "qcode", "data": "ctrl" } } },
         { "type": "key", "data" : { "down": true,
@@ -4658,7 +4659,7 @@ Example (3):
 Move mouse pointer to absolute coordinates (20000, 400).
 
 -> { "execute": "x-input-send-event" ,
-  "arguments": { "console": 0, "events": [
+  "arguments": { "events": [
                { "type": "abs", "data" : { "axis": "X", "value" : 20000 } },
                { "type": "abs", "data" : { "axis": "Y", "value" : 400 } } ] } }
 <- { "return": {} }
diff --git a/ui/input.c b/ui/input.c
index 1409e01..755b90a 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -118,17 +118,22 @@ qemu_input_find_handler(uint32_t mask, QemuConsole *con)
     return NULL;
 }
 
-void qmp_x_input_send_event(bool has_console, int64_t console,
+void qmp_x_input_send_event(bool has_device, const char *device,
+                            bool has_head, int64_t head,
                             InputEventList *events, Error **errp)
 {
     InputEventList *e;
     QemuConsole *con;
+    Error *err = NULL;
 
     con = NULL;
-    if (has_console) {
-        con = qemu_console_lookup_by_index(console);
-        if (!con) {
-            error_setg(errp, "console %" PRId64 " not found", console);
+    if (has_device) {
+        if (!has_head) {
+            head = 0;
+        }
+        con = qemu_console_lookup_by_device_name(device, head, &err);
+        if (err) {
+            error_propagate(errp, err);
             return;
         }
     }
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 5/7] qapi: rename input buttons
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:49   ` Daniel P. Berrange
  2016-01-15 16:50   ` Markus Armbruster
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 6/7] qapi: rename input axises Gerd Hoffmann
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Michael S. Tsirkin, Marcelo Tosatti,
	Markus Armbruster, Luiz Capitulino, Andreas Färber,
	Gerd Hoffmann

All lowercase, use-dash instead of CamelCase.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/input/hid.c              | 4 ++--
 hw/input/ps2.c              | 4 ++--
 hw/input/virtio-input-hid.c | 4 ++--
 monitor.c                   | 2 +-
 qapi-schema.json            | 5 +----
 qmp-commands.hx             | 4 ++--
 ui/cocoa.m                  | 4 ++--
 ui/gtk.c                    | 4 ++--
 ui/input-legacy.c           | 4 ++--
 ui/sdl.c                    | 4 ++--
 ui/sdl2.c                   | 4 ++--
 ui/spice-input.c            | 4 ++--
 ui/vnc.c                    | 4 ++--
 13 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/hw/input/hid.c b/hw/input/hid.c
index 3221d29..12075c9 100644
--- a/hw/input/hid.c
+++ b/hw/input/hid.c
@@ -139,9 +139,9 @@ static void hid_pointer_event(DeviceState *dev, QemuConsole *src,
     case INPUT_EVENT_KIND_BTN:
         if (evt->u.btn->down) {
             e->buttons_state |= bmap[evt->u.btn->button];
-            if (evt->u.btn->button == INPUT_BUTTON_WHEELUP) {
+            if (evt->u.btn->button == INPUT_BUTTON_WHEEL_UP) {
                 e->dz--;
-            } else if (evt->u.btn->button == INPUT_BUTTON_WHEELDOWN) {
+            } else if (evt->u.btn->button == INPUT_BUTTON_WHEEL_DOWN) {
                 e->dz++;
             }
         } else {
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 79754cd..9096d21 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -405,9 +405,9 @@ static void ps2_mouse_event(DeviceState *dev, QemuConsole *src,
     case INPUT_EVENT_KIND_BTN:
         if (evt->u.btn->down) {
             s->mouse_buttons |= bmap[evt->u.btn->button];
-            if (evt->u.btn->button == INPUT_BUTTON_WHEELUP) {
+            if (evt->u.btn->button == INPUT_BUTTON_WHEEL_UP) {
                 s->mouse_dz--;
-            } else if (evt->u.btn->button == INPUT_BUTTON_WHEELDOWN) {
+            } else if (evt->u.btn->button == INPUT_BUTTON_WHEEL_DOWN) {
                 s->mouse_dz++;
             }
         } else {
diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c
index a78d11c..5d00a03 100644
--- a/hw/input/virtio-input-hid.c
+++ b/hw/input/virtio-input-hid.c
@@ -142,8 +142,8 @@ static const unsigned int keymap_button[INPUT_BUTTON__MAX] = {
     [INPUT_BUTTON_LEFT]              = BTN_LEFT,
     [INPUT_BUTTON_RIGHT]             = BTN_RIGHT,
     [INPUT_BUTTON_MIDDLE]            = BTN_MIDDLE,
-    [INPUT_BUTTON_WHEELUP]           = BTN_GEAR_UP,
-    [INPUT_BUTTON_WHEELDOWN]         = BTN_GEAR_DOWN,
+    [INPUT_BUTTON_WHEEL_UP]          = BTN_GEAR_UP,
+    [INPUT_BUTTON_WHEEL_DOWN]        = BTN_GEAR_DOWN,
 };
 
 static const unsigned int axismap_rel[INPUT_AXIS__MAX] = {
diff --git a/monitor.c b/monitor.c
index e7e7ae2..289c118 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1375,7 +1375,7 @@ static void hmp_mouse_move(Monitor *mon, const QDict *qdict)
     if (dz_str) {
         dz = strtol(dz_str, NULL, 0);
         if (dz != 0) {
-            button = (dz > 0) ? INPUT_BUTTON_WHEELUP : INPUT_BUTTON_WHEELDOWN;
+            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);
diff --git a/qapi-schema.json b/qapi-schema.json
index 3884479..511702f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3662,12 +3662,9 @@
 # Button of a pointer input device (mouse, tablet).
 #
 # Since: 2.0
-#
-# Note that the spelling of these values may change when the
-# x-input-send-event is promoted out of experimental status.
 ##
 { 'enum'  : 'InputButton',
-  'data'  : [ 'Left', 'Middle', 'Right', 'WheelUp', 'WheelDown' ] }
+  'data'  : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down' ] }
 
 ##
 # @InputAxis
diff --git a/qmp-commands.hx b/qmp-commands.hx
index bda1fa6..00bf6df 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -4631,13 +4631,13 @@ Press left mouse button.
 -> { "execute": "x-input-send-event",
     "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
-                   "data" : { "down": true, "button": "Left" } } ] } }
+                   "data" : { "down": true, "button": "left" } } ] } }
 <- { "return": {} }
 
 -> { "execute": "x-input-send-event",
     "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
-                   "data" : { "down": false, "button": "Left" } } ] } }
+                   "data" : { "down": false, "button": "left" } } ] } }
 <- { "return": {} }
 
 Example (2):
diff --git a/ui/cocoa.m b/ui/cocoa.m
index d866f23..7477d58 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -737,8 +737,8 @@ QemuCocoaView *cocoaView;
                 [INPUT_BUTTON_LEFT]       = MOUSE_EVENT_LBUTTON,
                 [INPUT_BUTTON_MIDDLE]     = MOUSE_EVENT_MBUTTON,
                 [INPUT_BUTTON_RIGHT]      = MOUSE_EVENT_RBUTTON,
-                [INPUT_BUTTON_WHEELUP]    = MOUSE_EVENT_WHEELUP,
-                [INPUT_BUTTON_WHEELDOWN]  = MOUSE_EVENT_WHEELDN,
+                [INPUT_BUTTON_WHEEL_UP]   = MOUSE_EVENT_WHEELUP,
+                [INPUT_BUTTON_WHEEL_DOWN] = MOUSE_EVENT_WHEELDN,
             };
             qemu_input_update_buttons(dcl->con, bmap, last_buttons, buttons);
             last_buttons = buttons;
diff --git a/ui/gtk.c b/ui/gtk.c
index 40e78c5..47b37e1 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -965,9 +965,9 @@ static gboolean gd_scroll_event(GtkWidget *widget, GdkEventScroll *scroll,
     InputButton btn;
 
     if (scroll->direction == GDK_SCROLL_UP) {
-        btn = INPUT_BUTTON_WHEELUP;
+        btn = INPUT_BUTTON_WHEEL_UP;
     } else if (scroll->direction == GDK_SCROLL_DOWN) {
-        btn = INPUT_BUTTON_WHEELDOWN;
+        btn = INPUT_BUTTON_WHEEL_DOWN;
     } else {
         return TRUE;
     }
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
index 35dfc27..3bc29bd 100644
--- a/ui/input-legacy.c
+++ b/ui/input-legacy.c
@@ -157,7 +157,7 @@ static void legacy_mouse_event(DeviceState *dev, QemuConsole *src,
         } else {
             s->buttons &= ~bmap[evt->u.btn->button];
         }
-        if (evt->u.btn->down && evt->u.btn->button == INPUT_BUTTON_WHEELUP) {
+        if (evt->u.btn->down && evt->u.btn->button == INPUT_BUTTON_WHEEL_UP) {
             s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque,
                                     s->axis[INPUT_AXIS_X],
                                     s->axis[INPUT_AXIS_Y],
@@ -165,7 +165,7 @@ static void legacy_mouse_event(DeviceState *dev, QemuConsole *src,
                                     s->buttons);
         }
         if (evt->u.btn->down &&
-            evt->u.btn->button == INPUT_BUTTON_WHEELDOWN) {
+            evt->u.btn->button == INPUT_BUTTON_WHEEL_DOWN) {
             s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque,
                                     s->axis[INPUT_AXIS_X],
                                     s->axis[INPUT_AXIS_Y],
diff --git a/ui/sdl.c b/ui/sdl.c
index c837436..f4aa0f2 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -469,8 +469,8 @@ static void sdl_send_mouse_event(int dx, int dy, int x, int y, int state)
         [INPUT_BUTTON_LEFT]       = SDL_BUTTON(SDL_BUTTON_LEFT),
         [INPUT_BUTTON_MIDDLE]     = SDL_BUTTON(SDL_BUTTON_MIDDLE),
         [INPUT_BUTTON_RIGHT]      = SDL_BUTTON(SDL_BUTTON_RIGHT),
-        [INPUT_BUTTON_WHEELUP]    = SDL_BUTTON(SDL_BUTTON_WHEELUP),
-        [INPUT_BUTTON_WHEELDOWN]  = SDL_BUTTON(SDL_BUTTON_WHEELDOWN),
+        [INPUT_BUTTON_WHEEL_UP]   = SDL_BUTTON(SDL_BUTTON_WHEELUP),
+        [INPUT_BUTTON_WHEEL_DOWN] = SDL_BUTTON(SDL_BUTTON_WHEELDOWN),
     };
     static uint32_t prev_state;
 
diff --git a/ui/sdl2.c b/ui/sdl2.c
index 46270f4..dd47192 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -504,9 +504,9 @@ static void handle_mousewheel(SDL_Event *ev)
     InputButton btn;
 
     if (wev->y > 0) {
-        btn = INPUT_BUTTON_WHEELUP;
+        btn = INPUT_BUTTON_WHEEL_UP;
     } else if (wev->y < 0) {
-        btn = INPUT_BUTTON_WHEELDOWN;
+        btn = INPUT_BUTTON_WHEEL_DOWN;
     } else {
         return;
     }
diff --git a/ui/spice-input.c b/ui/spice-input.c
index 2b3b9ed..96f19aa 100644
--- a/ui/spice-input.c
+++ b/ui/spice-input.c
@@ -111,8 +111,8 @@ static void spice_update_buttons(QemuSpicePointer *pointer,
         [INPUT_BUTTON_LEFT]        = 0x01,
         [INPUT_BUTTON_MIDDLE]      = 0x04,
         [INPUT_BUTTON_RIGHT]       = 0x02,
-        [INPUT_BUTTON_WHEELUP]     = 0x10,
-        [INPUT_BUTTON_WHEELDOWN]   = 0x20,
+        [INPUT_BUTTON_WHEEL_UP]    = 0x10,
+        [INPUT_BUTTON_WHEEL_DOWN]  = 0x20,
     };
 
     if (wheel < 0) {
diff --git a/ui/vnc.c b/ui/vnc.c
index 95ef3bd..6909f48 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1593,8 +1593,8 @@ static void pointer_event(VncState *vs, int button_mask, int x, int y)
         [INPUT_BUTTON_LEFT]       = 0x01,
         [INPUT_BUTTON_MIDDLE]     = 0x02,
         [INPUT_BUTTON_RIGHT]      = 0x04,
-        [INPUT_BUTTON_WHEELUP]    = 0x08,
-        [INPUT_BUTTON_WHEELDOWN]  = 0x10,
+        [INPUT_BUTTON_WHEEL_UP]   = 0x08,
+        [INPUT_BUTTON_WHEEL_DOWN] = 0x10,
     };
     QemuConsole *con = vs->vd->dcl.con;
     int width = pixman_image_get_width(vs->vd->server);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 6/7] qapi: rename input axises
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 5/7] qapi: rename input buttons Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:50   ` Daniel P. Berrange
  2016-01-15 16:51   ` Markus Armbruster
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable Gerd Hoffmann
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

Lowercase them.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qapi-schema.json | 5 +----
 qmp-commands.hx  | 4 ++--
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/qapi-schema.json b/qapi-schema.json
index 511702f..35ef71c 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3672,12 +3672,9 @@
 # Position axis of a pointer input device (mouse, tablet).
 #
 # Since: 2.0
-#
-# Note that the spelling of these values may change when the
-# x-input-send-event is promoted out of experimental status.
 ##
 { 'enum'  : 'InputAxis',
-  'data'  : [ 'X', 'Y' ] }
+  'data'  : [ 'x', 'y' ] }
 
 ##
 # @InputKeyEvent
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 00bf6df..b9154b5 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -4660,8 +4660,8 @@ Move mouse pointer to absolute coordinates (20000, 400).
 
 -> { "execute": "x-input-send-event" ,
   "arguments": { "events": [
-               { "type": "abs", "data" : { "axis": "X", "value" : 20000 } },
-               { "type": "abs", "data" : { "axis": "Y", "value" : 400 } } ] } }
+               { "type": "abs", "data" : { "axis": "x", "value" : 20000 } },
+               { "type": "abs", "data" : { "axis": "y", "value" : 400 } } ] } }
 <- { "return": {} }
 
 EQMP
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
                   ` (4 preceding siblings ...)
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 6/7] qapi: rename input axises Gerd Hoffmann
@ 2016-01-12 12:29 ` Gerd Hoffmann
  2016-01-12 12:53   ` Daniel P. Berrange
  2016-01-12 12:42 ` [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Daniel P. Berrange
  2016-01-15 16:22 ` Markus Armbruster
  7 siblings, 1 reply; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcelo Tosatti, Markus Armbruster, Gerd Hoffmann

With all fixups being in place now, we can promote input-send-event
to stable abi by removing the x- prefix.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qapi-schema.json | 12 +++---------
 qmp-commands.hx  | 14 +++++++-------
 ui/input.c       |  6 +++---
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/qapi-schema.json b/qapi-schema.json
index 35ef71c..a0b6963 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3738,7 +3738,7 @@
               'abs'     : 'InputMoveEvent' } }
 
 ##
-# @x-input-send-event
+# @input-send-event
 #
 # Send input event(s) to guest.
 #
@@ -3759,16 +3759,10 @@
 # specified, both input devices with and without input routing config
 # are admissible, but devices with input routing config take
 # precedence.
-
-# Since: 2.2
-#
-# Note: this command is experimental, and not a stable API.  Things that
-# might change before it becomes stable include the spelling of enum
-# values for InputButton and InputAxis, and the notion of how to designate
-# which console will receive the event.
 #
+# Since: experimental 2.2, stable 2.6
 ##
-{ 'command': 'x-input-send-event',
+{ 'command': 'input-send-event',
   'data': { '*device': 'str',
             '*head'  : 'int',
             'events' : [ 'InputEvent' ] } }
diff --git a/qmp-commands.hx b/qmp-commands.hx
index b9154b5..e02d2f2 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -4601,13 +4601,13 @@ Example:
 EQMP
 
     {
-        .name       = "x-input-send-event",
+        .name       = "input-send-event",
         .args_type  = "console:i?,events:q",
-        .mhandler.cmd_new = qmp_marshal_x_input_send_event,
+        .mhandler.cmd_new = qmp_marshal_input_send_event,
     },
 
 SQMP
-@x-input-send-event
+@input-send-event
 -----------------
 
 Send input event to guest.
@@ -4628,13 +4628,13 @@ Example (1):
 
 Press left mouse button.
 
--> { "execute": "x-input-send-event",
+-> { "execute": "input-send-event",
     "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
                    "data" : { "down": true, "button": "left" } } ] } }
 <- { "return": {} }
 
--> { "execute": "x-input-send-event",
+-> { "execute": "input-send-event",
     "arguments": { "device": "video0",
                    "events": [ { "type": "btn",
                    "data" : { "down": false, "button": "left" } } ] } }
@@ -4644,7 +4644,7 @@ Example (2):
 
 Press ctrl-alt-del.
 
--> { "execute": "x-input-send-event",
+-> { "execute": "input-send-event",
      "arguments": { "events": [
         { "type": "key", "data" : { "down": true,
           "key": {"type": "qcode", "data": "ctrl" } } },
@@ -4658,7 +4658,7 @@ Example (3):
 
 Move mouse pointer to absolute coordinates (20000, 400).
 
--> { "execute": "x-input-send-event" ,
+-> { "execute": "input-send-event" ,
   "arguments": { "events": [
                { "type": "abs", "data" : { "axis": "x", "value" : 20000 } },
                { "type": "abs", "data" : { "axis": "y", "value" : 400 } } ] } }
diff --git a/ui/input.c b/ui/input.c
index 755b90a..c630c46 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -118,9 +118,9 @@ qemu_input_find_handler(uint32_t mask, QemuConsole *con)
     return NULL;
 }
 
-void qmp_x_input_send_event(bool has_device, const char *device,
-                            bool has_head, int64_t head,
-                            InputEventList *events, Error **errp)
+void qmp_input_send_event(bool has_device, const char *device,
+                          bool has_head, int64_t head,
+                          InputEventList *events, Error **errp)
 {
     InputEventList *e;
     QemuConsole *con;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
                   ` (5 preceding siblings ...)
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable Gerd Hoffmann
@ 2016-01-12 12:42 ` Daniel P. Berrange
  2016-01-15 16:22 ` Markus Armbruster
  7 siblings, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:42 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:33PM +0100, Gerd Hoffmann wrote:
> We have two places needing this, and a third one will come shortly.
> So create a helper function for that so we don't diplicate code.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind Gerd Hoffmann
@ 2016-01-12 12:43   ` Daniel P. Berrange
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:43 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:34PM +0100, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  ui/input.c | 15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open Gerd Hoffmann
@ 2016-01-12 12:43   ` Daniel P. Berrange
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:43 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:35PM +0100, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  ui/vnc.c | 15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head Gerd Hoffmann
@ 2016-01-12 12:47   ` Daniel P. Berrange
  2016-01-15 16:25   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:47 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:36PM +0100, Gerd Hoffmann wrote:
> Use display device qdev id and head number instead of console index to
> specify the QemuConsole.  This makes things consistent with input
> devices (for input routing) and vnc server configuration, which both use
> display and head too.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  qapi-schema.json | 32 +++++++++++++++++---------------
>  qmp-commands.hx  | 15 ++++++++-------
>  ui/input.c       | 15 ++++++++++-----
>  3 files changed, 35 insertions(+), 27 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 5/7] qapi: rename input buttons
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 5/7] qapi: rename input buttons Gerd Hoffmann
@ 2016-01-12 12:49   ` Daniel P. Berrange
  2016-01-15 16:50   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:49 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Peter Maydell, Michael S. Tsirkin, Markus Armbruster,
	Marcelo Tosatti, qemu-devel, Luiz Capitulino,
	Andreas Färber

On Tue, Jan 12, 2016 at 01:29:37PM +0100, Gerd Hoffmann wrote:
> All lowercase, use-dash instead of CamelCase.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  hw/input/hid.c              | 4 ++--
>  hw/input/ps2.c              | 4 ++--
>  hw/input/virtio-input-hid.c | 4 ++--
>  monitor.c                   | 2 +-
>  qapi-schema.json            | 5 +----
>  qmp-commands.hx             | 4 ++--
>  ui/cocoa.m                  | 4 ++--
>  ui/gtk.c                    | 4 ++--
>  ui/input-legacy.c           | 4 ++--
>  ui/sdl.c                    | 4 ++--
>  ui/sdl2.c                   | 4 ++--
>  ui/spice-input.c            | 4 ++--
>  ui/vnc.c                    | 4 ++--
>  13 files changed, 24 insertions(+), 27 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


> diff --git a/qapi-schema.json b/qapi-schema.json
> index 3884479..511702f 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -3662,12 +3662,9 @@
>  # Button of a pointer input device (mouse, tablet).
>  #
>  # Since: 2.0
> -#
> -# Note that the spelling of these values may change when the
> -# x-input-send-event is promoted out of experimental status.
>  ##
>  { 'enum'  : 'InputButton',
> -  'data'  : [ 'Left', 'Middle', 'Right', 'WheelUp', 'WheelDown' ] }
> +  'data'  : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down' ] }

Ok, this rename is safe todo, since this enum is only used from the
experimental x-input-send-event command

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 6/7] qapi: rename input axises
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 6/7] qapi: rename input axises Gerd Hoffmann
@ 2016-01-12 12:50   ` Daniel P. Berrange
  2016-01-15 16:51   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:50 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:38PM +0100, Gerd Hoffmann wrote:
> Lowercase them.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  qapi-schema.json | 5 +----
>  qmp-commands.hx  | 4 ++--
>  2 files changed, 3 insertions(+), 6 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable Gerd Hoffmann
@ 2016-01-12 12:53   ` Daniel P. Berrange
  2016-01-12 13:04     ` Gerd Hoffmann
  0 siblings, 1 reply; 22+ messages in thread
From: Daniel P. Berrange @ 2016-01-12 12:53 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

On Tue, Jan 12, 2016 at 01:29:39PM +0100, Gerd Hoffmann wrote:
> With all fixups being in place now, we can promote input-send-event
> to stable abi by removing the x- prefix.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  qapi-schema.json | 12 +++---------
>  qmp-commands.hx  | 14 +++++++-------
>  ui/input.c       |  6 +++---
>  3 files changed, 13 insertions(+), 19 deletions(-)
> 
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 35ef71c..a0b6963 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -3738,7 +3738,7 @@
>                'abs'     : 'InputMoveEvent' } }
>  
>  ##
> -# @x-input-send-event
> +# @input-send-event
>  #
>  # Send input event(s) to guest.
>  #
> @@ -3759,16 +3759,10 @@
>  # specified, both input devices with and without input routing config
>  # are admissible, but devices with input routing config take
>  # precedence.
> -
> -# Since: 2.2
> -#
> -# Note: this command is experimental, and not a stable API.  Things that
> -# might change before it becomes stable include the spelling of enum
> -# values for InputButton and InputAxis, and the notion of how to designate
> -# which console will receive the event.
>  #
> +# Since: experimental 2.2, stable 2.6

Couldn't it just be 'Since: 2.6' ? The experimental tag refers to
the old x- prefixed comamnd which no longer exists, so I don't think
we need to admit existence of the old command after this point.

>  ##
> -{ 'command': 'x-input-send-event',
> +{ 'command': 'input-send-event',
>    'data': { '*device': 'str',
>              '*head'  : 'int',
>              'events' : [ 'InputEvent' ] } }



Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable
  2016-01-12 12:53   ` Daniel P. Berrange
@ 2016-01-12 13:04     ` Gerd Hoffmann
  2016-01-15 16:58       ` Markus Armbruster
  0 siblings, 1 reply; 22+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 13:04 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: Marcelo Tosatti, qemu-devel, Markus Armbruster

> > +# Since: experimental 2.2, stable 2.6
> 
> Couldn't it just be 'Since: 2.6' ? The experimental tag refers to
> the old x- prefixed comamnd which no longer exists, so I don't think
> we need to admit existence of the old command after this point.

Sounds good to me, but will wait for our qapi masters to comment ;)

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
  2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
                   ` (6 preceding siblings ...)
  2016-01-12 12:42 ` [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Daniel P. Berrange
@ 2016-01-15 16:22 ` Markus Armbruster
  2016-01-15 16:41   ` Markus Armbruster
  7 siblings, 1 reply; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:22 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Gerd Hoffmann <kraxel@redhat.com> writes:

> We have two places needing this, and a third one will come shortly.
> So create a helper function for that so we don't diplicate code.

"duplicate"

>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/ui/console.h |  2 ++
>  ui/console.c         | 23 +++++++++++++++++++++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/include/ui/console.h b/include/ui/console.h
> index adac36d..bbc3b7c 100644
> --- a/include/ui/console.h
> +++ b/include/ui/console.h
> @@ -377,6 +377,8 @@ void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
>  
>  QemuConsole *qemu_console_lookup_by_index(unsigned int index);
>  QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head);
> +QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
> +                                                uint32_t head, Error **errp);
>  bool qemu_console_is_visible(QemuConsole *con);
>  bool qemu_console_is_graphic(QemuConsole *con);
>  bool qemu_console_is_fixedsize(QemuConsole *con);
> diff --git a/ui/console.c b/ui/console.c
> index 4b65c34..ddaa165 100644
> --- a/ui/console.c
> +++ b/ui/console.c
> @@ -1779,6 +1779,29 @@ QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head)
>      return NULL;
>  }
>  
> +QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
> +                                                uint32_t head, Error **errp)
> +{
> +    DeviceState *dev;
> +    QemuConsole *con;
> +
> +    dev = qdev_find_recursive(sysbus_get_default(), device_id);
> +    if (dev == NULL) {
> +        error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
> +                  "Device '%s' not found", device_id);
> +        return NULL;
> +    }
> +
> +    con = qemu_console_lookup_by_device(dev, head);
> +    if (con == NULL) {
> +        error_setg(errp, "Device %s (head %d) is not bound to a QemuConsole",
> +                   device_id, head);
> +        return NULL;
> +    }
> +
> +    return con;
> +}
> +
>  bool qemu_console_is_visible(QemuConsole *con)
>  {
>      return (con == active_console) || (con->dcls > 0);

Peeking ahead in the series...  okay, this is factored out of
qemu_input_handler_bind() and vnc_display_open(), with the error message
improved slightly.

I'd squash PATCH 1-3 together, to make that more obvious.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head Gerd Hoffmann
  2016-01-12 12:47   ` Daniel P. Berrange
@ 2016-01-15 16:25   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:25 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Gerd Hoffmann <kraxel@redhat.com> writes:

> Use display device qdev id and head number instead of console index to
> specify the QemuConsole.  This makes things consistent with input
> devices (for input routing) and vnc server configuration, which both use
> display and head too.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  qapi-schema.json | 32 +++++++++++++++++---------------
>  qmp-commands.hx  | 15 ++++++++-------
>  ui/input.c       | 15 ++++++++++-----
>  3 files changed, 35 insertions(+), 27 deletions(-)
>
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 2e31733..3884479 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -3748,24 +3748,24 @@
>  #
>  # Send input event(s) to guest.
>  #
> -# @console: #optional console to send event(s) to.
> -#           This parameter can be used to send the input event to
> -#           specific input devices in case (a) multiple input devices
> -#           of the same kind are added to the virtual machine and (b)
> -#           you have configured input routing (see docs/multiseat.txt)
> -#           for those input devices.  If input routing is not
> -#           configured this parameter has no effect.
> -#           If @console is missing, only devices that aren't associated
> -#           with a console are admissible.
> -#           If @console is specified, it must exist, and both devices
> -#           associated with that console and devices not associated with a
> -#           console are admissible, but the former take precedence.
> -
> -#
> +# @device: #optional display device to send event(s) to.
> +# @head: #optional head to send event(s) to, in case the
> +#        display device supports multiple scanouts.
>  # @events: List of InputEvent union.
>  #
>  # Returns: Nothing on success.
>  #
> +# The @display and @head parameters can be used to send the input
> +# event to specific input devices in case (a) multiple input devices
> +# of the same kind are added to the virtual machine and (b) you have
> +# configured input routing (see docs/multiseat.txt) for those input
> +# devices.  The parameters work exactly like the device and head
> +# properties of input devices.  If @device is missing, only devices
> +# that have no input routing config are admissible.  If @device is
> +# specified, both input devices with and without input routing config
> +# are admissible, but devices with input routing config take
> +# precedence.
> +
>  # Since: 2.2
>  #
>  # Note: this command is experimental, and not a stable API.  Things that
> @@ -3775,7 +3775,9 @@
>  #
>  ##
>  { 'command': 'x-input-send-event',
> -  'data': { '*console':'int', 'events': [ 'InputEvent' ] } }
> +  'data': { '*device': 'str',
> +            '*head'  : 'int',
> +            'events' : [ 'InputEvent' ] } }
>  
>  ##
>  # @NumaOptions
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index db072a6..bda1fa6 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -4614,7 +4614,8 @@ Send input event to guest.
>  
>  Arguments:
>  
> -- "console": console index. (json-int, optional)
> +- "device": display device. (json-str, optional)
> +- "head": display head. (json-int, optional)
>  - "events": list of input events.

Suggest to drop the periods.

[...]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
  2016-01-15 16:22 ` Markus Armbruster
@ 2016-01-15 16:41   ` Markus Armbruster
  2016-01-15 16:45     ` Markus Armbruster
  0 siblings, 1 reply; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:41 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Markus Armbruster <armbru@redhat.com> writes:

> Gerd Hoffmann <kraxel@redhat.com> writes:
>
>> We have two places needing this, and a third one will come shortly.
>> So create a helper function for that so we don't diplicate code.
>
> "duplicate"
>
>>
>> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>> ---
>>  include/ui/console.h |  2 ++
>>  ui/console.c         | 23 +++++++++++++++++++++++
>>  2 files changed, 25 insertions(+)
>>
>> diff --git a/include/ui/console.h b/include/ui/console.h
>> index adac36d..bbc3b7c 100644
>> --- a/include/ui/console.h
>> +++ b/include/ui/console.h
>> @@ -377,6 +377,8 @@ void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
>>  
>>  QemuConsole *qemu_console_lookup_by_index(unsigned int index);
>>  QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head);
>> +QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
>> +                                                uint32_t head, Error **errp);
>>  bool qemu_console_is_visible(QemuConsole *con);
>>  bool qemu_console_is_graphic(QemuConsole *con);
>>  bool qemu_console_is_fixedsize(QemuConsole *con);
>> diff --git a/ui/console.c b/ui/console.c
>> index 4b65c34..ddaa165 100644
>> --- a/ui/console.c
>> +++ b/ui/console.c
>> @@ -1779,6 +1779,29 @@ QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head)
>>      return NULL;
>>  }
>>  
>> +QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
>> +                                                uint32_t head, Error **errp)
>> +{
>> +    DeviceState *dev;
>> +    QemuConsole *con;
>> +
>> +    dev = qdev_find_recursive(sysbus_get_default(), device_id);
>> +    if (dev == NULL) {
>> +        error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
>> +                  "Device '%s' not found", device_id);
>> +        return NULL;
>> +    }
>> +
>> +    con = qemu_console_lookup_by_device(dev, head);
>> +    if (con == NULL) {
>> +        error_setg(errp, "Device %s (head %d) is not bound to a QemuConsole",
>> +                   device_id, head);
>> +        return NULL;
>> +    }
>> +
>> +    return con;
>> +}
>> +
>>  bool qemu_console_is_visible(QemuConsole *con)
>>  {
>>      return (con == active_console) || (con->dcls > 0);
>
> Peeking ahead in the series...  okay, this is factored out of
> qemu_input_handler_bind() and vnc_display_open(), with the error message
> improved slightly.
>
> I'd squash PATCH 1-3 together, to make that more obvious.

And add a declaration to a suitable header :)

ui/input.c: In function ‘qemu_input_handler_bind’:
ui/input.c:87:11: warning: implicit declaration of function ‘qemu_console_lookup_by_device_name’ [-Wimplicit-function-declaration]
     con = qemu_console_lookup_by_device_name(device_id, head, &err);
           ^

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
  2016-01-15 16:41   ` Markus Armbruster
@ 2016-01-15 16:45     ` Markus Armbruster
  0 siblings, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:45 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Markus Armbruster <armbru@redhat.com> writes:

> And add a declaration to a suitable header :)
>
> ui/input.c: In function ‘qemu_input_handler_bind’:
> ui/input.c:87:11: warning: implicit declaration of function ‘qemu_console_lookup_by_device_name’ [-Wimplicit-function-declaration]
>      con = qemu_console_lookup_by_device_name(device_id, head, &err);
>            ^

Scratch that, I misapplied your series.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 5/7] qapi: rename input buttons
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 5/7] qapi: rename input buttons Gerd Hoffmann
  2016-01-12 12:49   ` Daniel P. Berrange
@ 2016-01-15 16:50   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:50 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Peter Maydell, Michael S. Tsirkin, Marcelo Tosatti, qemu-devel,
	Luiz Capitulino, Andreas Färber

Gerd Hoffmann <kraxel@redhat.com> writes:

> All lowercase, use-dash instead of CamelCase.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Please squash in:

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 7dec611..096fb24 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -67,7 +67,6 @@ case_whitelist = [
     'CpuInfoMIPS',          # PC, visible through query-cpu
     'CpuInfoTricore',       # PC, visible through query-cpu
     'InputAxis',            # TODO: drop when x-input-send-event is fixed
-    'InputButton',          # TODO: drop when x-input-send-event is fixed
     'QapiErrorClass',       # all members, visible through errors
     'UuidInfo',             # UUID, visible through query-uuid
     'X86CPURegister32',     # all members, visible indirectly through qom-get

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 6/7] qapi: rename input axises
  2016-01-12 12:29 ` [Qemu-devel] [PATCH 6/7] qapi: rename input axises Gerd Hoffmann
  2016-01-12 12:50   ` Daniel P. Berrange
@ 2016-01-15 16:51   ` Markus Armbruster
  1 sibling, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:51 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Gerd Hoffmann <kraxel@redhat.com> writes:

> Lowercase them.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Please squash in:

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 096fb24..4dcaf5a 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -66,7 +66,6 @@ case_whitelist = [
     'CpuInfoBase',          # CPU, visible through query-cpu
     'CpuInfoMIPS',          # PC, visible through query-cpu
     'CpuInfoTricore',       # PC, visible through query-cpu
-    'InputAxis',            # TODO: drop when x-input-send-event is fixed
     'QapiErrorClass',       # all members, visible through errors
     'UuidInfo',             # UUID, visible through query-uuid
     'X86CPURegister32',     # all members, visible indirectly through qom-get

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable
  2016-01-12 13:04     ` Gerd Hoffmann
@ 2016-01-15 16:58       ` Markus Armbruster
  0 siblings, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2016-01-15 16:58 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, qemu-devel

Gerd Hoffmann <kraxel@redhat.com> writes:

>> > +# Since: experimental 2.2, stable 2.6
>> 
>> Couldn't it just be 'Since: 2.6' ? The experimental tag refers to
>> the old x- prefixed comamnd which no longer exists, so I don't think
>> we need to admit existence of the old command after this point.
>
> Sounds good to me, but will wait for our qapi masters to comment ;)

I agree with Dan.

Series is basically fine.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-01-15 16:58 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-12 12:29 [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Gerd Hoffmann
2016-01-12 12:29 ` [Qemu-devel] [PATCH 2/7] console: use qemu_console_lookup_by_device_name in qemu_input_handler_bind Gerd Hoffmann
2016-01-12 12:43   ` Daniel P. Berrange
2016-01-12 12:29 ` [Qemu-devel] [PATCH 3/7] console: use qemu_console_lookup_by_device_name in vnc_display_open Gerd Hoffmann
2016-01-12 12:43   ` Daniel P. Berrange
2016-01-12 12:29 ` [Qemu-devel] [PATCH 4/7] qapi: switch x-input-send-event from console to device+head Gerd Hoffmann
2016-01-12 12:47   ` Daniel P. Berrange
2016-01-15 16:25   ` Markus Armbruster
2016-01-12 12:29 ` [Qemu-devel] [PATCH 5/7] qapi: rename input buttons Gerd Hoffmann
2016-01-12 12:49   ` Daniel P. Berrange
2016-01-15 16:50   ` Markus Armbruster
2016-01-12 12:29 ` [Qemu-devel] [PATCH 6/7] qapi: rename input axises Gerd Hoffmann
2016-01-12 12:50   ` Daniel P. Berrange
2016-01-15 16:51   ` Markus Armbruster
2016-01-12 12:29 ` [Qemu-devel] [PATCH 7/7] qapi: promote input-send-event to stable Gerd Hoffmann
2016-01-12 12:53   ` Daniel P. Berrange
2016-01-12 13:04     ` Gerd Hoffmann
2016-01-15 16:58       ` Markus Armbruster
2016-01-12 12:42 ` [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name Daniel P. Berrange
2016-01-15 16:22 ` Markus Armbruster
2016-01-15 16:41   ` Markus Armbruster
2016-01-15 16:45     ` Markus Armbruster

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).