You are not logged in.

#1 2019-03-22 09:02:59

tsdh
Member
From: Germany
Registered: 2014-01-07
Posts: 55

USB touchpad recognized as keyboard and pointer but not as touchpad

Hi all,

I got this wireless USB touchpad/trackpad.  Basically, it worked out of the box but seems to be recognized only as mouse/pointer but not as a touchpad.

This has two major drawbacks:
* It shares the settings with my mouse and GNOME 3.32 doesn't show the touchpad specific settings at all.
* It's not possible to middle-click (whereas it should be a 3-finger click with a real touchpad).

Is there any way to teach my system that this device is a touchpad?

Here's the (dmesg, lsusb, libinput, xinput) device information:

###########################################################################
$ dmesg
[ 6321.788537] usb 2-10.1: new full-speed USB device number 10 using xhci_hcd
[ 6321.898087] usb 2-10.1: New USB device found, idVendor=1357, idProduct=1000, bcdDevice= 1.00
[ 6321.898091] usb 2-10.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6321.898094] usb 2-10.1: Product: Smart Control
[ 6321.898096] usb 2-10.1: Manufacturer: HL 0000 00 00 00 01
[ 6321.907554] input: HL 0000 00 00 00 01 Smart Control as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.0/0003:1357:1000.000C/input/input37
[ 6321.962292] hid-generic 0003:1357:1000.000C: input,hidraw2: USB HID v1.01 Keyboard [HL 0000 00 00 00 01 Smart Control] on usb-0000:00:14.0-10.1/input0
[ 6321.964630] input: HL 0000 00 00 00 01 Smart Control as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.1/0003:1357:1000.000D/input/input38
[ 6321.964862] hid-generic 0003:1357:1000.000D: input,hidraw3: USB HID v1.01 Mouse [HL 0000 00 00 00 01 Smart Control] on usb-0000:00:14.0-10.1/input1
[ 6321.966567] input: HL 0000 00 00 00 01 Smart Control Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:1357:1000.000E/input/input39
[ 6322.022126] input: HL 0000 00 00 00 01 Smart Control System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:1357:1000.000E/input/input40
[ 6322.022324] hid-generic 0003:1357:1000.000E: input,hidraw5: USB HID v1.01 Device [HL 0000 00 00 00 01 Smart Control] on usb-0000:00:14.0-10.1/input2

###########################################################################
$ sudo lsusb -v -d 1357:1000
Bus 002 Device 010: ID 1357:1000 P&E Microcomputer Systems 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        32
  idVendor           0x1357 P&E Microcomputer Systems
  idProduct          0x1000 
  bcdDevice            1.00
  iManufacturer           1 HL 0000 00 00 00 01
  iProduct                2 Smart Control
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0054
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              200mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         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     0x0020  1x 32 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      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.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     113
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      68
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               8
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0002
  (Bus Powered)
  Remote Wakeup Enabled

###########################################################################
$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:17                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:17            	id=7	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:17                    	id=8	[slave  keyboard (3)]

###########################################################################
$ xinput list-props xwayland-pointer:17
Device 'xwayland-pointer:17':
	Device Enabled (121):	1
	Coordinate Transformation Matrix (123):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (246):	0
	Device Accel Constant Deceleration (247):	1.000000
	Device Accel Adaptive Deceleration (248):	1.000000
	Device Accel Velocity Scaling (249):	10.000000

###########################################################################
$ xinput list-props xwayland-relative-pointer:17
Device 'xwayland-relative-pointer:17':
	Device Enabled (121):	1
	Coordinate Transformation Matrix (123):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (246):	0
	Device Accel Constant Deceleration (247):	1.000000
	Device Accel Adaptive Deceleration (248):	1.000000
	Device Accel Velocity Scaling (249):	10.000000

###########################################################################
$ sudo libinput list-devices
...
Device:           HL 0000 00 00 00 01 Smart Control
Kernel:           /dev/input/event15
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
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:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           HL 0000 00 00 00 01 Smart Control
Kernel:           /dev/input/event16
Group:            5
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           HL 0000 00 00 00 01 Smart Control Consumer Control
Kernel:           /dev/input/event17
Group:            5
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           HL 0000 00 00 00 01 Smart Control System Control
Kernel:           /dev/input/event20
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
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:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a
...

Offline

#2 2019-03-22 15:33:38

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,772

Re: USB touchpad recognized as keyboard and pointer but not as touchpad

Looks like a cool device.  It would be really nice if it emulated a keyboard as well.  It would go well with a Raspberry-Pi (ponder, ponder...)

If it were mine, I might look into aur/xf86-input-mtrack.  Absolutely no guarantee, but it might work.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#3 2019-03-22 18:14:06

seth
Member
Registered: 2012-09-03
Posts: 51,017

Re: USB touchpad recognized as keyboard and pointer but not as touchpad

Notice that you're on a wayland session and all X11 stuff happens on top of xwayland, not xorg. The xinput output lists somewhat of an emulated device.
I'd suggest attempting to start Xorg first and see how the device registers there.

Offline

#4 2019-03-25 07:50:50

tsdh
Member
From: Germany
Registered: 2014-01-07
Posts: 55

Re: USB touchpad recognized as keyboard and pointer but not as touchpad

ewaller wrote:

If it were mine, I might look into aur/xf86-input-mtrack.  Absolutely no guarantee, but it might work.

I've tried it but didn't get it working.  The problem is that the matcher MatchIsTouchpad won't work because it is not recognized as such.  And defining fixed devices won't work either because the actual devices (/dev/input/eventX) change between reboots.

Offline

#5 2019-03-25 07:52:06

tsdh
Member
From: Germany
Registered: 2014-01-07
Posts: 55

Re: USB touchpad recognized as keyboard and pointer but not as touchpad

seth wrote:

Notice that you're on a wayland session and all X11 stuff happens on top of xwayland, not xorg. The xinput output lists somewhat of an emulated device.
I'd suggest attempting to start Xorg first and see how the device registers there.

With an Xorg session, the devices shows up with its name "HL ... Smart Control" but still just as a pointer and a keyboard and not as a touchpad.

Offline

Board footer

Powered by FluxBB