This forum has been archived. All content is frozen. Please use KDE Discuss instead.

configuration for non-wacom tablets

Tags: None
(comma "," separated)
avalon
Registered Member
Posts
16
Karma
0
OS

configuration for non-wacom tablets

Fri May 08, 2020 4:42 pm
Hi, I'm using plasma 5.18.4 on Fedora 32 and I have a Genius (non-wacom) tablet.

Code: Select all
$ sudo libinput list-devices
Device:           Genius EasyPen i405X
Kernel:           /dev/input/event4
Group:            8
Seat:             seat0, default
Size:             139x101mm
Capabilities:     tablet
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      identity matrix
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   none
Rotation:         n/a


$ sudo lsusb -v
Bus 001 Device 015: ID 0458:5010 KYE Systems Corp. (Mouse Systems) EasyPen i405X
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0458 KYE Systems Corp. (Mouse Systems)
  idProduct          0x5010
  bcdDevice            1.00
  iManufacturer           1 Genius
  iProduct                2 EasyPen i405X
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0022
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     476
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)


Should KDE be capable of configuring it? I only see Wacom specific configurator in settings but it doesn't find the tablet and can't configure it. TBH I installed KDE just to try its advanced tablet configuration tool. But either it is Wacom-only or I fail to find the generic tablet configuration utility.

Thank you.
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS
It all depends on whether the tablet has drivers for Linux or not, you should check the manufacturers website for that.


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...
avalon
Registered Member
Posts
16
Karma
0
OS
Mamarok wrote:It all depends on whether the tablet has drivers for Linux or not, you should check the manufacturers website for that.


What do you mean with drivers? As you can see above it is recognized by libinput. It moves the mouse pointer. Seem like there is ability to define pressure matrix but I haven't investigated how to set it up on the command line. I hoped KDE has a generic tablet configuration utility that works with libinput so that I can configure with it. If I figure out how to configure on the command line, then I wouldn't need KDE to configure it for me.

What kind of driver should it have to be compatible with KDE tablet configuration utility?
avalon
Registered Member
Posts
16
Karma
0
OS
I see that `hid_kye` is used to support the tablet. Looks like upstream is https://github.com/DIGImend/digimend-kernel-drivers.

Some more information:
Code: Select all
🐚 xinput list-props 18
Device 'Genius EasyPen i405X Pen (0)':
   Device Enabled (174):   1
   Coordinate Transformation Matrix (176):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   Device Node (299):   "/dev/input/event5"
   Device Product ID (300):   1112, 20496
   libinput Tablet Tool Pressurecurve (628):   0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000, 1.000000
🐚 xinput list-props 11
Device 'Genius EasyPen i405X':
   Device Enabled (174):   1
   Coordinate Transformation Matrix (176):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   libinput Calibration Matrix (329):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   libinput Calibration Matrix Default (330):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   Device Node (299):   "/dev/input/event5"
   Device Product ID (300):   1112, 20496
🐚 xinput list
⎡ Virtual core pointer                       id=2   [master pointer  (3)]
...
⎜   ↳ Genius EasyPen i405X Pen (0)               id=18   [slave  pointer  (2)]
...
⎣ Virtual core keyboard                      id=3   [master keyboard (2)]
     ...
    ↳ Genius EasyPen i405X                       id=11   [slave  keyboard (3)]
🐚 xinput query-state 18
2 classes :
ButtonClass
   button[1]=up
   button[2]=up
   button[3]=up
   button[4]=up
   button[5]=up
   button[6]=up
   button[7]=up
ValuatorClass Mode=Absolute Proximity=Out
   valuator[0]=8791923
   valuator[1]=0
   valuator[2]=0


Having parameter `libinput Tablet Tool Pressurecurve` makes me hopeful that pressure curve is configurable. Not sure why I see two devices. If anybody has an idea how to configure on command line I will also appreciate.
avalon
Registered Member
Posts
16
Karma
0
OS
Looking at DIGIment repo I tried their workaround to try forcing wacom driver instead of the default libinput driver (had to disable MatchDevicePath because this tablet seems to be multi-device and also uses /dev/input/mouse).

