No TrackPoint scroll

Bug #1670492 reported by Isaac Salgueiro
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xserver-xorg-input-evdev-hwe-16.04 (Ubuntu)
Confirmed
High
Unassigned
xserver-xorg-input-libinput-hwe-16.04 (Ubuntu)
Confirmed
High
Unassigned

Bug Description

TrackPoint's middle button is not detected, so TrackPoint scroll didn't work either.

$ xinput list-props 12
Device 'TPPS/2 IBM TrackPoint':
 Device Enabled (140): 1
 Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
 Device Accel Profile (266): 0
 Device Accel Constant Deceleration (267): 1.000000
 Device Accel Adaptive Deceleration (268): 1.000000
 Device Accel Velocity Scaling (269): 10.000000
 Device Product ID (260): 2, 10
 Device Node (261): "/dev/input/event13"
 Evdev Axis Inversion (306): 0, 0
 Evdev Axes Swap (308): 0
 Axis Labels (309): "Rel X" (150), "Rel Y" (151)
 Button Labels (310): "Button Left" (143), "Button Unknown" (305), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)

"Button Unknown" seems to be the TrackPoint itself.

This is a ThinkPad E470 and a 16.04 fully updated fresh install.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: xserver-xorg-input-evdev-hwe-16.04 1:2.10.2-1ubuntu1~16.04.1 [modified: usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf]
ProcVersionSignature: Ubuntu 4.8.0-39.42~16.04.1-generic 4.8.17
Uname: Linux 4.8.0-39-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Mar 6 22:16:21 2017
SourcePackage: xserver-xorg-input-evdev-hwe-16.04
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Isaac Salgueiro (isalgueiro) wrote :
Revision history for this message
Isaac Salgueiro (isalgueiro) wrote :

Tried with xserver-xorg-input-libinput-hwe-16.04 0.19.0-1ubuntu0.1. No middle button either.

$ xinput set-prop "TPPS/2 IBM TrackPoint" "libinput Button Scrolling Button" 2
X Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 131 (XInputExtension)
  Minor opcode of failed request: 57 ()
  Value in failed request: 0x120
  Serial number of failed request: 20
  Current serial number in output stream: 21

summary: - no "button middle" detected
+ No TrackPoint scroll
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-input-evdev-hwe-16.04 (Ubuntu):
status: New → Confirmed
Changed in xserver-xorg-input-libinput-hwe-16.04 (Ubuntu):
status: New → Confirmed
Revision history for this message
User One (userone470) wrote :

I found that

sudo modprobe -r psmouse
sudo modprobe psmouse proto=imps

enables the middle button, i.e. pasting works. BUT scrolling with touchpad or middle button + trackpoint does not work.

Revision history for this message
User One (userone470) wrote :

Same for proto=exps and proto=bare.

Changed in xserver-xorg-input-evdev-hwe-16.04 (Ubuntu):
importance: Undecided → High
Changed in xserver-xorg-input-libinput-hwe-16.04 (Ubuntu):
importance: Undecided → High
Revision history for this message
User One (userone470) wrote :

Some more debug info:

$ sudo dmidecode -t 21

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0035, DMI type 21, 7 bytes
Built-in Pointing Device
 Type: Track Point
 Interface: PS/2
 Buttons: 3

Handle 0x0036, DMI type 21, 7 bytes
Built-in Pointing Device
 Type: Touch Pad
 Interface: PS/2
 Buttons: 2

$ cat /proc/bus/input/devices

[...]
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input77
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=660800011000003

I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=synaptics-pt/serio0/input0
S: Sysfs=/devices/platform/i8042/serio1/serio6/input/input78
U: Uniq=
H: Handlers=mouse1 event14
B: PROP=21
B: EV=7
B: KEY=30000 0 0 0 0
B: REL=3
[...]

Revision history for this message
User One (userone470) wrote :

dmesg also tells us that psmouse failed to retrieve extended button data:

[...]
[ 5276.513617] psmouse serio7: trackpoint: failed to get extended button data
[ 5280.377455] psmouse serio7: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0
[...]

Revision history for this message
Isaac Salgueiro (isalgueiro) wrote :

Can confirm that reloading psmouse module enables middle button, but for me after reloading psmouse module xinput only shows "PS/2 Synaptics TouchPad" and no "TPPS/2 IBM TrackPoint". Passing "proto=imps" as an option to psmouse in /etc/modules makes no change, after rebooting no middle button is detected.

I also have the "failed to get extended button data" message in /var/log/syslog

Revision history for this message
User One (userone470) wrote :

As described here [1] installing xserver-xorg-input-libinput-hwe-16.04 and reloading psmouse with proto=imps enables the middle button. Also scrolling with middle button + trackpoint works, but two-finger scrolling using the touchpad does not work. It would be nice to be able to use touchpad and trackpoint.

