5

I'm upgrading from Ubuntu 16.04 to 20.04. I have a graphics-tablet connected with my computer that 16.04 recognizes pen as a mouse. But it doesn't work in 20.04. Output from usb-devices are identical for both versions:

T:  Bus=04 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=172f ProdID=0027 Rev=01.50
S:  Manufacturer=               
S:  Product=Digital Ink Pad
S:  SerialNumber=01.00.00
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

But the results of xinput list-props is very different. In 16.04 gives

Device '                Digital Ink Pad':
    Device Enabled (153):   1
    Coordinate Transformation Matrix (155): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (281): 0
    Device Accel Constant Deceleration (282):   1.000000
    Device Accel Adaptive Deceleration (283):   1.000000
    Device Accel Velocity Scaling (284):    10.000000
    Device Product ID (272):    5935, 39
    Device Node (273):  "/dev/input/event3"
    Evdev Axis Inversion (285): 0, 0
    Evdev Axis Calibration (286):   <no items>
    Evdev Axes Swap (287):  0
    Axis Labels (288):  "Abs X" (278), "Abs Y" (279), "Abs Pressure" (280), "Rel Vert Wheel" (277)
    Button Labels (289):    "Button Left" (156), "Button Middle" (157), "Button Right" (158), "Button Wheel Up" (159), "Button Wheel Down" (160), "Button Horiz Wheel Left" (161), "Button Horiz Wheel Right" (162)
    Evdev Scrolling Distance (290): 1, 1, 1
    Evdev Middle Button Emulation (291):    1
    Evdev Middle Button Timeout (292):  50
    Evdev Third Button Emulation (293): 0
    Evdev Third Button Emulation Timeout (294): 1000
    Evdev Third Button Emulation Button (295):  3
    Evdev Third Button Emulation Threshold (296):   20
    Evdev Wheel Emulation (297):    0
    Evdev Wheel Emulation Axes (298):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (299):    10
    Evdev Wheel Emulation Timeout (300):    200
    Evdev Wheel Emulation Button (301): 4
    Evdev Drag Lock Buttons (302):  0

But in 20.04 gives

Device '                Digital Ink Pad Mouse':
    Device Enabled (155):   1
    Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (291):   0
    libinput Natural Scrolling Enabled Default (292):   0
    libinput Scroll Methods Available (293):    0, 0, 1
    libinput Scroll Method Enabled (294):   0, 0, 0
    libinput Scroll Method Enabled Default (295):   0, 0, 0
    libinput Button Scrolling Button (296): 2
    libinput Button Scrolling Button Default (297): 2
    libinput Middle Emulation Enabled (298):    1
    libinput Middle Emulation Enabled Default (299):    0
    libinput Accel Speed (300): 0.000000
    libinput Accel Speed Default (301): 0.000000
    libinput Accel Profiles Available (302):    1, 1
    libinput Accel Profile Enabled (303):   1, 0
    libinput Accel Profile Enabled Default (304):   1, 0
    libinput Left Handed Enabled (305): 0
    libinput Left Handed Enabled Default (306): 0
    libinput Send Events Modes Available (276): 1, 0
    libinput Send Events Mode Enabled (277):    0, 0
    libinput Send Events Mode Enabled Default (278):    0, 0
    Device Node (279):  "/dev/input/event3"
    Device Product ID (280):    5935, 39
    libinput Drag Lock Buttons (307):   <no items>
    libinput Horizontal Scroll Enabled (308):   1

1 Answers1

4

Based on the xinput output you've provided, it looks like the driver changed from evdev to libinput.

  • You can try forcing libinput to treat the device as a tablet by adding the following to /usr/share/X11/xorg.conf.d/40-libinput.conf:

    Section "InputClass"
        Identifier "evdev tablet"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event3"
        Driver "evdev"
    EndSection
  • You can try reverting to evdev.

    1. Make sure the package xserver-xorg-input-evdev is installed. (This may or may not be sufficient.)

      sudo apt list xserver-xorg-input-evdev
      sudo apt install xserver-xorg-input-evdev
    2. You may need to disable libinput. You may need to add the Ignore option to multiple sections in /usr/share/X11/xorg.conf.d/40-libinput.conf:

      Section "InputClass"
          Identifier "libinput pointer catchall"
          MatchIsPointer "on"
          MatchDevicePath "/dev/input/event*"
          Driver "libinput"
          Option "Ignore" "on"
      EndSection
    3. You may need to add the following to /usr/share/X11/xorg.conf.d/10-evdev.conf:

      Section "InputClass"
          Identifier "evdev tablet"
          MatchIsTablet "on"
          MatchDevicePath "/dev/input/event3"
          Driver "evdev"
      EndSection
xiota
  • 5,038