Bug 100965 - TrackPoint speed can not be configured in GNOME3
Summary: TrackPoint speed can not be configured in GNOME3
Status: RESOLVED DUPLICATE of bug 91369
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-08 04:44 UTC by Charles Plessy
Modified: 2017-05-16 03:56 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg log. (48.92 KB, text/x-log)
2017-05-08 04:44 UTC, Charles Plessy
Details
Capture with "sudo evemu-record /dev/input/event14 light_pressure.txt" (91.72 KB, text/plain)
2017-05-09 00:30 UTC, Charles Plessy
Details
Capture with "sudo evemu-record /dev/input/event14 normal_pressure.txt" (94.53 KB, text/plain)
2017-05-09 00:30 UTC, Charles Plessy
Details
Capture with "sudo evemu-record /dev/input/event14 strong_pressure.txt" (65.92 KB, text/plain)
2017-05-09 00:31 UTC, Charles Plessy
Details

Description Charles Plessy 2017-05-08 04:44:14 UTC
Created attachment 131253 [details]
Xorg log.

Hello,

using GNOME3 on Debian 9, the trackpoint on my keyboard (IBM/Lenovo UltraNav SK-8845) is very slow since I upgraded from Debian 8.  The GNOME control panel only lets me change the speed of the mouse pointer: not the speed of the trackpoint nor the one of the touchpad.  Is that a problem on libinput's side, or is that the expected behaviour from the GNOME3 control panel ?

I also tried to add the following file to configure udev:

# cat /etc/udev/hwdb.d/99-local-trackpoint.hwdb 
# https://askubuntu.com/questions/742946/how-to-find-the-hwdb-header-of-a-general-input-device
# https://bugs.freedesktop.org/show_bug.cgi?id=99860
evdev:input:b0003v06CBp0009e0020*
 POINTINGSTICK_CONST_ACCEL=1.5
 POINTINGSTICK_SENSITIVITY=200

And to reload with `udevadm hwdb --update` and `udevadm trigger /dev/input/event*`, but the speed did not change.

Here is more information about my hardware.

# lsusb | grep -i track
Bus 001 Device 009: ID 06cb:0009 Synaptics, Inc. Composite TouchPad and TrackPoint

# find /sys/ -name *modalias | xargs grep -i 06cb
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.1/modalias:usb:v06CBp0009d0020dc00dsc00dp00ic00isc00ip00in01
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.1/input/input14/modalias:input:b0003v06CBp0009e0020-e0,1,2,3,k110,111,112,r0,1,a18,mlsfw
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/modalias:usb:v06CBp0009d0020dc00dsc00dp00ic00isc00ip00in00
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input13/modalias:input:b0003v06CBp0009e0020-e0,1,3,k110,111,112,145,14A,14D,14E,ra0,1,18,1C,mlsfw


# libinput-list-devices 
[edited for brevity]

Device:           Synaptics Inc. Composite TouchPad / TrackPoint
Kernel:           /dev/input/event13
Group:            7
Seat:             seat0, default
Size:             70.18x50.67mm
Capabilities:     pointer 
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    none
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

Device:           Synaptics Inc. Composite TouchPad / TrackPoint (Stick)
Kernel:           /dev/input/event14
Group:            7
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

# udevadm info /sys/class/input/event13 
P: /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input13/event13
N: input/event13
S: input/by-id/usb-Synaptics_Inc._Composite_TouchPad___TrackPoint-event-mouse
S: input/by-path/pci-0000:00:1a.7-usb-0:1.3.4:1.0-event-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:1a.7-usb-0:1.3.4:1.0-event-mouse /dev/input/by-id/usb-Synaptics_Inc._Composite_TouchPad___TrackPoint-event-mouse
E: DEVNAME=/dev/input/event13
E: DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input13/event13
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=external
E: ID_MODEL=Composite_TouchPad___TrackPoint
E: ID_MODEL_ENC=Composite\x20TouchPad\x20\x2f\x20TrackPoint
E: ID_MODEL_ID=0009
E: ID_PATH=pci-0000:00:1a.7-usb-0:1.3.4:1.0
E: ID_PATH_TAG=pci-0000_00_1a_7-usb-0_1_3_4_1_0
E: ID_REVISION=0020
E: ID_SERIAL=Synaptics_Inc._Composite_TouchPad___TrackPoint
E: ID_TYPE=generic
E: ID_USB_DRIVER=synaptics_usb
E: ID_USB_INTERFACES=:030102:000000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Synaptics_Inc.
E: ID_VENDOR_ENC=Synaptics\x20Inc.
E: ID_VENDOR_ID=06cb
E: LIBINPUT_DEVICE_GROUP=3/6cb/9/20:usb-0000:00:1a.7-1.3
E: MAJOR=13
E: MINOR=77
E: SUBSYSTEM=input
E: USEC_INITIALIZED=28233220

root@anx191:/etc/udev# udevadm info /sys/class/input/event14
P: /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.1/input/input14/event14
N: input/event14
S: input/by-id/usb-Synaptics_Inc._Composite_TouchPad___TrackPoint-if01-event-mouse
S: input/by-path/pci-0000:00:1a.7-usb-0:1.3.4:1.1-event-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:1a.7-usb-0:1.3.4:1.1-event-mouse /dev/input/by-id/usb-Synaptics_Inc._Composite_TouchPad___TrackPoint-if01-event-mouse
E: DEVNAME=/dev/input/event14
E: DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.1/input/input14/event14
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_INPUT_POINTINGSTICK=1
E: ID_MODEL=Composite_TouchPad___TrackPoint
E: ID_MODEL_ENC=Composite\x20TouchPad\x20\x2f\x20TrackPoint
E: ID_MODEL_ID=0009
E: ID_PATH=pci-0000:00:1a.7-usb-0:1.3.4:1.1
E: ID_PATH_TAG=pci-0000_00_1a_7-usb-0_1_3_4_1_1
E: ID_REVISION=0020
E: ID_SERIAL=Synaptics_Inc._Composite_TouchPad___TrackPoint
E: ID_TYPE=generic
E: ID_USB_DRIVER=synaptics_usb
E: ID_USB_INTERFACES=:030102:000000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Synaptics_Inc.
E: ID_VENDOR_ENC=Synaptics\x20Inc.
E: ID_VENDOR_ID=06cb
E: LIBINPUT_DEVICE_GROUP=3/6cb/9/20:usb-0000:00:1a.7-1.3
E: MAJOR=13
E: MINOR=78
E: SUBSYSTEM=input
E: USEC_INITIALIZED=28109412

I also attached the contents of /var/log/Xorg.0.log

An issue is also opened on the Debian BTS: (https://bugs.debian.org/861631)

Thanks for your help !

Charles Plessy, Tsurmi, Kanagawa, Japan.
Comment 1 Peter Hutterer 2017-05-08 11:09:09 UTC
Please attach three separate recordings, each about 2-3 seconds long, with evemu-record:

* slow pointer motion with light pressure
* medium pointer motion with 'normal' pressure
* fast pointer motion with strong pressure

Yes, I know these are subjective, focus more on how the pointer *should* behave than how it currently does when recording.
Comment 2 Charles Plessy 2017-05-09 00:30:12 UTC
Created attachment 131267 [details]
Capture with "sudo evemu-record  /dev/input/event14 light_pressure.txt"
Comment 3 Charles Plessy 2017-05-09 00:30:39 UTC
Created attachment 131268 [details]
Capture with "sudo evemu-record  /dev/input/event14 normal_pressure.txt"
Comment 4 Charles Plessy 2017-05-09 00:31:01 UTC
Created attachment 131269 [details]
Capture with "sudo evemu-record  /dev/input/event14 strong_pressure.txt"
Comment 5 Peter Hutterer 2017-05-09 01:34:11 UTC
so, quick analysis: if I take the last one with the strong pressure and apply various different const accel settings (hardcoded, because why not ;) I get deltas that differ vastly. compare this event here which is the same event in the sequence:

1.0: event19  POINTER_MOTION    +2.34s      -62.00/ 64.00
2.0: event19  POINTER_MOTION    +2.26s      -123.74/127.73
4.0: event19  POINTER_MOTION    +3.93s      -164.75/170.07                      

The timestamps change because it's the time between starting the tool and starting the evemu-play, so it's a manual thing. You can ignore them, they are the same event.

At const accel 4, the delta is ca 170 units versus 64 units at const accel 1. This suggests that everything is working just fine, at least at high speeds.


What is missing in your comment #0 is that POINTINGSTICK_CONST_ACCEL=1.5 is never actually applied to the udev device. It doesn't show up in the output, so something isn't handled correctly. I don't immediately see why not, but your hwdb entry doesn't take effect so libinput doesn't see it. Please fix this first.
https://wayland.freedesktop.org/libinput/doc/latest/faq.html#faq_hwdb_changes
Comment 6 Charles Plessy 2017-05-09 02:16:12 UTC
Thanks for the link.  Now with the command `sudo udevadm trigger /sys/class/input/event14` I could make the udev configuration be applied to the device.  My mistake yesterday was that I used the command `udevadm trigger /dev/input/event*` instead.

Now, with CONST_ACCEL=1.0 and SENSITIVITY=100, it takes me 4 to 5 seconds to travel back and forth from lateral sides of the screen, 2 to 3 s with CONST_ACCEL=2.0 and SENSITIVITY=200, and a bit less than 2 s with CONST_ACCEL=8.0 and SENSITIVITY=800, which practically solves my problem.

I am happy to provide more test data to help the other users of the same trackpoint to get comfortable defaults settings.
Comment 7 Peter Hutterer 2017-05-09 02:24:14 UTC
SENSITIVITY only goes to 255 and (iirc) it's 0xff masked, so setting it to 800 does not have the effect you'd expect. 800 == 32 when masked like this, so your best combination is likely going to be 200/2.5 or 255/2.5 or something like that.
Comment 8 Charles Plessy 2017-05-10 00:48:03 UTC
Indeed, now I am using 200/3.5 (although the difference with 200/2.5 or 255/2.5 is very subtle).

Is there anything more I can do ?
Comment 9 Peter Hutterer 2017-05-10 01:40:04 UTC
for the archives: https://github.com/systemd/systemd/pull/5927
Comment 10 Peter Hutterer 2017-05-10 23:10:16 UTC
submit the snippet you're using now to systemd for merging into the hwdb please, thanks. Const accel of 3.5 still seems a bit high but I'll handle this in another bug (will link to here)
Comment 11 Peter Hutterer 2017-05-12 04:21:57 UTC
fwiw, see bug 91369 for trackpoint acceleration issues of this kind
Comment 12 Charles Plessy 2017-05-13 03:21:37 UTC
Issue opened on GitHub: https://github.com/systemd/systemd/issues/5952
Comment 13 Peter Hutterer 2017-05-16 03:56:13 UTC
not sure if this one is fixed now or not, but I'm marking it as dupe of 91369 anyway because stuff is finally happening there. Please have a look at the most recent comment(s) please, thanks

*** This bug has been marked as a duplicate of bug 91369 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.