From: role <bezrabotni@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [BUG] TPPS/2 Elan TrackPoint middle/right buttons not reported on ThinkPad T14s Gen 2
Date: Thu, 22 Oct 2026 12:24:46 +0200 [thread overview]
Message-ID: <6bf6c3eb-a142-4f11-92a7-bea7bc715010@gmail.com> (raw)
Subject: [BUG] TPPS/2 Elan TrackPoint middle/right buttons not reported
on ThinkPad T14s Gen 2
Summary:
On a Lenovo ThinkPad T14s Gen 2, the middle and right buttons of the
TPPS/2 Elan TrackPoint do not generate any input events at the kernel
level, while the left button and pointing stick movement work correctly.
The same hardware works without issues under Windows 11, indicating this
is a Linux driver initialization or reporting issue, not a hardware fault.
Environment:
Laptop: Lenovo ThinkPad T14s Gen 2
Distribution: Fedora Atomic (Sway)
Kernel: 7.2.9-201.fc44.x86_64
libinput: libinput-1.31.3-1.fc44.x86_64
Input device name: TPPS/2 Elan TrackPoint
Device node: /dev/input/event4
Bus/Vendor/Product: 0x11 / 0x2 / 0xa
Problem Description:
The kernel input device declares support for BTN_LEFT, BTN_RIGHT, and
BTN_MIDDLE, but when physically pressing the middle or right button,
evtest and libinput debug-events only show events for BTN_LEFT and
REL_X/REL_Y. The middle and right buttons produce no EV_KEY events
whatsoever.
Evidence:
- evtest shows the device's declared capabilities include the
middle and right buttons:
Event type 1 (EV_KEY)
Event code 272 (BTN_LEFT)
Event code 273 (BTN_RIGHT)
Event code 274 (BTN_MIDDLE)
- evtest raw output (pressing left button and moving the stick
produces events; pressing middle/right produces nothing):
Event: time ..., type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time ..., type 2 (EV_REL), code 1 (REL_Y), value 1
// No BTN_MIDDLE or BTN_RIGHT events observed
- libinput debug-events also shows no middle/right button events,
only left button and movement events for event4.
- libinput quirks list --verbose /dev/input/event4 did not reveal
any active quirk rules disabling the middle or right buttons.
Attempted Workarounds (all ineffective):
- Configuring scroll_method on_button_down / scroll_button
BTN_MIDDLE for the TrackPoint in Sway.
- Using libinput local-overrides.quirks to try to explicitly enable
the buttons.
- Removing the psmouse.synaptics_intertouch=1 kernel parameter
(currently removed).
Request:
Please advise whether the psmouse/trackpoint driver has a known
issue with the Elan TrackPoint on this specific ThinkPad model, or if
additional debugging information is needed from my side. Since the
hardware is fully functional under Windows 11, I suspect the driver may
be failing to properly initialize the TrackPoint's extended button
functionality during PS/2 protocol negotiation.
Additional information:
uname -r:
7.2.9-201.fc44.x86_64
cat /proc/version:
Linux version 7.2.9-201.fc44.x86_64
(mockbuild@3cc06c60463046bc9e2813f8ad822a95) (gcc (GCC) 16.2.1 20260819
(Red Hat 16.2.1-2), GNU ld version 2.46.1-1.fc44) #1 SMP PREEMPT_DYNAMIC
Fri Oct 9 15:04:46 UTC 2026
sudo evtest /dev/input/event4:
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x2 product 0xa version 0x63
Input device name: "TPPS/2 Elan TrackPoint"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 272 (BTN_LEFT)
Event code 273 (BTN_RIGHT)
Event code 274 (BTN_MIDDLE)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Properties:
Property type 0 (INPUT_PROP_POINTER)
Property type 5 (INPUT_PROP_POINTING_STICK)
Testing ... (interrupt to exit)
Event: time 1792663533.898538, type 1 (EV_KEY), code 272
(BTN_LEFT), value 1
Event: time 1792663533.898538, -------------- SYN_REPORT ------------
Event: time 1792663534.025420, type 1 (EV_KEY), code 272
(BTN_LEFT), value 0
Event: time 1792663534.025420, -------------- SYN_REPORT ------------
Event: time 1792663543.308504, type 2 (EV_REL), code 1 (REL_Y),
value -1
Event: time 1792663543.308504, -------------- SYN_REPORT ------------
Event: time 1792663549.938592, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1792663549.938592, type 2 (EV_REL), code 1 (REL_Y), value 1
sudo libinput debug-events:
-event5 DEVICE_ADDED ELAN0676:00 04F3:3195 Mouse
seat0 default group1 cap:p left scroll-nat scroll-button
-event6 DEVICE_ADDED ELAN0676:00 04F3:3195
Touchpad seat0 default group1 cap:pg size 114x58mm tap (dl off)
left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event7 DEVICE_ADDED RAYD0001:00 2386:4B48
seat0 default group2 cap:t size 320x180mm ntouches 10 calib
-event9 DEVICE_ADDED Video Bus seat0
default group3 cap:k
-event10 DEVICE_ADDED Intel HID events
seat0 default group4 cap:k
-event2 DEVICE_ADDED Power Button seat0
default group5 cap:k
-event1 DEVICE_ADDED Lid Switch seat0
default group6 cap:S
-event0 DEVICE_ADDED Sleep Button seat0
default group7 cap:k
-event3 DEVICE_ADDED AT Translated Set 2
keyboard seat0 default group8 cap:k
-event4 DEVICE_ADDED TPPS/2 Elan TrackPoint
seat0 default group9 cap:p left scroll-nat scroll-button
-event8 DEVICE_ADDED ThinkPad Extra Buttons
seat0 default group10 cap:k
-event4 POINTER_MOTION +0.000s -0.31/ -0.31 (
-1.00/ -1.00)
event4 POINTER_MOTION 2 +0.009s -9.41/ -9.41 (
-3.00/ -3.00)
event4 POINTER_MOTION 3 +0.019s -5.55/ -8.32 (
-2.00/ -3.00)
event4 POINTER_MOTION 4 +0.029s -4.51/ -4.51 (
-2.00/ -2.00)
event4 POINTER_MOTION 5 +0.049s -0.80/ -0.80 (
-1.00/ -1.00)
event4 POINTER_MOTION 6 +0.058s 0.00/ -1.00 (
+0.00/ -1.00)
event4 POINTER_MOTION 7 +0.068s 0.00/ 1.00 (
+0.00/ +1.00)
event4 POINTER_BUTTON +1.889s BTN_LEFT (272)
pressed, seat count: 1
event4 POINTER_BUTTON +2.026s BTN_LEFT (272)
released, seat count: 0
sudo dmesg | grep -i -E "psmouse|trackpoint|elan|input":
[ 0.712414] input: Sleep Button as
/devices/platform/PNP0C0E:00/input/input0
[ 0.712517] input: Lid Switch as
/devices/platform/PNP0C0D:00/input/input1
[ 0.712535] input: Power Button as
/devices/platform/LNXPWRBN:00/input/input2
[ 1.007578] input: AT Translated Set 2 keyboard as
/devices/platform/i8042/serio0/input/input3
[ 1.284865] psmouse serio1: trackpoint: Elan TrackPoint
firmware: 0xa1, buttons: 3/3
[ 1.309768] input: TPPS/2 Elan TrackPoint as
/devices/platform/i8042/serio1/input/input5
[ 2.160064] input: ELAN0676:00 04F3:3195 Mouse as
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0676:00/0018:04F3:3195.0001/input/input6
[ 2.160228] input: ELAN0676:00 04F3:3195 Touchpad as
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0676:00/0018:04F3:3195.0001/input/input8
[ 2.160285] hid-generic 0018:04F3:3195.0001: input,hidraw0: I2C
HID v1.00 Mouse [ELAN0676:00 04F3:3195] on i2c-ELAN0676:00
[ 2.232543] input: RAYD0001:00 2386:4B48 Touchscreen as
/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-RAYD0001:00/0018:2386:4B48.0002/input/input9
[ 2.232641] hid-generic 0018:2386:4B48.0002: input,hidraw1: I2C
HID v1.00 Device [RAYD0001:00 2386:4B48] on i2c-RAYD0001:00
[ 2.356491] input: ELAN0676:00 04F3:3195 Mouse as
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0676:00/0018:04F3:3195.0001/input/input11
[ 2.356652] input: ELAN0676:00 04F3:3195 Touchpad as
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0676:00/0018:04F3:3195.0001/input/input13
[ 2.356803] hid-multitouch 0018:04F3:3195.0001: input,hidraw0:
I2C HID v1.00 Mouse [ELAN0676:00 04F3:3195] on i2c-ELAN0676:00
[ 2.388505] input: RAYD0001:00 2386:4B48 as
/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-RAYD0001:00/0018:2386:4B48.0002/input/input14
[ 2.388562] hid-multitouch 0018:2386:4B48.0002: input,hidraw1:
I2C HID v1.00 Device [RAYD0001:00 2386:4B48] on i2c-RAYD0001:00
[ 2.520171] input: ThinkPad Extra Buttons as
/devices/platform/thinkpad_acpi/input/input16
[ 3.057098] input: Video Bus as
/devices/pci0000:00/acpi.video_bus.0/input/input17
[ 87.858014] input: Intel HID events as
/devices/platform/INTC1051:00/input/input18
[ 88.311777] input: PC Speaker as
/devices/platform/pcspkr/input/input19
[ 91.694203] snd_hda_codec_alc269 ehdaudio0D0: inputs:
[ 91.767147] input: sof-hda-dsp Mic as
/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input20
[ 91.767353] input: sof-hda-dsp Headphone as
/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input21
[ 91.767490] input: sof-hda-dsp HDMI/DP,pcm=3 as
/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input22
[ 91.767646] input: sof-hda-dsp HDMI/DP,pcm=4 as
/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23
[ 91.767802] input: sof-hda-dsp HDMI/DP,pcm=5 as
/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
cat /sys/class/dmi/id/modalias:
dmi:bvnLENOVO:bvrN35ET66W(1.66):bd05/18/2026:br1.66:efr1.46:svnLENOVO:pn20WNS1B010:pvrThinkPadT14sGen2i:rvnLENOVO:rn20WNS1B010:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_20WN_BU_Think_FM_ThinkPadT14sGen2i:pfaThinkPadT14sGen2i:
Best Regards,
Robert
reply other threads:[~2026-10-22 10:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6bf6c3eb-a142-4f11-92a7-bea7bc715010@gmail.com \
--to=bezrabotni@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®