[PATCH weston 00/19] Basic tablet support in Weston
Stephen Chandler Paul
thatslyude at gmail.com
Wed Aug 6 16:07:50 PDT 2014
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
--
1.8.5.5
More information about the wayland-devel
mailing list