Code: Select all
$ cat /etc/X11/xorg.conf.d/50-tablet.conf
Section "InputClass"
    Identifier "Tablet"
    Driver "wacom"
    # MatchDevicePath "/dev/input/event*"
    MatchUSBID "0458:5010"
EndSection


This worked and the tablet is now recognized. On first glance at least some of the configuration is supported. I don't see how to configure keys though. Can you point me at where that configurtion should be set?

So it seems like only tablets supported by the wacom x11 driver are supported by KDE tablet configurator? Would be nice to have a generic libinput support. I'm not sure this wacom stuff fully works as this is what I've got in the log:
Code: Select all
[   519.825] (II) Using input driver 'wacom' for 'Genius EasyPen i405X'
[   519.825] (**) Genius EasyPen i405X: always reports core events
[   519.825] (**) Option "Device" "/dev/input/event18"
[   519.825] (II) Genius EasyPen i405X: type not specified, assuming 'stylus'.
[   519.825] (II) Genius EasyPen i405X: other types will be automatically added.
[   519.825] (--) Genius EasyPen i405X stylus: using pressure threshold of 851 for button 1
[   519.825] (**) Genius EasyPen i405X stylus: panscroll is 0
[   519.825] (**) Genius EasyPen i405X stylus: panscroll modified to 1313
[   519.825] (--) Genius EasyPen i405X stylus: maxX=14080 maxY=10240 maxZ=1023 resX=101000 resY=101000  tilt=enabled
[   519.825] (II) Genius EasyPen i405X stylus: hotplugging dependent devices.
[   519.825] (EE) Genius EasyPen i405X stylus: Invalid type 'eraser' for this device.
[   519.825] (EE) Genius EasyPen i405X stylus: Invalid type 'cursor' for this device.
[   519.825] (EE) Genius EasyPen i405X stylus: Invalid type 'touch' for this device.
[   519.825] (EE) Genius EasyPen i405X stylus: Invalid type 'pad' for this device.
[   519.825] (II) Genius EasyPen i405X stylus: hotplugging completed.
[   519.846] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:0458:5010.0006/input/input36/event18"
[   519.846] (II) XINPUT: Adding extended input device "Genius EasyPen i405X stylus" (type: STYLUS, id 11)
[   519.847] (**) Genius EasyPen i405X stylus: (accel) keeping acceleration scheme 1
[   519.847] (**) Genius EasyPen i405X stylus: (accel) acceleration profile 0
[   519.847] (**) Genius EasyPen i405X stylus: (accel) acceleration factor: 2.000
[   519.847] (**) Genius EasyPen i405X stylus: (accel) acceleration threshold: 4
[   519.848] (II) config/udev: Adding input device Genius EasyPen i405X (/dev/input/mouse3)
[   519.848] (**) Genius EasyPen i405X: Applying InputClass "Tablet"
[   519.848] (II) Using input driver 'wacom' for 'Genius EasyPen i405X'
[   519.848] (**) Genius EasyPen i405X: always reports core events
[   519.848] (**) Option "Device" "/dev/input/mouse3"
[   519.849] (EE) Genius EasyPen i405X: usbDetect: can not ioctl version
[   519.849] (EE) Genius EasyPen i405X: cannot identify device class.
[   519.858] (EE) PreInit returned 8 for "Genius EasyPen i405X"
[   519.858] (II) UnloadModule: "wacom"


What bothers me is this `UnloadModule: "wacom"`, I don't know whether it means the mouse device is actually not loaded and thus part of configuration inaccessible.


Bookmarks



Who is online

Registered users: Bing [Bot], gfielding, Google [Bot], markhm, sethaaaa, Sogou [Bot], Yahoo [Bot]