[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/42] input: qapi: define event types
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH v2 06/42] input: qapi: define event types |
Date: |
Wed, 22 Jan 2014 17:20:11 +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 f27c48a..38ffc88 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4270,3 +4270,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 v2 00/42] rework input handling, sdl2 support, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 02/42] sdl2: baum build fix, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 08/42] input: qapi: add pause key, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 06/42] input: qapi: define event types,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH v2 07/42] input: qapi: add unmapped key, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 03/42] sdl2: remove text console logic, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 21/42] input: mouse: add qemu_input_is_absolute(), Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 05/42] input: rename file to legacy, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 04/42] console: export QemuConsole index, width, height, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 17/42] input: keyboard: switch spice ui to new core, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 01/42] ui/sdl2 : initial port to SDL 2.0 (v2.0), Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 15/42] sdl2: switch keyboard handling to new core, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 09/42] input: add core bits of the new input layer, Gerd Hoffmann, 2014/01/22
- [Qemu-devel] [PATCH v2 14/42] input: keyboard: switch sdl ui to new core, Gerd Hoffmann, 2014/01/22