Re: [Qemu-devel] [PATCH 06/42] input: qapi: define event types

2014-02-03 Thread Gerd Hoffmann
  Hi,

 s/alot/a lot/

 s/splitted/split/

Applied.

  +##
  +# @InputBtnEvent
 
 Should we spell this out?  I'm okay with the abbreviation if it makes it
 easier to fit 80 columns, but Button is nicer to read than Btn.

I'm sort-of following linux input layer convention here,
which uses btn for the buttons too.

cheers,
  Gerd





Re: [Qemu-devel] [PATCH 06/42] input: qapi: define event types

2014-01-30 Thread Eric Blake
On 01/28/2014 02:56 AM, Gerd Hoffmann wrote:
 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.

s/alot/a lot/

 
 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

s/splitted/split/

 button events, which are grouped by sync.
 
 Keyboard events are using the existing KeyValue type.
 
 Signed-off-by: Gerd Hoffmann kra...@redhat.com
 ---
  qapi-schema.json | 76 
 
  1 file changed, 76 insertions(+)

 +
 +##
 +# @InputBtnEvent

Should we spell this out?  I'm okay with the abbreviation if it makes it
easier to fit 80 columns, but Button is nicer to read than Btn.

 +
 +##
 +# @InputEvent
 +#
 +# Input event union.
 +#
 +# Since: 2.0
 +##
 +{ 'union' : 'InputEvent',
 +  'data'  : { 'key' : 'InputKeyEvent',
 +  'btn' : 'InputBtnEvent',

Again, should we use 'button' instead of 'btn'?

As naming is cosmetic, I can live with what you have.

Reviewed-by: Eric Blake ebl...@redhat.com

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


[Qemu-devel] [PATCH 06/42] input: qapi: define event types

2014-01-28 Thread Gerd Hoffmann
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 kra...@redhat.com
---
 qapi-schema.json | 76 
 1 file changed, 76 insertions(+)

diff --git a/qapi-schema.json b/qapi-schema.json
index 05ced9d..646d64f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4419,3 +4419,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 - 0x7
+#
+# 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 06/42] input: qapi: define event types

2013-12-16 Thread Gerd Hoffmann
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 kra...@redhat.com
---
 qapi-schema.json | 76 
 1 file changed, 76 insertions(+)

diff --git a/qapi-schema.json b/qapi-schema.json
index d6f8615..0316cb4 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4235,3 +4235,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 - 0x7
+#
+# 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