aboutsummaryrefslogtreecommitdiff
path: root/qapi/ui.json
diff options
context:
space:
mode:
Diffstat (limited to 'qapi/ui.json')
-rw-r--r--qapi/ui.json72
1 files changed, 66 insertions, 6 deletions
diff --git a/qapi/ui.json b/qapi/ui.json
index b2cf7a6759..d7567ac866 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -825,6 +825,30 @@
'lang1', 'lang2' ] }
##
+# @KeyValueKind:
+#
+# Since: 1.3
+##
+{ 'enum': 'KeyValueKind',
+ 'data': [ 'number', 'qcode' ] }
+
+##
+# @IntWrapper:
+#
+# Since: 1.3
+##
+{ 'struct': 'IntWrapper',
+ 'data': { 'data': 'int' } }
+
+##
+# @QKeyCodeWrapper:
+#
+# Since: 1.3
+##
+{ 'struct': 'QKeyCodeWrapper',
+ 'data': { 'data': 'QKeyCode' } }
+
+##
# @KeyValue:
#
# Represents a keyboard key.
@@ -832,9 +856,11 @@
# Since: 1.3
##
{ 'union': 'KeyValue',
+ 'base': { 'type': 'KeyValueKind' },
+ 'discriminator': 'type',
'data': {
- 'number': 'int',
- 'qcode': 'QKeyCode' } }
+ 'number': 'IntWrapper',
+ 'qcode': 'QKeyCodeWrapper' } }
##
# @send-key:
@@ -935,6 +961,38 @@
'value' : 'int' } }
##
+# @InputEventKind:
+#
+# Since: 2.0
+##
+{ 'enum': 'InputEventKind',
+ 'data': [ 'key', 'btn', 'rel', 'abs' ] }
+
+##
+# @InputKeyEventWrapper:
+#
+# Since: 2.0
+##
+{ 'struct': 'InputKeyEventWrapper',
+ 'data': { 'data': 'InputKeyEvent' } }
+
+##
+# @InputBtnEventWrapper:
+#
+# Since: 2.0
+##
+{ 'struct': 'InputBtnEventWrapper',
+ 'data': { 'data': 'InputBtnEvent' } }
+
+##
+# @InputMoveEventWrapper:
+#
+# Since: 2.0
+##
+{ 'struct': 'InputMoveEventWrapper',
+ 'data': { 'data': 'InputMoveEvent' } }
+
+##
# @InputEvent:
#
# Input event union.
@@ -949,10 +1007,12 @@
# Since: 2.0
##
{ 'union' : 'InputEvent',
- 'data' : { 'key' : 'InputKeyEvent',
- 'btn' : 'InputBtnEvent',
- 'rel' : 'InputMoveEvent',
- 'abs' : 'InputMoveEvent' } }
+ 'base': { 'type': 'InputEventKind' },
+ 'discriminator': 'type',
+ 'data' : { 'key' : 'InputKeyEventWrapper',
+ 'btn' : 'InputBtnEventWrapper',
+ 'rel' : 'InputMoveEventWrapper',
+ 'abs' : 'InputMoveEventWrapper' } }
##
# @input-send-event: