[SRU] TrackPoint: middle button doesn't work on TrackPoint-compatible device.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
AaronMa | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Artful |
Fix Released
|
Undecided
|
Unassigned | ||
linux-oem (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Artful |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Lenovo introduced 4 new TrackPoint compatible sticks those only support the minimum commands described in the spec, which has been used in the current Windows driver.
Legacy TrackPoint: 0101 – 0E01
ALPS: 0102 – FF02
ELAN:0103 – FF03
NXP: 0104 – FF04
TrackPoint (ID: 01/02) report 0 button when reading the EXT_BUTTON command.
Setting middle button enabled to make it work.
Upstream patch:
commit f5d07b9e98022d5
Author: Aaron Ma <email address hidden>
Date: Fri Jan 19 09:43:39 2018 -0800
Input: trackpoint - force 3 buttons if 0 button is reported
Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
They supposed to reply with 0x02, 0x03, or 0x04 in response to the
"Read Extended ID" command, so we would know not to try certain extended
commands. Unfortunately even some trackpoints reporting the original IBM
version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
Extended Buttons" command:
thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE
psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0
Since there are no trackpoints without buttons, let's assume the trackpoint
has 3 buttons when we get 0 response to the extended buttons query.
Signed-off-by: Aaron Ma <email address hidden>
Fixes: https:/
Cc: <email address hidden>
Signed-off-by: Dmitry Torokhov <email address hidden>
SRU justification:
==============
[Impact]
Middle button on some TrackPoints with ThinkPad can't work on Ubuntu
16.04.
Lenovo introduced 4 new TrackPoint compatible sticks those only support
minimum commands, Sticks with ID 01/02 reported the external button 0,
TrackPoint always have 3 buttons.
[Fix]
Set 3 buttons when 0 button is reported via PS/2 commands.
[Test Case]
Tested on Finn and E470, middle button works with this patch.
[Regression Potential]
No regression is expected.
This patch had been send to stable kernel, so Bionic should have it
with stable updates.
Aaron Ma (1):
Input: trackpoint - force 3 buttons if 0 button is reported
drivers/
1 file changed, 3 insertions(+)
tags: | added: originate-from-1722312 sutton |
Changed in hwe-next: | |
assignee: | nobody → AaronMa (mapengyu) |
Changed in linux (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in linux-oem (Ubuntu): | |
status: | New → Invalid |
Changed in linux-oem (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in linux-oem (Ubuntu Artful): | |
status: | New → Invalid |
Changed in linux (Ubuntu Artful): | |
status: | New → Fix Committed |
tags: |
added: verification-done-xenial removed: verification-needed-xenial |
description: | updated |
summary: |
- TrackPoint: middle button doesn't work on TrackPoint-compatible device. + [SRU] TrackPoint: middle button doesn't work on TrackPoint-compatible + device. |
tags: |
added: verification-done-artful removed: verification-needed-artful |
Changed in hwe-next: | |
status: | New → Fix Released |
Changed in linux (Ubuntu): | |
status: | Incomplete → Fix Released |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1746002
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.