GNOME Bugzilla – Bug 749767
left-handed mode doesn't work in GNOME 3.16.2 / Fedora 22 RC (regression)
Last modified: 2015-11-02 18:39:40 UTC
The left-handed orientation toggle in System Settings doesn't affect the rotation of Wacom tablets. Hardware: Wacom Intuos Pro S (in both wired or wireless modes) Expected: Tablet should be able to be used upside down, with everything remapped, so left-handers (like me) can use the tablet properly. This worked as expected in Fedora 21 / GNOME 3.14.x, so it's a regression. I poked around a bit and discovered: - the setting *does* toggle the gsettings state - `xsetwacom` does not show an update when the UI is changed[1] - `xsetwacom` does flip the orientation when manually updated[2] [1] `xsetwacom --get "Wacom Intuos Pro S Finger touch" Rotate` doesn't change when the UI is altered (nor does it default to half by default anymore) [2] in other words, `xsetwacom --set "Wacom Intuos Pro S Pen stylus" Rotate half && xsetwacom --set "Wacom Intuos Pro S Finger touch" Rotate half` works
To double-check: - you are using X11, not Wayland? - the wacom plugin is active: gsettings get org.gnome.settings-daemon.plugins.gsdwacom active ? - we'd need the output of /usr/libexec/gsd-list-wacom - other settings in the Wacom settings panel work?
It's broken after git commit 9e17dced137ff2fd05ed97c82e90a7725e9f82d7. I think the randr feature broke left-handed orientation.
Oops. Yes. I'm using X11, not Wayland. gsettings get org.gnome.settings-daemon.plugins.gsdwacom active returns true. I get a core dump when running /usr/libexec/gsd-list-wacom, but it does output text. I'll attach what it outputs. Other settings in the Wacom panel appear to work.
Created attachment 307606 [details] output of /usr/libexec/gsd-list-wacom
I got to see what happened here... along the intermediate refactors we got to a point where g-s-d was expecting mutter to apply left-handed mode through the device coordinate matrix, but mutter wouldn't listen to left-handed changes... Attaching a patch.
Created attachment 313531 [details] [review] wacom: Apply left handed mode With the introduction of GsDeviceMapper (commit 0810de0f), left-handed mode became responsibility of this object, which was applied by applying an extra rotation to the device coordinate matrix. Later, the device coordinate matrix handling was lifted to mutter, although the rotation setting was kept in the g-s-d side of the settings split, so GsdDeviceMapper would listen to the wrong settings, and left-handed mode became no mans land. Put the application of this setting back into GsdWacomManager, again translated to the "Wacom Rotation" device property. Nonetheless, all settings should move eventually to mutter domain, and this turned again into modifications to the coordinate matrix.
*** Bug 750155 has been marked as a duplicate of this bug. ***
Review of attachment 313531 [details] [review]: lgtm ::: plugins/wacom/gsd-wacom-manager.c @@ +864,1 @@ /* Real device rotation is handled in GsdDeviceMapper */ this is where you wanted to remove the comment :-)
Attachment 313531 [details] pushed as 27d581c - wacom: Apply left handed mode