External keyboard’s Trackpoint middle button clicks even when scrolling

Peter Hutterer peter.hutterer at who-t.net
Mon Apr 4 04:19:17 UTC 2022


On Sun, Apr 03, 2022 at 11:52:48AM +0200, Joachim Breitner wrote:
> Dear list,
> 
> maybe someone can help me debug this issue:
> 
> 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.

file a bug against libinput please. libinput pairs the trackpoint with
internal keyboards but if you also have the external keyboard with the
trackpoint, most likely the pairing isn't set up correctly. It should work if
you jused used that but you're probably the first user to have two trackpoints
so some heuristic just isn't up to scratch. Should be fixable.

Cheers,
  Peter


> 
> The xinput properties seem to be set the same, though.
> 
> 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):    15
> 
> External
> 
> ~ $ 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):    15
> 
> Where 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
> 
> Here is the full list of devices:
> 
> ~ $ xinput 
> ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
> ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
> ⎜   ↳ ELAN0672:00 04F3:3187 Mouse             	id=11	[slave  pointer  (2)]
> ⎜   ↳ ELAN0672:00 04F3:3187 Touchpad          	id=12	[slave  pointer  (2)]
> ⎜   ↳ TPPS/2 Elan TrackPoint                  	id=16	[slave  pointer  (2)]
> ⎜   ↳ Lenovo TrackPoint Keyboard II Mouse     	id=19	[slave  pointer  (2)]
> ⎜   ↳ Lenovo TrackPoint Keyboard II Consumer Control	id=20	[slave  pointer  (2)]
> ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
>     ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
>     ↳ Video Bus                               	id=6	[slave  keyboard (3)]
>     ↳ Power Button                            	id=7	[slave  keyboard (3)]
>     ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
>     ↳ Integrated Camera: Integrated C         	id=9	[slave  keyboard (3)]
>     ↳ Integrated Camera: Integrated I         	id=10	[slave  keyboard (3)]
>     ↳ Intel HID events                        	id=14	[slave  keyboard (3)]
>     ↳ AT Translated Set 2 keyboard            	id=15	[slave  keyboard (3)]
>     ↳ ThinkPad Extra Buttons                  	id=17	[slave  keyboard (3)]
>     ↳ sof-hda-dsp Headset Jack                	id=13	[slave  keyboard (3)]
>     ↳ Lenovo TrackPoint Keyboard II           	id=18	[slave  keyboard (3)]
>     ↳ Lenovo TrackPoint Keyboard II Consumer Control	id=21	[slave  keyboard (3)]
>     ↳ Lenovo TrackPoint Keyboard II System Control	id=22	[slave  keyboard (3)]
> 
> Some version information:
> 
> ~ $ xinput --version
> xinput version 1.6.3
> XI version on server: 2.3
> 
> ~ $ X -version
> 
> X.Org X Server 1.20.13
> X Protocol Version 11, Revision 0
> Build Operating System: Nix 
> Current Operating System: Linux riviera 5.10.103 #1-NixOS SMP Wed Mar 2
> 10:42:57 UTC 2022 x86_64
> Kernel command line:
> initrd=\efi\nixos\6n6jb9d3g8f7ip8gkkl2570aqs3jf2pq-initrd-linux-
> 5.10.103-initrd.efi init=/nix/store/zx6ivw26z2k0yvw79hp0ps06nld2970m-
> nixos-system-riviera-21.11.336340.2ebb6c1e5ae/init loglevel=4
> Build Date: 29 July 2021  06:48:50PM
>  
> Current version of pixman: 0.38.4
> 	Before reporting problems, check http://wiki.x.org
> 	to make sure that you have the latest version.
> 
> Thanks a lot!
> 
> Joachim
> 
> 
> -- 
> Joachim Breitner
>   mail at joachim-breitner.de
>   http://www.joachim-breitner.de/
> 


More information about the xorg mailing list