mirror of
https://github.com/qemu/qemu.git
synced 2024-11-27 22:03:35 +08:00
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: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
7ad95ff76c
commit
031fa96439
@ -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' } }
|
||||
|
Loading…
Reference in New Issue
Block a user