I’m playing around with blender tutorials, trying to understand how to make some simple 3d models. The way you move the 3d view port around is by holding in the middle mouse button and moving the mouse around. This is blocked by a default setting in X for my thinkpad that causes middle click drag to emulate a mouse wheel for scrolling.
Here is how you list out all the connected input devices:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)]
It’s the TrackPoint I’m interested in, the list-props option will list out all the properties:
$ xinput --list-props 12
Device 'TPPS/2 IBM TrackPoint':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (284): 0.000000
libinput Accel Speed Default (285): 0.000000
libinput Accel Profiles Available (302): 1, 1
libinput Accel Profile Enabled (303): 1, 0
libinput Accel Profile Enabled Default (304): 1, 0
libinput Natural Scrolling Enabled (286): 0
libinput Natural Scrolling Enabled Default (287): 0
libinput Send Events Modes Available (261): 1, 0
libinput Send Events Mode Enabled (262): 0, 0
libinput Send Events Mode Enabled Default (263): 0, 0
libinput Left Handed Enabled (288): 0
libinput Left Handed Enabled Default (289): 0
libinput Scroll Methods Available (290): 0, 0, 1
libinput Scroll Method Enabled (291): 0, 0, 1
libinput Scroll Method Enabled Default (292): 0, 0, 1
libinput Button Scrolling Button (305): 2
libinput Button Scrolling Button Default (306): 2
libinput Middle Emulation Enabled (296): 0
libinput Middle Emulation Enabled Default (297): 0
Device Node (264): "/dev/input/event2"
Device Product ID (265): 2, 10
libinput Drag Lock Buttons (300): <no items>
libinput Horizontal Scroll Enabled (301): 1
This is the property I’m interested in:
input Scroll Method Enabled Default (292): 0, 0, 1
Running this command will disable this feature:
$ xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Scroll Method Enabled" 0 0 0
I’ve put this in my .bashrc to have it run on login.