I got a Thinkpad A275 which has a trackpad and a trackpoint. Pressing the trackpoint buttons is only recognized as "click" and not for the time being pressed. xev shows ButtonReleased immediately after ButtonPressed, so it's impossible to mark text or scroll via the middle button. A workaround is to add proto=exps which disables some features. psmouse.synaptics_intertouch does not to have an effect on this issue. dmesg for broken state: [ 12.770054] psmouse serio1: synaptics: queried max coordinates: x [..5712], y [..4780] [ 12.803675] psmouse serio1: synaptics: queried min coordinates: x [1232..], y [1074..] [ 12.803685] psmouse serio1: synaptics: Your touchpad (PNP: LEN2053 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org. [ 12.860351] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.16, id: 0x1e2b1, caps: 0xf40aa3/0x943300/0x12e800/0x410000, board id: 3075, fw id: 2622508 [ 12.860365] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 [ 12.900909] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input10 [ 12.916804] mousedev: PS/2 mouse device common for all mice [ 13.593833] psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3 [ 13.816399] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input20 xinput: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
I have this exact laptop and suffer from this exact same bug. The proto=exps allows the buttons to work fine and they no longer immediately generate a Release event in XEV regardless of how long they're held, but the TrackPad loses two finger scrolling, and xinput no longer recognizes the Trackpoint as a pointing device. I have kernel version 5.4.14-2-default on OpenSUSE Tumbleweed at the moment.