[PATCH weston 00/19] Basic tablet support in Weston

Jason Gerecke killertofu at gmail.com
Fri Aug 22 16:03:44 PDT 2014


On Aug 19, 2014 5:04 AM, "Pekka Paalanen" <ppaalanen at gmail.com> wrote:
>
> On Wed,  6 Aug 2014 19:07:50 -0400
> Stephen Chandler Paul <thatslyude at gmail.com> wrote:
>
> > Hi! As some of you have been aware, I have been working on implementing
tablet
> > ssupport in libinput, the wayland protocol and weston. This patchset
adds basic
> > tablet support to weston, along with support in the shell and the window
> > manager. It should be noted that these patches rely on one of the
earlier
> > patches to libinput that I posted on the mailing list: "tablet: Add
> > libinput_tablet_has_axis()", along with the tablet-support branch in
the git repository for libinput.
> >
> > As of right now, the following things are still missing/haven't been
finished
> > yet:
> > * Tablet objects don't ever send a removed event, right now it's up to
the
> >   clients to free the resources for each tool object.
> > * Tablet tool objects should be separate for each tablet connected that
doesn't
> >   report serial numbers. Right now tablet objects are shared by all
tablets
> >   connected to the system unconditionally.
> > * The tablet cursor disappears occasionally when moving a window and
causing
> >   the mouse pointer to change images, but reappears the next time a
client sets
> >   a cursor image.
> > * weston-flower can crash the shell for some reason. It seems that if a
tablet
> >   is turned on, and the first surface the tool comes into focus on
belongs to a
> >   weston-flower instance, the desktop-shell runs into an error and
exits. I
> >   haven't noticed this with anything other then weston-flower though.
> > * Held down buttons are released when the tool changes focus from one
surface
> >   to another, instead of being held down until they're released.
> > * Some of the declarations for structs in my code might need to be moved
> >   around, I'm not sure what the expected guidelines for this in
weston's code
> >   are though.
> > * A surface argument needs to be added to the proximity_out event, so
we can
> >   tell if the tablet tool is leaving proximity to switch focus to
another
> >   surface, or if it's just exiting proximity.
> >
> > Review/critique would be appreciated, thank you! ^^
> >
> > Cheers,
> >       Lyude
> >
> > Stephen Chandler Paul (19):
> >   tablet: Add XML for wl_tablet and wl_tablet_manager
> >   tablet: Add initial tablet support to weston
> >   client: Add support for handling motion events in toytoolkit
> >   client: Add support for handling proximity_in/out events in
> >     libtoytoolkit
> >   tablet: Add support for setting/changing the tablet cursor in weston
> >   client: Add tablet cursor support into libtoytoolkit
> >   tablet: Add support for tablet tool objects
> >   client: Add support for tool objects in libtoytoolkit
> >   client: Add support for tablet cursor motion to window frames in
> >     libtoytoolkit
> >   tablet: Add support for button presses to weston
> >   client: Add support for handling button presses to libtoytoolkit
> >   tablet: Add support for up/down events to weston
> >   client: Add up/down event support into libtoytoolkit
> >   tablet: Add support for moving windows around using the stylus
> >   tablet: Add support for reporting pressure, distance, and tilt in
> >     weston
> >   client: Add support for pressure, distance, and tilt into
> >     libtoytoolkit
> >   tablet: Add tablet support to the top panel of the desktop shell
> >   tablet: Add binding to activate surfaces using the tablet tool
> >   tablet: Add demo application for tablets
> >
> >  .gitignore                  |   1 +
> >  Makefile.am                 |  23 +-
> >  clients/desktop-shell.c     |  55 ++++
> >  clients/tablet.c            | 341 ++++++++++++++++++++
> >  clients/window.c            | 607 ++++++++++++++++++++++++++++++++++++
> >  clients/window.h            | 102 ++++++
> >  desktop-shell/shell.c       | 282 +++++++++++++++++
> >  protocol/wayland-tablet.xml | 310 +++++++++++++++++++
> >  shared/cairo-util.h         |   4 +
> >  shared/frame.c              |  38 +++
> >  src/bindings.c              |  37 +++
> >  src/compositor.c            |   1 +
> >  src/compositor.h            | 171 ++++++++++
> >  src/input.c                 | 736
++++++++++++++++++++++++++++++++++++++++++++
> >  src/libinput-device.c       | 317 +++++++++++++++++++
> >  src/libinput-device.h       |   4 +-
> >  16 files changed, 3024 insertions(+), 5 deletions(-)
> >  create mode 100644 clients/tablet.c
> >  create mode 100644 protocol/wayland-tablet.xml
> >
>
> Hi,
>
> just a heads-up, do I get the right impression that this is not yet in
> a shape to merge into Weston, so won't be included in 1.6?
>
> Could an input person review this and suggest whether this should in
> his opinion get merged for 1.6 and is it reasonable to assume, that all
> the remaining known bugs can be sufficiently fixed within the couple
> of weeks or so that our alpha and RC phase lasts?
>
> I still haven't read the latest protocol discussion thread, so I'm not
> sure where the design is atm.
>
> Personally I cannot even test this, since I don't have a tablet device
> here.
>
>
> Thanks,
> pq

I've the opposite problem: lots of hardware to test with (the basic results
of which I've given to Lyude directly) but still nowhere near enough
familiarity with Wayland/Weston to provide competent feedback on the
patches themselves. If anyone has questions about design decisions I can
try to add light to the discussion with use-case information, but I'm not
yet able to see potential problems on my own...

Jason G.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140822/29434b01/attachment.html>


More information about the wayland-devel mailing list