Rather than relying on input-event-codes, define our own enum that is tailored
towards the tablet interface.

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
Because it's usually easier to pick holes into a patch proposal than come up
with ideas elsewhere, here's a quick-and-dirty patch.

Advantage: we control the button names/numbers and clients don't have to
know about cases where linux/input.h isn't enough.
Obvious drawback: adding new buttons requires a new protocol. Given this
hardware hasn't really changed much in quite a while, this may not be much
of an issue.

 unstable/tablet/tablet-unstable-v2.xml | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/unstable/tablet/tablet-unstable-v2.xml 
b/unstable/tablet/tablet-unstable-v2.xml
index 728a3df..88aed83 100644
--- a/unstable/tablet/tablet-unstable-v2.xml
+++ b/unstable/tablet/tablet-unstable-v2.xml
@@ -539,6 +539,26 @@
       <arg name="clicks" type="int" summary="The wheel delta in discrete 
clicks"/>
     </event>
 
+    <enum name="button">
+      <description summary="physical button name">
+       Describes the physical button that produced the button event.
+      </description>
+      <entry name="unknown" value="0" summary="An unknown button"/>
+      <entry name="stylus1" value="1" summary="The primary button on a 
stylus-like tool"/>
+      <entry name="stylus2" value="2" summary="The secondary button on a 
stylus-like tool"/>
+      <entry name="stylus3" value="3" summary="The third button on a 
stylus-like tool"/>
+      <entry name="stylus4" value="4" summary="The forth button on a 
stylus-like tool"/>
+      <entry name="stylus5" value="5" summary="The fifth button on a 
stylus-like tool"/>
+      <entry name="stylus6" value="6" summary="The sixth button on a 
stylus-like tool"/>
+      <entry name="stylus7" value="7" summary="The seventh button on a 
stylus-like tool"/>
+      <entry name="stylus8" value="8" summary="The eighth button on a 
stylus-like tool"/>
+      <entry name="stylus9" value="9" summary="The ninth button on a 
stylus-like tool"/>
+      <entry name="left" value="10" summary="The left button on a mouse-like 
tool"/>
+      <entry name="right" value="11" summary="The right button on a mouse-like 
tool"/>
+      <entry name="middle" value="12" summary="The middle button on a 
mouse-like tool"/>
+      <entry name="thumb" value="13" summary="The thumb button on a mouse-like 
tool"/>
+    </enum>
+
     <enum name="button_state">
       <description summary="physical button state">
        Describes the physical state of a button that produced the button event.
@@ -558,7 +578,7 @@
       </description>
 
       <arg name="serial" type="uint"/>
-      <arg name="button" type="uint" summary="The button whose state has 
changed"/>
+      <arg name="button" type="uint" enum="button" summary="The button whose 
state has changed"/>
       <arg name="state" type="uint" enum="button_state" summary="Whether the 
button was pressed or released"/>
     </event>
 
-- 
2.9.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to