On Mon, Nov 21, 2016 at 12:42:36PM +0000, Daniel Stone wrote:
> Hi,
> 
> On 20 November 2016 at 05:14, Peter Hutterer <[email protected]> wrote:
> > Rather than relying on input-event-codes, define our own enum that is 
> > tailored
> > towards the tablet interface.
> >
> > Signed-off-by: Peter Hutterer <[email protected]>
> > ---
> > 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. 

I disagree here. The kernel only has BTN_STYLUS and BTN_STYLUS2, after that
we overlap with DOUBLETAP range and later buttons that are completely
different (e.g. BTN_GEAR_DOWN). I think this would only make it worse.
This protocol is still unstable, every client needs updates once we mark it
stable anyway, making the enums *values* mean something is counterproductive
IMO.

> Also, 9 stylus buttons seems like an oddly specific number.

was supposed to be 10 [0-9], I just have an index offset error here, sorry :)

Cheers,
   Peter

> Anyway, if you switch these values to the current BTN_* equivalents:
> Acked-by: Daniel Stone <[email protected]>
> 
> Cheers,
> Daniel
_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to