https://bugs.kde.org/show_bug.cgi?id=515674

            Bug ID: 515674
           Summary: Wacom One Pen on Wayland, tilt not reported to
                    applications (despite being seen by libinput and KWin
                    Debug Console)
    Classification: Plasma
           Product: kwin
      Version First 6.4.5
       Reported In:
          Platform: Ubuntu
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: input
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

SUMMARY
I have a Wacom One Pen tablet medium device (model no. CTC6110WL). The graphics
tablet supports tilt – and this works without any issue on X.org session. But
on Wayland I cannot get tilt to work in applications such as Krita, Gimp, or
Firefox.

STEPS TO REPRODUCE
1. Connect Wacom One Pen tablet (via Bluetooth or USB).
2. Open Krita.
3. Try brushes sensitive to tilt.

OBSERVED RESULT
The brush tool does not react to tilt.

EXPECTED RESULT
The brush tool reacting to tilt.

SOFTWARE/OS VERSIONS
Operating System: Kubuntu 25.10
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.2
Kernel Version: 6.17.0-12-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5700X 8-Core Processor
Memory: 32 GiB of RAM (31.3 GiB usable)
Graphics Processor: AMD Radeon RX 9070 XT

ADDITIONAL INFORMATION

I tried diagnosing it using libinput debug-events tool and its behaviour is a
bit weird. It seems to generally see the tilt values in the events – but not
when first run. So on _first_ run I get output like:

```
 event21  TABLET_TOOL_AXIS        387  +49.876s         63.89*/66.18*  
pressure: 0.65*
 event21  TABLET_TOOL_AXIS        388  +49.906s         63.87*/66.17*  
pressure: 0.65*
 event21  TABLET_TOOL_AXIS        389  +49.906s         63.86*/66.16*  
pressure: 0.65*
 event21  TABLET_TOOL_AXIS        390  +49.906s         63.85*/66.15*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        391  +49.908s         63.84*/66.13*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        392  +49.921s         63.83*/66.12*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        393  +49.937s         63.81*/66.09*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        394  +49.937s         63.79*/66.07*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        395  +49.966s         63.77*/66.05*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        396  +49.966s         63.75*/66.03*  
pressure: 0.64*
 event21  TABLET_TOOL_AXIS        397  +49.966s         63.74*/66.02*  
pressure: 0.63*
 event21  TABLET_TOOL_AXIS        398  +49.968s         63.72*/66.00*  
pressure: 0.63*
 event21  TABLET_TOOL_AXIS        399  +50.026s         63.71*/65.99*  
pressure: 0.63*
 event21  TABLET_TOOL_AXIS        400  +50.026s         63.70*/65.98*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        401  +50.026s         63.69*/65.96*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        402  +50.028s         63.68*/65.94*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        403  +50.041s         63.67*/65.93*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        404  +50.041s         63.66*/65.91*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        405  +50.041s         63.65*/65.89*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        406  +50.043s         63.64*/65.86*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        407  +50.056s         63.63*/65.84*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        408  +50.056s         63.62*/65.81*  
pressure: 0.61*
 event21  TABLET_TOOL_AXIS        409  +50.056s         63.60*/65.78*  
pressure: 0.61*
 event21  TABLET_TOOL_AXIS        410  +50.086s         63.59*/65.75*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        411  +50.086s         63.57*/65.72*  
pressure: 0.62*
 event21  TABLET_TOOL_AXIS        412  +50.086s         63.55*/65.68*  
pressure: 0.62*
```
but if I kill the program and run it again, the tilt suddenly appears (no other
changes made in the meantime):

