I am using a Thinkpad and try to get into the habit of using an external keyboard, which also has a Trackpoint.
With the internal keyboard, I can use the middle mouse button to click (e.g. paste, or open link in new tab), but if I hold the middle button and move the Trackpoing, I am scrolling.
For the external keyboard, I am observing that scrolling works, but it also often (not always) issues a click event, and suddenly my editor is full of pasted stuff
The xinput properties seem to be set the same:
Internal:
~ $ xinput list-props 16
Device 'TPPS/2 Elan TrackPoint': Device Enabled (188): 1 Coordinate Transformation Matrix (190): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (325): 0 libinput Natural Scrolling Enabled Default (326): 0 libinput Scroll Methods Available (327): 0, 0, 1 libinput Scroll Method Enabled (328): 0, 0, 1 libinput Scroll Method Enabled Default (329): 0, 0, 1 libinput Button Scrolling Button (330): 2 libinput Button Scrolling Button Default (331): 2 libinput Button Scrolling Button Lock Enabled (332): 0 libinput Button Scrolling Button Lock Enabled Default (333): 0 libinput Middle Emulation Enabled (358): 1 libinput Middle Emulation Enabled Default (359): 0 libinput Accel Speed (334): -0.500000 libinput Accel Speed Default (335): 0.000000 libinput Accel Profiles Available (336): 1, 1 libinput Accel Profile Enabled (337): 1, 0 libinput Accel Profile Enabled Default (338): 1, 0 libinput Left Handed Enabled (339): 0 libinput Left Handed Enabled Default (340): 0 libinput Send Events Modes Available (310): 1, 0 libinput Send Events Mode Enabled (311): 0, 0 libinput Send Events Mode Enabled Default (312): 0, 0 Device Node (313): "/dev/input/event9" Device Product ID (314): 2, 10 libinput Drag Lock Buttons (341): <no items> libinput Horizontal Scroll Enabled (342): 1 libinput Scrolling Pixel Distance (343): 15 libinput Scrolling Pixel Distance Default (344): 15External
~ $ xinput list-props 18
Device 'Lenovo TrackPoint Keyboard II Mouse': Device Enabled (188): 1 Coordinate Transformation Matrix (190): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (325): 0 libinput Natural Scrolling Enabled Default (326): 0 libinput Scroll Methods Available (327): 0, 0, 1 libinput Scroll Method Enabled (328): 0, 0, 1 libinput Scroll Method Enabled Default (329): 0, 0, 0 libinput Button Scrolling Button (330): 2 libinput Button Scrolling Button Default (331): 2 libinput Button Scrolling Button Lock Enabled (332): 0 libinput Button Scrolling Button Lock Enabled Default (333): 0 libinput Middle Emulation Enabled (358): 1 libinput Middle Emulation Enabled Default (359): 0 libinput Accel Speed (334): -0.500000 libinput Accel Speed Default (335): 0.000000 libinput Accel Profiles Available (336): 1, 1 libinput Accel Profile Enabled (337): 1, 0 libinput Accel Profile Enabled Default (338): 1, 0 libinput Left Handed Enabled (339): 0 libinput Left Handed Enabled Default (340): 0 libinput Send Events Modes Available (310): 1, 0 libinput Send Events Mode Enabled (311): 0, 0 libinput Send Events Mode Enabled Default (312): 0, 0 Device Node (313): "/dev/input/event19" Device Product ID (314): 6127, 24814 libinput Drag Lock Buttons (341): <no items> libinput Horizontal Scroll Enabled (342): 1 libinput Scrolling Pixel Distance (343): 15 libinput Scrolling Pixel Distance Default (344): 15Where else should I look? Is this “Customer Control” device relevant?
~ $ xinput list-props 20
Device 'Lenovo TrackPoint Keyboard II Consumer Control': Device Enabled (188): 1 Coordinate Transformation Matrix (190): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (325): 0 libinput Natural Scrolling Enabled Default (326): 0 libinput Send Events Modes Available (310): 1, 0 libinput Send Events Mode Enabled (311): 0, 0 libinput Send Events Mode Enabled Default (312): 0, 0 Device Node (313): "/dev/input/event21" Device Product ID (314): 6127, 24814 libinput Drag Lock Buttons (341): <no items> libinput Horizontal Scroll Enabled (342): 1 1 1 Answer
Turns out this was a bug in the Linux Kernel, fixed by a patch by José Expósito which which is part of the Linux 5.19 release.