Bug 1687979

Summary: [X11 Session] Various Wacom Screen Tablets Behave Like the Mode Strip Only has one Mode
Product: Red Hat Enterprise Linux 8 Reporter: Michael Boisvert <mboisver>
Component: gnome-shellAssignee: Carlos Garnacho <cgarnach>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 8.0CC: btissoir, cgarnach, jadahl, jkoten, lmiksik, peter.hutterer, tpelka, tpopela
Target Milestone: rc   
Target Release: 8.2   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gnome-shell-3.32.2-14.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:09:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Left Mode Button - libinput record
none
Right Mode Button - libinput record
none
Left Touch Strip - libinput record
none
Right Touch Strip - libinput record none

Description Michael Boisvert 2019-03-12 19:54:47 UTC
Description of problem: The Cintiq 21UX2 has two rear mounted touch strips with 4 modes, controlled by selection buttons with indicator LEDs. The mode selection LED and OSD shows a mode change, but switching modes doesn't do anything. 

The 24HD has a touch ring with 3 modes, each with its own mode selection button. The same issue is present as well as the modes change in a loop instead of being unique to each button press. 

Steps to Reproduce:
1. Set up a Wacom tablet with mode selection.
2. Map a/b to one of the touchstrip/ring modes and c/d to another mode. 
3. Open gedit and move your finger across the touchstrip/ring, changes modes and try again.

Actual results: The only letters printed will be the first ones mapped, in this case a/b. 

Expected results: Multiple unique modes with different mappings. 

Additional info: So far this issue is present on the two tablets listed above and only on Xorg, not present in Wayland. Also, I cannot check this issue on pen tablets because of bz#1687949.

Comment 1 Carlos Garnacho 2019-12-13 23:59:09 UTC
I think the problem described with the Cintiq 21UX2 happened to get fixed on 3.32.2-21. It's not that the strips had a single mode, it was that each strip was assigned to the wrong mode switch button (due to libwacom describing them in inverse order). That is now all coherent with that patch.

But this bug also mentions the 24HD multiple mode switch buttons. I have a fix for that.

Comment 2 Carlos Garnacho 2019-12-14 00:23:23 UTC
Should work with 3.32.2-24

Comment 4 Michael Boisvert 2019-12-17 17:08:00 UTC
Upon testing with the 24HD and the 21UX2 on mutter-3.32.2-26.el8.x86_64, I do not see these issues as fixed. On the 21UX2, pressing one of the mode switch buttons changes the mode for both touch strips instead of being independent, L and R. It does however have 4 modes for each strip that can be mapped independently. 

On the 24HD, the mode switch LEDs move correctly to each mode but the mapping and OSD never change from mode 1.

Comment 5 Carlos Garnacho 2019-12-23 21:42:23 UTC
(In reply to Michael Boisvert from comment #4)
> Upon testing with the 24HD and the 21UX2 on mutter-3.32.2-26.el8.x86_64, I
> do not see these issues as fixed. On the 21UX2, pressing one of the mode
> switch buttons changes the mode for both touch strips instead of being
> independent, L and R. It does however have 4 modes for each strip that can
> be mapped independently. 

Hmm... It'd be great if you could attach a couple of evemu/libinput recordings of the pad device, pressing the mode button and going up/down the strip, one for each side.

> 
> On the 24HD, the mode switch LEDs move correctly to each mode but the
> mapping and OSD never change from mode 1.

Gah, silly typo in the patch. I have a fix for that.

Comment 6 Michael Boisvert 2020-01-06 20:19:15 UTC
(In reply to Carlos Garnacho from comment #5)
> (In reply to Michael Boisvert from comment #4)
> > Upon testing with the 24HD and the 21UX2 on mutter-3.32.2-26.el8.x86_64, I
> > do not see these issues as fixed. On the 21UX2, pressing one of the mode
> > switch buttons changes the mode for both touch strips instead of being
> > independent, L and R. It does however have 4 modes for each strip that can
> > be mapped independently. 
> 
> Hmm... It'd be great if you could attach a couple of evemu/libinput
> recordings of the pad device, pressing the mode button and going up/down the
> strip, one for each side.
> 
> > 
> > On the 24HD, the mode switch LEDs move correctly to each mode but the
> > mapping and OSD never change from mode 1.
> 
> Gah, silly typo in the patch. I have a fix for that.

Okay, I made individual libinput recordings for both touch strips (up then down) and both mode switch buttons (pressed 4x).

Comment 7 Michael Boisvert 2020-01-06 20:20:15 UTC
Created attachment 1650206 [details]
Left Mode Button - libinput record

Comment 8 Michael Boisvert 2020-01-06 20:20:56 UTC
Created attachment 1650207 [details]
Right Mode Button - libinput record

Comment 9 Michael Boisvert 2020-01-06 20:21:34 UTC
Created attachment 1650208 [details]
Left Touch Strip - libinput record

Comment 10 Michael Boisvert 2020-01-06 20:24:52 UTC
Created attachment 1650210 [details]
Right Touch Strip - libinput record

Comment 15 Michael Boisvert 2020-02-18 19:24:41 UTC
So yes, the 21UX2 still has errors but so does the 24HD.

With 3.32.2-29 the 24HD doesn't leave mode 1 on either side according to GNOME. However, the LEDs and the button presses on the tablet all line up and function correctly but GNOME never leaves mode 1 and neither does the OSD.

Comment 22 Tomas Popela 2020-03-04 14:14:16 UTC
Changing the component to a right one (after looking into logs from a conversation with Carlos).

Comment 29 Michael Boisvert 2020-03-05 18:32:13 UTC
LED mode selection is working properly on gnome-shell-3.32.2-14.el8.

Comment 31 errata-xmlrpc 2020-04-28 16:09:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:1766