mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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®