提交 031fa964 编写于 作者: G Gerd Hoffmann

input: qapi: define event types

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 a lot 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 split 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: NGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
上级 7ad95ff7
......@@ -4566,3 +4566,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' } }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册