[RFC v2 wayland-protocols] tablet: define our own enum for tablet tool buttons

Daniel Stone daniel at fooishbar.org
Mon Nov 21 12:42:36 UTC 2016


Hi,

On 20 November 2016 at 05:14, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> Rather than relying on input-event-codes, define our own enum that is tailored
> towards the tablet interface.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at 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.

Conceptually, I don't see why not.

> @@ -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>

Concretely though, reusing BTN_* codes where possible would make it
easier for clients to transition between the two. Also, 9 stylus
buttons seems like an oddly specific number.

Anyway, if you switch these values to the current BTN_* equivalents:
Acked-by: Daniel Stone <daniels at collabora.com>

Cheers,
Daniel


More information about the wayland-devel mailing list