I have a USB graphics tablet, XP-Pen Deco Fun L. Recently, I have upgraded to Fedora Workstation 41 which is using Gnome 47. Currently, mutter version is 47.1. Now, both of the two tablet pen buttons are assigned to mouse left click. Remapping them with OpenTabletDriver or XP-Pen’s official driver doesn’t do anything. Remapping buttons worked fine before upgrading. Currently, I don’t know where and what is the problem. I also don’t know what to do now.
After an update today. One of the two buttons started working.
I think I have the same problem with a Lenovo Digital Pen 2 on the Touchscreen HID 52C7. Since upgrading to Fedora 41, Button 1 seems to be remapped to a click or a slight pressure event.
I have the same issue. I agree with your analysis: the buttons trigger a slight press event. If I hover my cursor over a button on my screen and click the button on my pen, it triggers the action. If I am drawing and I hold the button, the pen stops leaving a trail. If I release the button, everything returns to normal instantly.
I have a Huion graphical tablet, and both of the buttons remain affected with the newest update.
I’m using a Galaxy Book 3 360 and encountered the same issue with the S Pen button mapping not working correctly. I managed to fix it with a workaround:
- Log out of your account.
- On the login screen, click the bottom-right corner and select GNOME with Xorg as your session type and log back in.
This resolved the issue for me. However, there are a couple of drawbacks:
- GNOME with Xorg may have reduced performance compared to Wayland (although I haven’t personally noticed any issues yet).
- You’ll need to install an extention like X11 Gestures to regain touchpad gesture functionality.
While not a perfect solution, it works for now!
@whot maybe knows more, he’s involved with components relevant to this
first thing to check: which button does the kernel provide when you click it? libinput record
will show that, e.g. as BTN_STYLUS
or BTN_STYLUS2
.
If that’s the case then at least the kernel driver is working, if not then that’s where the underlying issue.
Second stop is libinput: libinput debug-events
- check if the button is forwarded correctly. If that works, then the issue is with the remapping in mutter.
The gsetwacom
tool can help dump the configuration so it’s easier to analyse: run gsetwacom list-styli
and then gsetwacom stylus XXXX show
with XXX being your stylus identifier (probably default-1234:abcd
or your serial number but the huions/xp-pens don’t have those)
With that we’ll know what’s configured which means we’ll then know where the button mapping goes wrong.
Here is what I get after running the commands.
Command = libinput record
Output
Recording to 'stdout'.
# libinput record
version: 1
ndevices: 1
libinput:
version: "1.27.0"
git: "unknown"
system:
os: "fedora:41"
kernel: "6.11.10-300.fc41.x86_64"
dmi: "dmi:bvnHP:bvrS71Ver.01.22.01:bd08/23/2024:br22.1:efr2.61:svnHP:pnHPProBook440G7:pvrSBKPF:rvnHP:rn869D:rvrKBCVersion02.3D.00:cvnHP:ct10:cvr:sku2S7D2PC#UUF:"
devices:
- node: /dev/input/event7
evdev:
# Name: UGTABLET 10 inch PenTablet
# ID: bus 0x0003 (usb) vendor 0x28bd product 0x0932 version 0x0100
# Size in mm: 254x159
# Supported Events:
# Event type 0 (EV_SYN)
# Event type 1 (EV_KEY)
# Event code 320 (BTN_TOOL_PEN)
# Event code 321 (BTN_TOOL_RUBBER)
# Event code 330 (BTN_TOUCH)
# Event code 331 (BTN_STYLUS)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 13440
# Min 0
# Max 32767
# Fuzz 0
# Flat 0
# Resolution 129
# Event code 1 (ABS_Y)
# Value 8905
# Min 0
# Max 32767
# Fuzz 0
# Flat 0
# Resolution 206
# Event code 24 (ABS_PRESSURE)
# Value 0
# Min 0
# Max 8191
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 26 (ABS_TILT_X)
# Value 60
# Min -127
# Max 127
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 27 (ABS_TILT_Y)
# Value 60
# Min -127
# Max 127
# Fuzz 0
# Flat 0
# Resolution 0
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
# Property 1 (INPUT_PROP_DIRECT)
name: "UGTABLET 10 inch PenTablet"
id: [3, 10429, 2354, 256]
codes:
0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # EV_SYN
1: [320, 321, 330, 331] # EV_KEY
3: [0, 1, 24, 26, 27] # EV_ABS
4: [4] # EV_MSC
absinfo:
0: [0, 32767, 0, 0, 129]
1: [0, 32767, 0, 0, 206]
24: [0, 8191, 0, 0, 0]
26: [-127, 127, 0, 0, 0]
27: [-127, 127, 0, 0, 0]
properties: [1]
hid: [
0x05, 0x0d, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x20, 0xa1, 0x00, 0x09, 0x42, 0x09, 0x44,
0x09, 0x45, 0x09, 0x3c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x81, 0x02, 0x95, 0x01,
0x81, 0x03, 0x09, 0x32, 0x95, 0x01, 0x81, 0x02, 0x95, 0x02, 0x81, 0x03, 0x75, 0x10, 0x95, 0x01,
0x35, 0x00, 0xa4, 0x05, 0x01, 0x09, 0x30, 0x65, 0x13, 0x55, 0x0d, 0x46, 0x24, 0x27, 0x26, 0xff,
0x7f, 0x81, 0x02, 0x09, 0x31, 0x46, 0x80, 0x18, 0x26, 0xff, 0x7f, 0x81, 0x02, 0xb4, 0x09, 0x30,
0x45, 0x00, 0x26, 0xff, 0x1f, 0x81, 0x42, 0x09, 0x3d, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x02, 0x09, 0x3e, 0x15, 0x81, 0x25, 0x7f, 0x81, 0x02, 0xc0, 0xc0
]
udev:
properties:
- ID_INPUT=1
- ID_INPUT_HEIGHT_MM=159
- ID_INPUT_TABLET=1
- ID_INPUT_WIDTH_MM=254
- LIBINPUT_DEVICE_GROUP=3/28bd/932:usb-0000:00:14.0-1
- DRIVER=hid-generic
quirks:
events:
# Current time is 23:31:58
- evdev:
- [ 0, 0, 3, 0, 13407] # EV_ABS / ABS_X 13407 (-33)
- [ 0, 0, 3, 1, 8900] # EV_ABS / ABS_Y 8900 (-5)
- [ 0, 0, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 8097, 3, 0, 13374] # EV_ABS / ABS_X 13374 (-33)
- [ 0, 8097, 3, 1, 8885] # EV_ABS / ABS_Y 8885 (-15)
- [ 0, 8097, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 12032, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 0, 12032, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 12044, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-60)
- [ 0, 12044, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-60)
- [ 0, 12044, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 76337, 1, 320, 1] # EV_KEY / BTN_TOOL_PEN 1
- [ 0, 76337, 3, 0, 13390] # EV_ABS / ABS_X 13390 (+16)
- [ 0, 76337, 3, 1, 8879] # EV_ABS / ABS_Y 8879 (-6)
- [ 0, 76337, 3, 26, 60] # EV_ABS / ABS_TILT_X 60 (+60)
- [ 0, 76337, 3, 27, 60] # EV_ABS / ABS_TILT_Y 60 (+60)
- [ 0, 76337, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +64ms
- evdev:
- [ 0, 88039, 3, 0, 13406] # EV_ABS / ABS_X 13406 (+16)
- [ 0, 88039, 3, 1, 8885] # EV_ABS / ABS_Y 8885 (+6)
- [ 0, 88039, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +12ms
- evdev:
- [ 0, 108050, 3, 0, 13424] # EV_ABS / ABS_X 13424 (+18)
- [ 0, 108050, 3, 1, 8882] # EV_ABS / ABS_Y 8882 (-3)
- [ 0, 108050, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +20ms
- evdev:
- [ 0, 124042, 3, 0, 13434] # EV_ABS / ABS_X 13434 (+10)
- [ 0, 124042, 3, 1, 8867] # EV_ABS / ABS_Y 8867 (-15)
- [ 0, 124042, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +16ms
- evdev:
- [ 0, 344240, 3, 0, 13437] # EV_ABS / ABS_X 13437 (+3)
- [ 0, 344240, 3, 1, 8897] # EV_ABS / ABS_Y 8897 (+30)
- [ 0, 344240, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +220ms
# Current time is 23:32:01
- evdev:
- [ 5, 72269, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 5, 72269, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4728ms
- evdev:
- [ 5, 72290, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-60)
- [ 5, 72290, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-60)
- [ 5, 72290, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 5, 196298, 1, 320, 1] # EV_KEY / BTN_TOOL_PEN 1
- [ 5, 196298, 3, 0, 13389] # EV_ABS / ABS_X 13389 (-48)
- [ 5, 196298, 3, 1, 8880] # EV_ABS / ABS_Y 8880 (-17)
- [ 5, 196298, 3, 26, 60] # EV_ABS / ABS_TILT_X 60 (+60)
- [ 5, 196298, 3, 27, 60] # EV_ABS / ABS_TILT_Y 60 (+60)
- [ 5, 196298, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +124ms
- evdev:
- [ 5, 208024, 3, 0, 13403] # EV_ABS / ABS_X 13403 (+14)
- [ 5, 208024, 3, 1, 8886] # EV_ABS / ABS_Y 8886 (+6)
- [ 5, 208024, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +12ms
- evdev:
- [ 5, 228196, 3, 0, 13421] # EV_ABS / ABS_X 13421 (+18)
- [ 5, 228196, 3, 1, 8884] # EV_ABS / ABS_Y 8884 (-2)
- [ 5, 228196, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +20ms
- evdev:
- [ 5, 240050, 3, 0, 13430] # EV_ABS / ABS_X 13430 (+9)
- [ 5, 240050, 3, 1, 8874] # EV_ABS / ABS_Y 8874 (-10)
- [ 5, 240050, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +12ms
- evdev:
- [ 5, 252059, 3, 0, 13433] # EV_ABS / ABS_X 13433 (+3)
- [ 5, 252059, 3, 1, 8858] # EV_ABS / ABS_Y 8858 (-16)
- [ 5, 252059, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +12ms
- evdev:
- [ 5, 368090, 3, 0, 13434] # EV_ABS / ABS_X 13434 (+1)
- [ 5, 368090, 3, 1, 8890] # EV_ABS / ABS_Y 8890 (+32)
- [ 5, 368090, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +116ms
# Current time is 23:32:06
Command = libinput debug-events
Output
-event3 DEVICE_ADDED Power Button seat0 default group1 cap:k
-event10 DEVICE_ADDED Video Bus seat0 default group2 cap:k
-event2 DEVICE_ADDED Power Button seat0 default group3 cap:k
-event1 DEVICE_ADDED Lid Switch seat0 default group4 cap:S
-event0 DEVICE_ADDED Sleep Button seat0 default group5 cap:k
-event5 DEVICE_ADDED UGTABLET 10 inch PenTablet Mouse seat0 default group6 cap:p left scroll-nat calib
-event6 DEVICE_ADDED UGTABLET 10 inch PenTablet Keyboard seat0 default group6 cap:k
-event7 DEVICE_ADDED UGTABLET 10 inch PenTablet seat0 default group6 cap:T size 254x159mm left calib
-event8 DEVICE_ADDED SYNA30A5:00 06CB:CDEB Mouse seat0 default group7 cap:p left scroll-nat scroll-button
-event9 DEVICE_ADDED SYNA30A5:00 06CB:CDEB Touchpad seat0 default group7 cap:pg size 106x61mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event4 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group8 cap:k
-event11 DEVICE_ADDED Wireless hotkeys seat0 default group9 cap:k
-event13 DEVICE_ADDED HP WMI hotkeys seat0 default group10 cap:k
-event7 TABLET_TOOL_PROXIMITY +0.000s 0.00/0.00 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_PROXIMITY +0.000s 0.00/0.00 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +0.000s 97.26*/53.13* tilt: 30.24*/30.24* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_PROXIMITY +0.004s 97.26/53.13 tilt: 30.24/30.24 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +0.076s 97.28*/68.87* tilt: 30.24*/30.24* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_BUTTON +0.076s 331 (BTN_STYLUS) pressed, seat count: 1
event7 TABLET_TOOL_AXIS +0.080s 97.28/68.87 tilt: 30.24/29.61* pressure: 0.00
event7 TABLET_TOOL_AXIS 2 +0.084s 97.28/68.87 tilt: 30.24/27.59* pressure: 0.00
event7 TABLET_TOOL_AXIS 3 +0.092s 97.28/68.87 tilt: 30.24/24.69* pressure: 0.00
event7 TABLET_TOOL_AXIS 4 +0.096s 97.28/68.87 tilt: 30.24/21.29* pressure: 0.00
event7 TABLET_TOOL_AXIS 5 +0.100s 97.28/68.87 tilt: 30.24/18.02* pressure: 0.00
event7 TABLET_TOOL_AXIS 6 +0.104s 97.28/68.87 tilt: 30.24/15.62* pressure: 0.00
event7 TABLET_TOOL_AXIS 7 +0.108s 97.28/68.87 tilt: 30.24/13.73* pressure: 0.00
event7 TABLET_TOOL_AXIS 8 +0.112s 97.28/68.87 tilt: 30.24/11.97* pressure: 0.00
event7 TABLET_TOOL_AXIS 9 +0.116s 97.28/68.87 tilt: 30.24/10.08* pressure: 0.00
event7 TABLET_TOOL_AXIS 10 +0.120s 97.28/68.87 tilt: 30.24/8.31* pressure: 0.00
event7 TABLET_TOOL_AXIS 11 +0.128s 97.28/68.87 tilt: 30.24/6.68* pressure: 0.00
event7 TABLET_TOOL_AXIS 12 +0.132s 97.28/68.87 tilt: 30.24/5.17* pressure: 0.00
event7 TABLET_TOOL_BUTTON +0.156s 331 (BTN_STYLUS) released, seat count: 0
event7 TABLET_TOOL_PROXIMITY +0.156s 97.28/68.87 tilt: 30.24/3.53 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +0.196s 117.49*/68.83* tilt: 30.24*/1.51* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_AXIS +0.200s 117.70*/68.83* tilt: 30.24/1.13* pressure: 0.00
event7 TABLET_TOOL_AXIS 2 +0.204s 117.96*/68.83* tilt: 30.24/0.76 pressure: 0.00
event7 TABLET_TOOL_AXIS 3 +0.208s 118.23*/68.83 tilt: 29.61*/0.38 pressure: 0.00
event7 TABLET_TOOL_AXIS 4 +0.212s 118.53*/68.83* tilt: 27.84*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 5 +0.220s 118.64*/68.84* tilt: 24.82*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 6 +0.224s 118.67*/68.84 tilt: 20.91*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 7 +0.228s 118.71*/68.84* tilt: 16.76*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 8 +0.232s 118.73*/68.85* tilt: 12.72*/0.00 pressure: 0.00
event7 TABLET_TOOL_PROXIMITY +0.236s 118.82/68.88 tilt: 7.06/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +0.300s 97.38*/68.67* tilt: 18.14*/0.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_AXIS +0.304s 99.86*/68.69* tilt: 20.16*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 2 +0.308s 103.33*/68.71* tilt: 20.91*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 3 +0.312s 107.46*/68.74* tilt: 20.66*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 4 +0.316s 111.91*/68.78* tilt: 19.53*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 5 +0.320s 114.05*/68.80* tilt: 15.50*/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 6 +0.324s 115.34*/68.81* tilt: 12.47*/-0.25* pressure: 0.00
event7 TABLET_TOOL_AXIS 7 +0.328s 116.06*/68.82* tilt: 12.22*/-5.67* pressure: 0.00
event7 TABLET_TOOL_AXIS 8 +0.332s 116.53*/68.83* tilt: 11.97*/-13.23* pressure: 0.00
event7 TABLET_TOOL_AXIS 9 +0.340s 115.07*/66.87* tilt: 11.72*/-20.79 pressure: 0.00
event7 TABLET_TOOL_AXIS 10 +0.344s 112.45*/63.68* tilt: 14.24*/-27.97* pressure: 0.00
event7 TABLET_TOOL_AXIS 11 +0.348s 109.05*/59.69* tilt: 16.76*/-28.09* pressure: 0.00
event7 TABLET_TOOL_AXIS 12 +0.352s 105.10*/55.16* tilt: 21.17*/-24.94* pressure: 0.00
event7 TABLET_TOOL_AXIS 13 +0.356s 102.57*/52.26* tilt: 26.46/-21.04* pressure: 0.00
event7 TABLET_TOOL_AXIS 14 +0.360s 100.92*/50.40* tilt: 29.23/-16.38* pressure: 0.00
event7 TABLET_TOOL_AXIS 15 +0.364s 99.86*/49.25* tilt: 30.24/-12.47* pressure: 0.00
event7 TABLET_TOOL_AXIS 16 +0.368s 99.20*/48.56* tilt: 30.24/-8.69* pressure: 0.00
event7 TABLET_TOOL_AXIS 17 +0.372s 98.81*/48.18* tilt: 30.24/-5.04* pressure: 0.00
event7 TABLET_TOOL_AXIS 18 +0.376s 98.55*/47.93* tilt: 30.24/-2.27 pressure: 0.00
event7 TABLET_TOOL_AXIS 19 +0.384s 98.36*/47.75* tilt: 30.24/-0.63 pressure: 0.00
event7 TABLET_TOOL_AXIS 20 +0.388s 98.22*/47.61* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 21 +0.392s 98.09*/47.49* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 22 +0.396s 97.99*/47.37* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 23 +0.400s 97.90*/47.27* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 24 +0.404s 97.82*/47.18* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 25 +0.408s 97.75*/47.10* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 26 +0.424s 97.67*/47.01* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 27 +0.444s 97.59*/46.93* tilt: 30.24/0.00 pressure: 0.00
event7 TABLET_TOOL_AXIS 28 +0.460s 97.52*/46.85* tilt: 30.24/0.25* pressure: 0.00
event7 TABLET_TOOL_AXIS 29 +0.468s 97.47*/46.80* tilt: 30.24/5.04* pressure: 0.00
event7 TABLET_TOOL_AXIS 30 +0.472s 97.45*/46.77* tilt: 30.24/12.22* pressure: 0.00
event7 TABLET_TOOL_AXIS 31 +0.476s 97.45/46.77 tilt: 30.24/19.78* pressure: 0.00
event7 TABLET_TOOL_AXIS 32 +0.480s 97.42*/46.75* tilt: 30.24/27.09 pressure: 0.00
event7 TABLET_TOOL_AXIS 33 +0.572s 97.38*/46.69* tilt: 30.24/29.86 pressure: 0.00
event7 TABLET_TOOL_AXIS 34 +1.596s 96.67*/48.25* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_PROXIMITY +1.600s 94.64/52.99 tilt: 30.24/30.24 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +1.660s 96.93*/68.70* tilt: 30.24*/30.24* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_AXIS +1.664s 99.47*/65.88* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 2 +1.672s 101.12*/63.72* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 3 +1.676s 102.24*/62.29* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_PROXIMITY +1.708s 101.41/62.95 tilt: 30.24/30.24 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +1.740s 97.07*/68.81* tilt: 30.24*/30.24* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event7 TABLET_TOOL_AXIS +1.744s 99.62*/68.81* tilt: 30.24/29.61* pressure: 0.00
event7 TABLET_TOOL_AXIS 2 +1.748s 103.16*/68.82* tilt: 30.24/27.34* pressure: 0.00
event7 TABLET_TOOL_AXIS 3 +1.752s 107.35*/68.83* tilt: 30.24/24.19* pressure: 0.00
event7 TABLET_TOOL_AXIS 4 +1.756s 111.86*/68.83* tilt: 29.23*/20.41* pressure: 0.00
event7 TABLET_TOOL_AXIS 5 +1.764s 114.01*/68.84* tilt: 26.83*/16.38* pressure: 0.00
event7 TABLET_TOOL_AXIS 6 +1.768s 115.29*/68.84* tilt: 23.43*/13.23* pressure: 0.00
event7 TABLET_TOOL_AXIS 7 +1.772s 116.02*/68.85* tilt: 19.15*/9.95* pressure: 0.00
event7 TABLET_TOOL_AXIS 8 +1.776s 116.49*/68.86* tilt: 15.12*/6.55* pressure: 0.00
event7 TABLET_TOOL_AXIS 9 +1.780s 116.83*/68.87* tilt: 11.46*/3.65* pressure: 0.00
event7 TABLET_TOOL_AXIS 10 +1.784s 115.29*/66.90* tilt: 7.94*/3.15* pressure: 0.00
event7 TABLET_TOOL_AXIS 11 +1.788s 112.61*/63.72* tilt: 8.69*/6.55* pressure: 0.00
event7 TABLET_TOOL_AXIS 12 +1.792s 109.16*/59.73* tilt: 12.22*/12.85* pressure: 0.00
event7 TABLET_TOOL_AXIS 13 +1.796s 105.14*/55.20* tilt: 17.89*/20.41* pressure: 0.00
event7 TABLET_TOOL_AXIS 14 +1.800s 102.56*/52.31* tilt: 24.82*/26.33 pressure: 0.00
event7 TABLET_TOOL_AXIS 15 +1.808s 100.87*/50.46* tilt: 28.35/29.35 pressure: 0.00
event7 TABLET_TOOL_AXIS 16 +1.812s 99.79*/49.30* tilt: 29.86/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 17 +1.816s 99.12*/48.61* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 18 +1.820s 98.74*/48.22* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 19 +1.824s 98.50*/47.97* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 20 +1.828s 98.32*/47.78* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 21 +1.832s 98.17*/47.63* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 22 +1.836s 98.05*/47.50* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 23 +1.840s 97.95*/47.39* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 24 +1.848s 97.87*/47.28* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 25 +1.852s 97.79*/47.19* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 26 +1.860s 97.72*/47.10* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 27 +1.872s 97.64*/47.01* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 28 +1.900s 97.57*/46.91* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 29 +1.940s 97.48*/46.81* tilt: 30.24/30.24 pressure: 0.00
event7 TABLET_TOOL_AXIS 30 +2.120s 97.39*/46.70* tilt: 30.24/30.24 pressure: 0.00
-event4 KEYBOARD_KEY +3.646s *** (-1) pressed
event4 KEYBOARD_KEY +4.001s *** (-1) pressed
Command = gsetwacom list-styli
Output
No styli found
Command = gsetwacom stylus 28bd:0932 show
Output
settings:
pressure-curve: [0, 0, 100, 100]
eraser-pressure-curve: [0, 0, 100, 100]
pressure-range: [0, 100]
eraser-pressure-range: [0, 100]
button-action: 'right'
secondary-button-action: 'middle'
tertiary-button-action: 'default'
button-keybinding: ''
secondary-button-keybinding: ''
tertiary-button-keybinding: ''
Looks like the pen button doesn’t send any events at all then because I can’t see anything but tablet axis (==motion) and proximity events in the libinput record
output. This indicates that either the device broke or something in the kernel is now broken.
Please file a bug with udev-hid-bpf and we can see if we can fix this at the kernel level.
I don’t think it’s the kernel because in the first output above you can see
- evdev:
- [ 0, 12032, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 0, 12032, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
and moreover the debug-events one does show the button being pressed at the very end of some lines, for instance
event7 TABLET_TOOL_PROXIMITY +1.600s 94.64/52.99 tilt: 30.24/30.24 pressure: 0.00 pen (0, id 0) proximity-out
event7 TABLET_TOOL_PROXIMITY +1.660s 96.93*/68.70* tilt: 30.24*/30.24* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
In my machine, running libinput debug-events
, the eraser gets labeled as TABLET_TOOL_PROXIMITY
, and the secondary button gets labeled as TABLET_TOOL_BUTTON
, even though the eraser works as expected but the secondary button does not.
BTN_TOOL_PEN
is a fake button set by the kernel and set on every proximity in event. It simply denotes that the current thing in proximity is a pen as opposed to e.g. BTN_TOOL_FINGER
which is set by touchpads for example.
The buttons on your pen are BTN_STYLUS
and BTN_STYLUS2
if they are true buttons. On many pens one of the buttons is the eraser and causes an emulated sequence of proximity-out, proximity-back-in-as-eraser when pressed thanks to the MS specs.
Hi, It seems that I have a similar problem on my XPPen Artist (2nd gen).
Everything works fine except the button 2 since an update on Fedora 41 on Gnome settings or proprietary driver
I can’t remap it and it acts like an eraser in some apps.
Has anyone found a solution? Should I report the issue somewhere?
(It seems to be labeled as TABLET_TOOL_PROXIMITY on libinput debug-events)
Command = libinput record
Output
libinput:
version: "1.27.0"
git: "unknown"
system:
os: "fedora:41"
kernel: "6.12.4-200.fc41.x86_64"
dmi: "dmi:bvnAmericanMegatrendsInternational,LLC.:bvr1.10:bd05/24/2023:br5.26:svnTOPACHAT:pnCUSTOM:pvrV1:rvnMicro-StarInternationalCo.,Ltd.:rnPROB650M-P(MS-7E27):rvr1.0:cvnMicro-StarInternationalCo.,Ltd.:ct3:cvr1.0:skuCUSTOM:"
devices:
- node: /dev/input/event4
evdev:
# Name: UGTABLET 21.5 inch PenDisplay Stylus
# ID: bus 0x0003 (usb) vendor 0x28bd product 0x092f version 0x0100
# Size in mm: 476x267
# Supported Events:
# Event type 0 (EV_SYN)
# Event type 1 (EV_KEY)
# Event code 320 (BTN_TOOL_PEN)
# Event code 321 (BTN_TOOL_RUBBER)
# Event code 330 (BTN_TOUCH)
# Event code 331 (BTN_STYLUS)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 14423
# Min 0
# Max 47664
# Fuzz 0
# Flat 0
# Resolution 100
# Event code 1 (ABS_Y)
# Value 21358
# Min 0
# Max 26778
# Fuzz 0
# Flat 0
# Resolution 100
# Event code 24 (ABS_PRESSURE)
# Value 0
# Min 0
# Max 8191
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 26 (ABS_TILT_X)
# Value 0
# Min -127
# Max 127
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 27 (ABS_TILT_Y)
# Value 0
# Min -127
# Max 127
# Fuzz 0
# Flat 0
# Resolution 0
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
# Property 1 (INPUT_PROP_DIRECT)
name: "UGTABLET 21.5 inch PenDisplay Stylus"
id: [3, 10429, 2351, 256]
codes:
0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # EV_SYN
1: [320, 321, 330, 331] # EV_KEY
3: [0, 1, 24, 26, 27] # EV_ABS
4: [4] # EV_MSC
absinfo:
0: [0, 47664, 0, 0, 100]
1: [0, 26778, 0, 0, 100]
24: [0, 8191, 0, 0, 0]
26: [-127, 127, 0, 0, 0]
27: [-127, 127, 0, 0, 0]
properties: [1]
hid: [
0x05, 0x0d, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x20, 0xa1, 0x00, 0x09, 0x42, 0x09, 0x44,
0x09, 0x45, 0x09, 0x3c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x81, 0x02, 0x95, 0x01,
0x81, 0x03, 0x09, 0x32, 0x95, 0x01, 0x81, 0x02, 0x95, 0x02, 0x81, 0x03, 0x75, 0x10, 0x95, 0x01,
0x35, 0x00, 0xa4, 0x05, 0x01, 0x09, 0x30, 0x65, 0x13, 0x55, 0x0d, 0x46, 0x3e, 0x49, 0x27, 0x30,
0xba, 0x00, 0x00, 0x81, 0x02, 0x09, 0x31, 0x46, 0x36, 0x29, 0x26, 0x9a, 0x68, 0x81, 0x02, 0xb4,
0x09, 0x30, 0x45, 0x00, 0x26, 0xff, 0x1f, 0x81, 0x42, 0x09, 0x3d, 0x15, 0x81, 0x25, 0x7f, 0x75,
0x08, 0x95, 0x01, 0x81, 0x02, 0x09, 0x3e, 0x15, 0x81, 0x25, 0x7f, 0x81, 0x02, 0xc0, 0xc0, 0x06,
0x03, 0xff, 0x09, 0x00, 0xa1, 0x01, 0x85, 0x0b, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x00, 0x75,
0x08, 0x95, 0x3f, 0x81, 0x02, 0xc0
]
udev:
properties:
- ID_INPUT=1
- ID_INPUT_HEIGHT_MM=267
- ID_INPUT_TABLET=1
- ID_INPUT_WIDTH_MM=476
- LIBINPUT_DEVICE_GROUP=3/28bd/92f:usb-0000:12:00.4-2
- DRIVER=hid-generic
quirks:
events:
# Current time is 20:25:29
- evdev:
- [ 0, 0, 1, 320, 1] # EV_KEY / BTN_TOOL_PEN 1
- [ 0, 0, 3, 0, 19073] # EV_ABS / ABS_X 19073 (+4650)
- [ 0, 0, 3, 1, 19405] # EV_ABS / ABS_Y 19405 (-1953)
- [ 0, 0, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 3981, 3, 0, 19089] # EV_ABS / ABS_X 19089 (+16)
- [ 0, 3981, 3, 1, 19395] # EV_ABS / ABS_Y 19395 (-10)
- [ 0, 3981, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +3ms
- evdev:
- [ 0, 7970, 3, 0, 19097] # EV_ABS / ABS_X 19097 (+8)
- [ 0, 7970, 3, 1, 19386] # EV_ABS / ABS_Y 19386 (-9)
- [ 0, 7970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 11969, 3, 0, 19104] # EV_ABS / ABS_X 19104 (+7)
- [ 0, 11969, 3, 1, 19382] # EV_ABS / ABS_Y 19382 (-4)
- [ 0, 11969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 15968, 3, 0, 19113] # EV_ABS / ABS_X 19113 (+9)
- [ 0, 15968, 3, 1, 19378] # EV_ABS / ABS_Y 19378 (-4)
- [ 0, 15968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 19970, 3, 0, 19119] # EV_ABS / ABS_X 19119 (+6)
- [ 0, 19970, 3, 1, 19376] # EV_ABS / ABS_Y 19376 (-2)
- [ 0, 19970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 23966, 3, 0, 19125] # EV_ABS / ABS_X 19125 (+6)
- [ 0, 23966, 3, 1, 19375] # EV_ABS / ABS_Y 19375 (-1)
- [ 0, 23966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 31977, 3, 0, 19130] # EV_ABS / ABS_X 19130 (+5)
- [ 0, 31977, 3, 1, 19374] # EV_ABS / ABS_Y 19374 (-1)
- [ 0, 31977, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 35975, 3, 0, 19135] # EV_ABS / ABS_X 19135 (+5)
- [ 0, 35975, 3, 1, 19375] # EV_ABS / ABS_Y 19375 (+1)
- [ 0, 35975, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 39967, 3, 0, 19138] # EV_ABS / ABS_X 19138 (+3)
- [ 0, 39967, 3, 1, 19377] # EV_ABS / ABS_Y 19377 (+2)
- [ 0, 39967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 55978, 3, 0, 19147] # EV_ABS / ABS_X 19147 (+9)
- [ 0, 55978, 3, 1, 19403] # EV_ABS / ABS_Y 19403 (+26)
- [ 0, 55978, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +16ms
- evdev:
- [ 0, 71975, 3, 0, 19149] # EV_ABS / ABS_X 19149 (+2)
- [ 0, 71975, 3, 1, 19438] # EV_ABS / ABS_Y 19438 (+35)
- [ 0, 71975, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +16ms
- evdev:
- [ 0, 84192, 3, 0, 19152] # EV_ABS / ABS_X 19152 (+3)
- [ 0, 84192, 3, 1, 19473] # EV_ABS / ABS_Y 19473 (+35)
- [ 0, 84192, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +13ms
- evdev:
- [ 0, 100026, 3, 0, 19158] # EV_ABS / ABS_X 19158 (+6)
- [ 0, 100026, 3, 1, 19503] # EV_ABS / ABS_Y 19503 (+30)
- [ 0, 100026, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +16ms
- evdev:
- [ 0, 111968, 3, 0, 19168] # EV_ABS / ABS_X 19168 (+10)
- [ 0, 111968, 3, 1, 19532] # EV_ABS / ABS_Y 19532 (+29)
- [ 0, 111968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +11ms
- evdev:
- [ 0, 127978, 3, 0, 19178] # EV_ABS / ABS_X 19178 (+10)
- [ 0, 127978, 3, 1, 19555] # EV_ABS / ABS_Y 19555 (+23)
- [ 0, 127978, 3, 26, 1] # EV_ABS / ABS_TILT_X 1 (+1)
- [ 0, 127978, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +16ms
- evdev:
- [ 0, 131967, 3, 26, 2] # EV_ABS / ABS_TILT_X 2 (+1)
- [ 0, 131967, 3, 27, 2] # EV_ABS / ABS_TILT_Y 2 (+2)
- [ 0, 131967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 135968, 3, 26, 3] # EV_ABS / ABS_TILT_X 3 (+1)
- [ 0, 135968, 3, 27, 3] # EV_ABS / ABS_TILT_Y 3 (+1)
- [ 0, 135968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 139966, 3, 0, 19189] # EV_ABS / ABS_X 19189 (+11)
- [ 0, 139966, 3, 1, 19580] # EV_ABS / ABS_Y 19580 (+25)
- [ 0, 139966, 3, 27, 4] # EV_ABS / ABS_TILT_Y 4 (+1)
- [ 0, 139966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 143966, 3, 27, 5] # EV_ABS / ABS_TILT_Y 5 (+1)
- [ 0, 143966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 147970, 3, 27, 6] # EV_ABS / ABS_TILT_Y 6 (+1)
- [ 0, 147970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 151967, 3, 0, 19203] # EV_ABS / ABS_X 19203 (+14)
- [ 0, 151967, 3, 1, 19614] # EV_ABS / ABS_Y 19614 (+34)
- [ 0, 151967, 3, 27, 7] # EV_ABS / ABS_TILT_Y 7 (+1)
- [ 0, 151967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 163966, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 0, 163966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +12ms
- evdev:
- [ 0, 163967, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-3)
- [ 0, 163967, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-7)
- [ 0, 163967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 239989, 1, 320, 1] # EV_KEY / BTN_TOOL_PEN 1
- [ 0, 239989, 4, 4, 30] # EV_MSC / MSC_SCAN 30 (obfuscated)
- [ 0, 239989, 1, 331, 1] # EV_KEY / BTN_STYLUS 1
- [ 0, 239989, 3, 0, 19235] # EV_ABS / ABS_X 19235 (+32)
- [ 0, 239989, 3, 1, 20092] # EV_ABS / ABS_Y 20092 (+478)
- [ 0, 239989, 3, 26, 6] # EV_ABS / ABS_TILT_X 6 (+6)
- [ 0, 239989, 3, 27, 7] # EV_ABS / ABS_TILT_Y 7 (+7)
- [ 0, 239989, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +76ms
- evdev:
- [ 0, 243973, 3, 0, 19231] # EV_ABS / ABS_X 19231 (-4)
- [ 0, 243973, 3, 1, 20072] # EV_ABS / ABS_Y 20072 (-20)
- [ 0, 243973, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 247969, 3, 0, 19230] # EV_ABS / ABS_X 19230 (-1)
- [ 0, 247969, 3, 1, 20053] # EV_ABS / ABS_Y 20053 (-19)
- [ 0, 247969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 251969, 3, 0, 19228] # EV_ABS / ABS_X 19228 (-2)
- [ 0, 251969, 3, 1, 20030] # EV_ABS / ABS_Y 20030 (-23)
- [ 0, 251969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 259978, 3, 0, 19230] # EV_ABS / ABS_X 19230 (+2)
- [ 0, 259978, 3, 1, 20010] # EV_ABS / ABS_Y 20010 (-20)
- [ 0, 259978, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 263968, 3, 1, 19988] # EV_ABS / ABS_Y 19988 (-22)
- [ 0, 263968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 267969, 3, 0, 19231] # EV_ABS / ABS_X 19231 (+1)
- [ 0, 267969, 3, 1, 19967] # EV_ABS / ABS_Y 19967 (-21)
- [ 0, 267969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 271970, 3, 1, 19947] # EV_ABS / ABS_Y 19947 (-20)
- [ 0, 271970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 275970, 3, 0, 19233] # EV_ABS / ABS_X 19233 (+2)
- [ 0, 275970, 3, 1, 19930] # EV_ABS / ABS_Y 19930 (-17)
- [ 0, 275970, 3, 26, 5] # EV_ABS / ABS_TILT_X 5 (-1)
- [ 0, 275970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 283976, 3, 26, 4] # EV_ABS / ABS_TILT_X 4 (-1)
- [ 0, 283976, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 287968, 3, 0, 19239] # EV_ABS / ABS_X 19239 (+6)
- [ 0, 287968, 3, 1, 19587] # EV_ABS / ABS_Y 19587 (-343)
- [ 0, 287968, 3, 26, 3] # EV_ABS / ABS_TILT_X 3 (-1)
- [ 0, 287968, 3, 27, 6] # EV_ABS / ABS_TILT_Y 6 (-1)
- [ 0, 287968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 291968, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 0, 291968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 291971, 4, 4, 30] # EV_MSC / MSC_SCAN 30 (obfuscated)
- [ 0, 291971, 1, 331, 0] # EV_KEY / BTN_STYLUS 0
- [ 0, 291971, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-3)
- [ 0, 291971, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-6)
- [ 0, 291971, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 359992, 1, 320, 1] # EV_KEY / BTN_TOOL_PEN 1
- [ 0, 359992, 3, 0, 19435] # EV_ABS / ABS_X 19435 (+196)
- [ 0, 359992, 3, 1, 19889] # EV_ABS / ABS_Y 19889 (+302)
- [ 0, 359992, 3, 26, 3] # EV_ABS / ABS_TILT_X 3 (+3)
- [ 0, 359992, 3, 27, 4] # EV_ABS / ABS_TILT_Y 4 (+4)
- [ 0, 359992, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +68ms
- evdev:
- [ 0, 363970, 3, 0, 19440] # EV_ABS / ABS_X 19440 (+5)
- [ 0, 363970, 3, 1, 19893] # EV_ABS / ABS_Y 19893 (+4)
- [ 0, 363970, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-3)
- [ 0, 363970, 3, 27, 3] # EV_ABS / ABS_TILT_Y 3 (-1)
- [ 0, 363970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 367968, 3, 0, 19465] # EV_ABS / ABS_X 19465 (+25)
- [ 0, 367968, 3, 1, 19902] # EV_ABS / ABS_Y 19902 (+9)
- [ 0, 367968, 3, 27, 2] # EV_ABS / ABS_TILT_Y 2 (-1)
- [ 0, 367968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 371966, 1, 320, 0] # EV_KEY / BTN_TOOL_PEN 0
- [ 0, 371966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 371969, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-2)
- [ 0, 371969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 447984, 1, 321, 1] # EV_KEY / BTN_TOOL_RUBBER 1
- [ 0, 447984, 4, 4, 30] # EV_MSC / MSC_SCAN 30 (obfuscated)
- [ 0, 447984, 1, 330, 1] # EV_KEY / BTN_TOUCH 1
- [ 0, 447984, 3, 0, 20086] # EV_ABS / ABS_X 20086 (+621)
- [ 0, 447984, 3, 1, 20204] # EV_ABS / ABS_Y 20204 (+302)
- [ 0, 447984, 3, 27, 2] # EV_ABS / ABS_TILT_Y 2 (+2)
- [ 0, 447984, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +76ms
- evdev:
- [ 0, 455983, 3, 0, 20081] # EV_ABS / ABS_X 20081 (-5)
- [ 0, 455983, 3, 1, 20207] # EV_ABS / ABS_Y 20207 (+3)
- [ 0, 455983, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 459969, 3, 1, 20203] # EV_ABS / ABS_Y 20203 (-4)
- [ 0, 459969, 3, 26, 1] # EV_ABS / ABS_TILT_X 1 (+1)
- [ 0, 459969, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 463967, 3, 0, 20077] # EV_ABS / ABS_X 20077 (-4)
- [ 0, 463967, 3, 1, 20200] # EV_ABS / ABS_Y 20200 (-3)
- [ 0, 463967, 3, 26, 2] # EV_ABS / ABS_TILT_X 2 (+1)
- [ 0, 463967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 467966, 3, 0, 20071] # EV_ABS / ABS_X 20071 (-6)
- [ 0, 467966, 3, 1, 20198] # EV_ABS / ABS_Y 20198 (-2)
- [ 0, 467966, 3, 26, 3] # EV_ABS / ABS_TILT_X 3 (+1)
- [ 0, 467966, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 471970, 3, 0, 20065] # EV_ABS / ABS_X 20065 (-6)
- [ 0, 471970, 3, 1, 20190] # EV_ABS / ABS_Y 20190 (-8)
- [ 0, 471970, 3, 26, 4] # EV_ABS / ABS_TILT_X 4 (+1)
- [ 0, 471970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 475970, 3, 0, 20058] # EV_ABS / ABS_X 20058 (-7)
- [ 0, 475970, 3, 1, 20183] # EV_ABS / ABS_Y 20183 (-7)
- [ 0, 475970, 3, 26, 5] # EV_ABS / ABS_TILT_X 5 (+1)
- [ 0, 475970, 3, 27, 1] # EV_ABS / ABS_TILT_Y 1 (-1)
- [ 0, 475970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 483977, 3, 0, 20050] # EV_ABS / ABS_X 20050 (-8)
- [ 0, 483977, 3, 1, 20177] # EV_ABS / ABS_Y 20177 (-6)
- [ 0, 483977, 3, 26, 6] # EV_ABS / ABS_TILT_X 6 (+1)
- [ 0, 483977, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +8ms
- evdev:
- [ 0, 487970, 3, 0, 20043] # EV_ABS / ABS_X 20043 (-7)
- [ 0, 487970, 3, 1, 20169] # EV_ABS / ABS_Y 20169 (-8)
- [ 0, 487970, 3, 26, 7] # EV_ABS / ABS_TILT_X 7 (+1)
- [ 0, 487970, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +4ms
- evdev:
- [ 0, 515967, 4, 4, 30] # EV_MSC / MSC_SCAN 30 (obfuscated)
- [ 0, 515967, 1, 330, 0] # EV_KEY / BTN_TOUCH 0
- [ 0, 515967, 1, 321, 0] # EV_KEY / BTN_TOOL_RUBBER 0
- [ 0, 515967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +28ms
- evdev:
- [ 0, 515973, 3, 26, 0] # EV_ABS / ABS_TILT_X 0 (-7)
- [ 0, 515973, 3, 27, 0] # EV_ABS / ABS_TILT_Y 0 (-1)
- [ 0, 515973, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
# Current time is 20:25:30
Command = libinput debug-events
Output
event4 TABLET_TOOL_AXIS 2 +0.224s 196.89*/192.92* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +0.228s 197.07*/193.23* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +0.240s 197.30*/193.63* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 5 +0.248s 197.47*/193.84* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 6 +0.264s 197.65*/194.02* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 7 +0.320s 197.72*/193.94* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_BUTTON +0.324s 331 (BTN_STYLUS) released, seat count: 0
event4 TABLET_TOOL_PROXIMITY +0.324s 197.63/193.39 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +0.392s 195.39*/194.48* tilt: 0.00*/0.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_AXIS +0.396s 195.36*/194.50* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +0.400s 195.33*/194.56* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +0.408s 195.31*/194.63* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +0.412s 195.27*/194.72* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 5 +0.416s 195.27*/194.79* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 6 +0.420s 195.25*/194.82* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 7 +0.424s 195.23*/194.86* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 8 +0.428s 195.22*/194.88* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 9 +0.508s 195.35*/194.81* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 10 +0.524s 195.54*/194.74* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_PROXIMITY +0.540s 196.01/194.57 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +0.540s 196.28*/194.65* tilt: 0.00*/0.00* pressure: 0.00* eraser (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_AXIS +0.560s 196.33*/194.68* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +0.580s 196.43*/194.76* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +0.596s 196.59*/194.87* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +0.620s 196.79*/195.03* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_PROXIMITY +0.664s 197.11/195.26 tilt: 0.00/0.00 pressure: 0.00 eraser (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +0.732s 195.57*/195.69* tilt: 0.00*/0.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_AXIS +0.736s 195.54*/195.69 tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +0.740s 195.52*/195.69 tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +0.744s 195.49*/195.70* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +0.748s 195.46*/195.72* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 5 +0.752s 195.45*/195.74* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 6 +0.760s 195.43*/195.75* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 7 +0.764s 195.42*/195.76* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 8 +0.768s 195.41*/195.77* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 9 +0.772s 195.40*/195.78* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 10 +0.860s 195.39*/195.60* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 11 +0.888s 195.36*/195.31* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 12 +0.908s 195.35*/194.93* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_PROXIMITY +0.920s 195.34/194.27 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +1.000s 196.12*/192.82* tilt: 0.00*/0.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_BUTTON +1.000s 331 (BTN_STYLUS) pressed, seat count: 1
Command = libinput debug-events event4 TABLET_TOOL_AXIS +1.004s 196.15*/192.80* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +1.012s 196.19*/192.77* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +1.016s 196.21*/192.75* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +1.020s 196.24*/192.72* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 5 +1.024s 196.23*/192.70* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 6 +1.028s 196.21*/192.69* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 7 +1.032s 196.20*/192.67* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 8 +1.040s 196.19*/192.66* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 9 +1.044s 196.17*/192.66* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 10 +1.048s 196.14*/192.65* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_BUTTON +1.068s 331 (BTN_STYLUS) released, seat count: 0
event4 TABLET_TOOL_PROXIMITY +1.068s 196.09/192.66 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +1.136s 195.16*/193.94* tilt: 0.00*/0.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_AXIS +1.140s 195.16/193.95* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +1.144s 195.14*/193.99* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +1.148s 195.11*/194.07* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 4 +1.152s 195.08*/194.17* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 5 +1.160s 195.05*/194.28* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 6 +1.164s 195.04*/194.39* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 7 +1.168s 195.05*/194.48* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 8 +1.172s 195.06*/194.55* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 9 +1.176s 195.07*/194.59* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 10 +1.256s 195.19*/194.58* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_PROXIMITY +1.312s 195.54/194.46 tilt: 0.00/0.00 pressure: 0.00 pen (0, id 0) proximity-out
event4 TABLET_TOOL_PROXIMITY +1.312s 195.80*/194.28* tilt: 0.00*/0.00* pressure: 0.00* eraser (0, id 0) proximity-in axes:pt btn:S
event4 TABLET_TOOL_AXIS +1.332s 195.87*/194.27* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 2 +1.348s 196.03*/194.25* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_AXIS 3 +1.368s 196.26*/194.21* tilt: 0.00/0.00 pressure: 0.00
event4 TABLET_TOOL_PROXIMITY +1.412s 196.72/194.15 tilt: 0.00/0.00 pressure: 0.00 eraser (0, id 0) proximity-out
Command = gsetwacom list-styli
Output
No styli found
Command = gsetwacom stylus 28bd:092f show
Output
settings:
pressure-curve: [0, 0, 100, 100]
eraser-pressure-curve: [0, 0, 100, 100]
pressure-range: [0, 100]
eraser-pressure-range: [0, 100]
button-action: 'middle'
secondary-button-action: 'right'
tertiary-button-action: 'default'
button-keybinding: ''
secondary-button-keybinding: ''
tertiary-button-keybinding: ''
I’m using XP-PEN Deco Fun series and facing almost a similar type of problem and that is:
While using Xournal++ app when I shift to eraser during writing though it changes to eraser but as soon as I try to erase i.e. touch the tablet with stylus it freezes and when I again press the button to return to pen mode it shows the cursor at its current position immediately, so in order to erase I have to use keyboard shortcut or manually change to eraser which hampers the work flow.
I’m facing this problem after upgrading to Fedora 41, but the stylus button works fine on X org, and sadly the sensitivity and overall performance is not as good as Wayland in X org.
For some of the XP Pen Artist we have a BPF in udev-hid-bpf, if the tablet doesn’t work correctly then filing an issue with udev-hid-bpf is probably the best first step to debugging what’s going on.
There’s a blog post here describing how we got this fixed for one of them, could be that we need to extend this to your respective devices.
Having said that - if it works fine under X but not Wayland then it’s unlikely an issue at the kernel level.
I confirm the bug, exactly as the author described - the same graphics tablet, and the same behavior. Also tried OpenTabletDriver and the XPPen’s official driver.
The problem still persists for me.