[1] https://askubuntu.com/questions/864377/touchpad-while-holding-on-touchpad-it-doesnt-work

Revision history for this message
Jakub Kubień (kecalcze) wrote :

The same on 17.04 and ThinkPad E570. After this "sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps" the touchpas works but with libinput the middle button is dead.

Revision history for this message
Anthony Wong (anthonywong) wrote :

If you have Thinkpad E470, please try this DKMS package, E570 may need another solution, you are welcome to try but it may not work. If it works, we will try to upstream it.

Revision history for this message
Isaac Salgueiro (isalgueiro) wrote :

Thanks @anthonywong! I can confirm that after installing oem-touchpad-psmouse-1615937-dkms_1.0sutton1_all.deb package the middle button is detected in my E470 and Trackpad scrolling works now like any standard mouse wheel scroll.

I'm currently running 16.04.3 LTS (Neon 5.8 actually). Here's the xinput output after installing this DKMS package:

   Device 'TPPS/2 IBM TrackPoint':
        Device Enabled (139): 1
        Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265): 0
        Device Accel Constant Deceleration (266): 1.000000
        Device Accel Adaptive Deceleration (267): 1.000000
        Device Accel Velocity Scaling (268): 10.000000
        Device Product ID (259): 2, 10
        Device Node (260): "/dev/input/event13"
        Evdev Axis Inversion (524): 0, 0
        Evdev Axes Swap (526): 0
        Axis Labels (527): "Rel X" (149), "Rel Y" (150)
        Button Labels (528): "Button Left" (142), "Button Middle" (143), "Button Right" (144), "Button Wheel Up" (145), "Button Wheel Down" (146), "Button Horiz Wheel Left" (147), "Button Horiz Wheel Right" (148)
        Evdev Scrolling Distance (529): 0, 0, 0
        Evdev Middle Button Emulation (530): 1
        Evdev Middle Button Timeout (531): 50
        Evdev Middle Button Button (532): 2
        Evdev Third Button Emulation (533): 0
        Evdev Third Button Emulation Timeout (534): 1000
        Evdev Third Button Emulation Button (535): 3
        Evdev Third Button Emulation Threshold (536): 20
        Evdev Wheel Emulation (537): 1
        Evdev Wheel Emulation Axes (538): 6, 7, 4, 5
        Evdev Wheel Emulation Inertia (539): 10
        Evdev Wheel Emulation Timeout (540): 200
        Evdev Wheel Emulation Button (541): 2
        Evdev Drag Lock Buttons (542): 0

Revision history for this message
Isaac Salgueiro (isalgueiro) wrote :

I just found this in the apt-get upgrade output:

Good news! Module version for sermouse.ko
exactly matches what is already found in kernel 4.13.0-16-generic.
DKMS will not replace this module.
You may override by specifying --force.

I can confirm that oem-touchpad-psmouse-1615937-dkms_1.0sutton1_all.deb is no longer needed and this issue is resolved in 4.13.0.16.23 hwe.

Revision history for this message
Yash Pandey (yashpandey22) wrote :

I still cant use middle button scrolling I even have installed the DKMS package and still it is not working.

yash@yash-ThinkPad-E470:~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ Integrated Camera id=9 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
    ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]

yash@yash-ThinkPad-E470:~$ xinput list-props 13Device 'TPPS/2 IBM TrackPoint':
 Device Enabled (140): 1
 Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
 libinput Accel Speed (280): 0.000000
 libinput Accel Speed Default (281): 0.000000
 libinput Accel Profiles Available (529): 1, 1
 libinput Accel Profile Enabled (530): 1, 0
 libinput Accel Profile Enabled Default (531): 1, 0
 libinput Natural Scrolling Enabled (282): 0
 libinput Natural Scrolling Enabled Default (283): 0
 libinput Send Events Modes Available (258): 1, 0
 libinput Send Events Mode Enabled (259): 0, 0
 libinput Send Events Mode Enabled Default (260): 0, 0
 libinput Left Handed Enabled (284): 0
 libinput Left Handed Enabled Default (285): 0
 libinput Scroll Methods Available (286): 0, 0, 1
 libinput Scroll Method Enabled (287): 0, 0, 1
 libinput Scroll Method Enabled Default (288): 0, 0, 1
 libinput Button Scrolling Button (532): 0
 libinput Button Scrolling Button Default (533): 0
 Device Node (261): "/dev/input/event13"
 Device Product ID (262): 2, 10
 libinput Drag Lock Buttons (296): <no items>
 libinput Horizonal Scroll Enabled (263): 1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.