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

Pekka Paalanen ppaalanen at gmail.com
Tue Aug 19 03:03:52 PDT 2014


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


More information about the wayland-devel mailing list