summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--qapi/ui.json30
1 files changed, 28 insertions, 2 deletions
diff --git a/qapi/ui.json b/qapi/ui.json
index b2cf7a6759..9e04f9d65d 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: