Graphics tablet pen buttons are not working correctly after upgrading to Fedora 41

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.

1 Like

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.

1 Like

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:

  1. Log out of your account.
  2. 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!

1 Like

@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.