Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • L libinput
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 184
    • Issues 184
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • libinput
  • libinput
  • Issues
  • #753
Closed (duplicated) (duplicated)
Open
Issue created Apr 04, 2022 by Joachim Breitner@nomeata

External keyboard’s Trackpoint middle button clicks even when scrolling

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, 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.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking