[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/42] input: qapi: define event types
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 06/42] input: qapi: define event types |
Date: |
Mon, 16 Dec 2013 11:48:42 +0100 |
Define input event types, using qapi. So we get nicely autogenerated
types for our input events. And when it comes to qmp support some day
things will be alot easier.
Types are modeled after the linux input layer. There are separate
event types for each value. There is a sync to indicate the end
of a event group.
Mouse events are splitted into motion events (one for each axis) and
button events, which are grouped by sync.
Keyboard events are using the existing KeyValue type.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
qapi-schema.json | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/qapi-schema.json b/qapi-schema.json
index d6f8615..0316cb4 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4235,3 +4235,79 @@
# Since: 1.7
##
{ 'command': 'blockdev-add', 'data': { 'options': 'BlockdevOptions' } }
+
+##
+# @InputButton
+#
+# Button of a pointer input device (mouse, tablet).
+#
+# Since: 2.0
+##
+{ 'enum' : 'InputButton',
+ 'data' : [ 'Left', 'Middle', 'Right', 'WheelUp', 'WheelDown' ] }
+
+##
+# @InputButton
+#
+# Position axis of a pointer input device (mouse, tablet).
+#
+# Since: 2.0
+##
+{ 'enum' : 'InputAxis',
+ 'data' : [ 'X', 'Y' ] }
+
+##
+# @InputKeyEvent
+#
+# Keyboard input event.
+#
+# @key: Which key this event is for.
+# @down: True for key-down and false for key-up events.
+#
+# Since: 2.0
+##
+{ 'type' : 'InputKeyEvent',
+ 'data' : { 'key' : 'KeyValue',
+ 'down' : 'bool' } }
+
+##
+# @InputBtnEvent
+#
+# Pointer button input event.
+#
+# @button: Which button this event is for.
+# @down: True for key-down and false for key-up events.
+#
+# Since: 2.0
+##
+{ 'type' : 'InputBtnEvent',
+ 'data' : { 'button' : 'InputButton',
+ 'down' : 'bool' } }
+
+##
+# @InputMoveEvent
+#
+# Pointer motion input event.
+#
+# @axis: Which axis is referenced by @value.
+# @value: Pointer position. For absolute coordinates the
+# valid range is 0 -> 0x7ffff
+#
+# Since: 2.0
+##
+{ 'type' : 'InputMoveEvent',
+ 'data' : { 'axis' : 'InputAxis',
+ 'value' : 'int' } }
+
+##
+# @InputEvent
+#
+# Input event union.
+#
+# Since: 2.0
+##
+{ 'union' : 'InputEvent',
+ 'data' : { 'key' : 'InputKeyEvent',
+ 'btn' : 'InputBtnEvent',
+ 'rel' : 'InputMoveEvent',
+ 'abs' : 'InputMoveEvent' } }
--
1.8.3.1
- [Qemu-devel] [PATCH 00/42] rework input handling, sdl2 support, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 02/42] sdl2: baum build fix, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 04/42] console: export QemuConsole index, width, height, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 06/42] input: qapi: define event types,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 03/42] sdl2: remove text console logic, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 12/42] input: keyboard: switch qmp_send_key() to new core., Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 18/42] input: keyboard: switch curses ui to new core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 15/42] sdl2: switch keyboard handling to new core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 05/42] input: rename file to legacy, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 14/42] input: keyboard: switch sdl ui to new core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 10/42] input: keyboard: add helper functions to core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 11/42] input: keyboard: switch legacy handlers to new core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 25/42] sdl2: switch mouse handling to new core, Gerd Hoffmann, 2013/12/16
- [Qemu-devel] [PATCH 19/42] input: mouse: add helpers functions to core, Gerd Hoffmann, 2013/12/16