```
% libinput debug-events --device /dev/input/event21 --device /dev/input/event20
-event21  DEVICE_ADDED                 Wacom One pen tablet medium       seat0
default group1  cap:T  size 216x135mm
-event20  DEVICE_ADDED                 Wacom One pen tablet medium System
Control seat0 default group1  cap:k
-event21  TABLET_TOOL_PROXIMITY        +0.000s          113.72*/69.34*  tilt:
27.00*/1.00*      pressure: 0.00* pen      (0, id 0) proximity-in axes:pt btn:S
 event21  TABLET_TOOL_AXIS             +0.000s          113.76*/69.32*  tilt:
27.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          2  +0.002s          113.86*/69.28*  tilt:
27.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          3  +0.002s          114.05*/69.23*  tilt:
27.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          4  +0.016s          114.31*/69.17*  tilt:
27.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          5  +0.030s          114.59*/69.13*  tilt:
26.75*/1.00       pressure: 0.00
 event21  TABLET_TOOL_AXIS          6  +0.030s          114.85*/69.09*  tilt:
26.50/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          7  +0.060s          115.06*/69.06*  tilt:
26.25/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          8  +0.060s          115.23*/69.03*  tilt:
26.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS          9  +0.063s          115.41*/68.98*  tilt:
25.75*/1.00       pressure: 0.00
 event21  TABLET_TOOL_AXIS         10  +0.063s          115.61*/68.89*  tilt:
25.50/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         11  +0.075s          115.85*/68.76*  tilt:
25.00*/1.00       pressure: 0.00
 event21  TABLET_TOOL_AXIS         12  +0.075s          116.06*/68.63*  tilt:
24.50/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         13  +0.090s          116.23*/68.54*  tilt:
24.25/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         14  +0.120s          116.33*/68.51*  tilt:
24.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         15  +0.120s          116.36*/68.51*  tilt:
24.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         16  +0.123s          116.36*/68.51*  tilt:
24.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         17  +0.123s          116.36*/68.45*  tilt:
24.00/1.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         18  +0.135s          116.34*/68.33*  tilt:
24.00/1.25*       pressure: 0.00
 event21  TABLET_TOOL_AXIS         19  +0.135s          116.33*/68.20*  tilt:
24.00/1.50        pressure: 0.00
 event21  TABLET_TOOL_AXIS         20  +0.150s          116.32*/68.12*  tilt:
24.00/1.75        pressure: 0.00
 event21  TABLET_TOOL_AXIS         21  +0.150s          116.32/68.10*   tilt:
24.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         22  +0.180s          116.31*/68.15*  tilt:
24.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         23  +0.180s          116.30*/68.22*  tilt:
24.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         24  +0.182s          116.28*/68.26*  tilt:
24.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         25  +0.210s          116.24*/68.25*  tilt:
24.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         26  +0.210s          116.19*/68.19*  tilt:
23.75*/2.00       pressure: 0.00
 event21  TABLET_TOOL_AXIS         27  +0.213s          116.09*/68.11*  tilt:
23.50/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         28  +0.213s          115.94*/68.01*  tilt:
23.25/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         29  +0.240s          115.74*/67.94*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         30  +0.240s          115.52*/67.90*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         31  +0.242s          115.28*/67.90*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         32  +0.255s          115.05*/67.92*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         33  +0.255s          114.85*/67.96*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         34  +0.270s          114.66*/68.00*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         35  +0.270s          114.51*/68.02*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         36  +0.300s          114.40*/68.02*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         37  +0.300s          114.34*/67.97*  tilt:
23.00/2.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         38  +0.302s          114.32*/67.87*  tilt:
23.00/2.25*       pressure: 0.00
 event21  TABLET_TOOL_AXIS         39  +0.302s          114.32*/67.71*  tilt:
23.00/2.50        pressure: 0.00
 event21  TABLET_TOOL_AXIS         40  +0.315s          114.34*/67.49*  tilt:
23.00/3.00*       pressure: 0.00
 event21  TABLET_TOOL_AXIS         41  +0.330s          114.40*/67.23*  tilt:
23.00/3.50        pressure: 0.00
 event21  TABLET_TOOL_AXIS         42  +0.330s          114.50*/66.96*  tilt:
23.00/4.00*       pressure: 0.00
 event21  TABLET_TOOL_AXIS         43  +0.360s          114.63*/66.69*  tilt:
23.00/4.50        pressure: 0.00
 event21  TABLET_TOOL_AXIS         44  +0.360s          114.77*/66.48*  tilt:
23.00/5.00*       pressure: 0.00
 event21  TABLET_TOOL_AXIS         45  +0.362s          114.89*/66.34*  tilt:
23.00/5.50        pressure: 0.00
 event21  TABLET_TOOL_AXIS         46  +0.362s          114.96*/66.28*  tilt:
23.00/5.75        pressure: 0.00
 event21  TABLET_TOOL_AXIS         47  +0.376s          114.96*/66.29*  tilt:
23.00/6.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         48  +0.376s          114.87*/66.37*  tilt:
23.00/6.00        pressure: 0.00
 event21  TABLET_TOOL_AXIS         49  +0.390s          114.68*/66.50*  tilt:
23.00/5.75*       pressure: 0.00
 event21  TABLET_TOOL_PROXIMITY        +0.420s          114.26/66.77    tilt:
23.00/5.00        pressure: 0.00  pen      (0, id 0) proximity-out
```

If I start KWin Debug Console, I also do see “Odchylenie” (“Tilt” in Polish)
values changing there too when moving the stylus.

But if I run Krita under Wayland Plasma session and I in Krita I go to Settings
→ Tablet settings → Tablet Tester, I see output like this:

```
## Legend:
# X,Y - event coordinate
# B - buttons pressed
# P - pressure
# TX,TY - tilt
# S - speed


Stylus press X=81.66 Y=111.20 B=1 P=25.1% TX=0 TY=0 S=0.0
Stylus move X=81.66 Y=111.20 B=1 P=25.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=34.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=44.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=52.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=57.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.04 B=1 P=62.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.04 B=1 P=65.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=68.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=71.4% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=73.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.20 B=1 P=75.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.20 B=1 P=76.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=78.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=79.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=80.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=81.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=82.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=83.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=84.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.4% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.19 Y=111.20 B=1 P=86.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.19 Y=111.20 B=1 P=87.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=87.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=87.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=85.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=80.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=67.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.12 Y=111.20 B=1 P=20.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.12 Y=111.20 B=1 P=0.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus release X=81.12 Y=111.20 B=0 P=0.0% TX=0 TY=0 S=0.0
Stylus press X=69.57 Y=141.42 B=1 P=44.5% TX=0 TY=0 S=0.0
```

with both tilt (TX, TY) values being always 0.

Also in Firefox if I open the browser console and run:

```
document.body.addEventListener("pointerdown", (event) => {
    console.log("id: " + event.pointerId + " (" + event.pointerType + "),
pressure: " + event.pressure + ", tiltX: " + event.tiltX + ", tiltY: " +
event.tiltY);
}, true);
```

and then point the cursor with the stylus somewhere at the page’s body I get
logs like these:
```
13:35:48.909 id: 1 (pen), pressure: 1, tiltX: 0, tiltY: 0
13:35:57.232 id: 1 (pen), pressure: 0.6915999054908752, tiltX: 0, tiltY: 0
13:36:13.200 id: 1 (pen), pressure: 0.17979705333709717, tiltX: 0, tiltY: 0
13:36:17.625 id: 1 (pen), pressure: 0.1723964363336563, tiltX: 0, tiltY: 0
```
with no tilt values reported.

If I disconnect and then reconnect the tablet, the first run of libinput
debug-events again does not report tilt – but the next run does.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to