After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 790028 - Support Wacom's new "Pro Pen 3D" and its third stylus button
Support Wacom's new "Pro Pen 3D" and its third stylus button
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Wacom
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Carlos Garnacho
Control-Center Maintainers
Depends on:
Blocks: 790033
 
 
Reported: 2017-11-07 17:00 UTC by Jason Gerecke
Modified: 2018-02-07 15:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wacom: Set combo-topbutton to current value for styli with > 2 buttons (1.21 KB, patch)
2017-11-07 17:50 UTC, Jason Gerecke
committed Details | Review
wacom: Make remove_buttons dynamic (3.01 KB, patch)
2017-11-07 17:51 UTC, Jason Gerecke
committed Details | Review
wacom: Add support for three-button styli (19.14 KB, patch)
2017-11-07 17:51 UTC, Jason Gerecke
committed Details | Review
wacom: Support the WSTYLUS_3D stylus type (2.31 KB, patch)
2017-11-07 17:52 UTC, Jason Gerecke
committed Details | Review
schemas: Add tertiary-button-action for Wacom styli (1.56 KB, patch)
2017-11-07 18:01 UTC, Jason Gerecke
committed Details | Review

Description Jason Gerecke 2017-11-07 17:00:21 UTC
Wacom has just announced a new "Pro Pen 3D" [1] for their latest generation of tablets. This pen includes a third barrel button which is intended to be particularly useful in applications where one frequency uses pan, zoom, and rotate to navigate around a scene or model.

This new pen is not fully supported by GNOME for two reasons: 1) the gnome-control-center offers no way to configure the use of the third button; 2) mutter has no support for a third stylus button. This bug is focused on resolving the first issue. A separate bug will be opened for the second issue.

It should be mentioned that patches to support this pen are being added at other layers in the stack below us (e.g. kernel, xf86-input-wacom, libwacom) and that GNOME patches to add support may have dependencies on those updates.

[1]: http://wacomcintiqpro.wacom.com/en-us#WacomProPen3D
Comment 1 Jason Gerecke 2017-11-07 17:50:35 UTC
Created attachment 363163 [details] [review]
wacom: Set combo-topbutton to current value for styli  with > 2 buttons
Comment 2 Jason Gerecke 2017-11-07 17:51:19 UTC
Created attachment 363164 [details] [review]
wacom: Make remove_buttons dynamic
Comment 3 Jason Gerecke 2017-11-07 17:51:56 UTC
Created attachment 363165 [details] [review]
wacom: Add support for three-button styli
Comment 4 Jason Gerecke 2017-11-07 17:52:52 UTC
Created attachment 363166 [details] [review]
wacom: Support the WSTYLUS_3D stylus type

Depends on libwacom accepting a patch for the new "WSTYLUS_3D" pen type
Comment 5 Jason Gerecke 2017-11-07 18:01:36 UTC
Created attachment 363168 [details] [review]
schemas: Add tertiary-button-action for Wacom styli

Patch for gsettings-desktop-schemas which adds a new "tertiary-button-action" that gnome-control-center can use to store settings for the new button.
Comment 6 Jason Gerecke 2017-11-13 16:09:34 UTC
Note: WSTYLUS_3D has now been accepted into libwacom

https://sourceforge.net/p/linuxwacom/libwacom/ci/8896ed28cff26255aece4a4e964a2c8ef5a8fa51/
Comment 7 Carlos Garnacho 2018-01-24 19:51:42 UTC
Comment on attachment 363163 [details] [review]
wacom: Set combo-topbutton to current value for styli  with > 2 buttons

LGTM
Comment 8 Carlos Garnacho 2018-01-24 20:01:08 UTC
Review of attachment 363164 [details] [review]:

Okay. Had to read twice to check if n was the buttons to delete or preserve, and where it'd start from :). Won't bikeshed about it, still looks like an improvement over the two functions.
Comment 9 Carlos Garnacho 2018-01-24 20:07:56 UTC
Review of attachment 363165 [details] [review]:

The svg files are not added to relevant build rules (would be outdated anyway after the switch to meson :). I've got this change locally, and other than that looks good to me.
Comment 10 Carlos Garnacho 2018-01-24 20:12:45 UTC
Review of attachment 363166 [details] [review]:

::: panels/wacom/cc-wacom-tool.c
@@ +253,3 @@
 	case WSTYLUS_CLASSIC:
 		return "wacom-stylus-classic";
+	case WSTYLUS_3D:

What version is this defined since? I guess we need some ifdef magic.
Comment 11 Carlos Garnacho 2018-01-24 20:13:33 UTC
Review of attachment 363168 [details] [review]:

Looks good
Comment 12 Jason Gerecke 2018-01-24 23:30:59 UTC
(In reply to Carlos Garnacho from comment #10)
> Review of attachment 363166 [details] [review] [review]:
> 
> ::: panels/wacom/cc-wacom-tool.c
> @@ +253,3 @@
>  	case WSTYLUS_CLASSIC:
>  		return "wacom-stylus-classic";
> +	case WSTYLUS_3D:
> 
> What version is this defined since? I guess we need some ifdef magic.

Should be libwacom 0.27 which introduced this.
Comment 13 Carlos Garnacho 2018-01-30 20:07:36 UTC
Comment on attachment 363168 [details] [review]
schemas: Add tertiary-button-action for Wacom styli

Attachment 363168 [details] pushed as b2b9114 - schemas: Add tertiary-button-action for Wacom styli
Comment 14 Carlos Garnacho 2018-01-30 20:30:01 UTC
Made the missing meson.build changes and pushed to master. Thanks!

Attachment 373163 [details] pushed as 0c65e04 - wacom: Set combo-topbutton to current value for styli with > 2 buttons
Attachment 363164 [details] pushed as 69e9448 - wacom: Make remove_buttons dynamic
Attachment 363165 [details] pushed as 039f30a - wacom: Add support for three-button styli
Attachment 363166 [details] pushed as f57a192 - wacom: Support the WSTYLUS_3D stylus type
Comment 15 Bastien Nocera 2018-02-07 15:51:25 UTC
(In reply to Carlos Garnacho from comment #13)
> Comment on attachment 363168 [details] [review] [review]
> schemas: Add tertiary-button-action for Wacom styli
> 
> Attachment 363168 [details] pushed as b2b9114 - schemas: Add
> tertiary-button-action for Wacom styli

Please get those patches filed in the correct module, so the maintainers of said modules can have a look.