CyPS/2 Cypress Trackpad in gentoo and how to re-enable middle click (paste).
Date: October 23, 2013
So work has given me a new shiny Dell System XPS L322X (the ubuntu dev model) which i quickly installed gentoo on (personal preference). When i went to go and paste something using the Cypress two button track pad, it did not work.
damn.
Here is the fix:
first things first, lets make sure that your kernel settings are correct.
Device Drivers --->
Input device support --->
[*] Mice --->
[*] Cypress PS/2 mouse protocol extension
now lets check our settings using xinput:
% xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ CyPS/2 Cypress Trackpad 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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
as we can see, our device is #12, so lets list props on #12:
% xinput --list-props 12
Device 'CyPS/2 Cypress Trackpad':
Device Enabled (132): 1
Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (256): 1
Device Accel Constant Deceleration (257): 2.500000
Device Accel Adaptive Deceleration (258): 1.000000
Device Accel Velocity Scaling (259): 12.500000
Synaptics Edges (260): 64, 1536, 48, 852
Synaptics Finger (261): 25, 30, 0
Synaptics Tap Time (262): 180
Synaptics Tap Move (263): 80
Synaptics Tap Durations (264): 180, 180, 100
Synaptics ClickPad (265): 1
Synaptics Middle Button Timeout (266): 0
Synaptics Two-Finger Pressure (267): 282
Synaptics Two-Finger Width (268): 112
Synaptics Scrolling Distance (269): 36, 36
Synaptics Edge Scrolling (270): 0, 0, 0
Synaptics Two-Finger Scrolling (271): 1, 0
Synaptics Move Speed (272): 1.000000, 1.750000, 0.108992, 0.000000
Synaptics Off (273): 0
Synaptics Locked Drags (274): 0
Synaptics Locked Drags Timeout (275): 5000
Synaptics Tap Action (276): 0, 0, 0, 0, 0, 0, 0
Synaptics Click Action (277): 1, 1, 1
Synaptics Circular Scrolling (278): 0
Synaptics Circular Scrolling Distance (279): 0.100000
Synaptics Circular Scrolling Trigger (280): 0
Synaptics Palm Detection (281): 0
Synaptics Palm Dimensions (282): 160, 200
Synaptics Coasting Speed (283): 20.000000, 50.000000
Synaptics Pressure Motion (284): 30, 160
Synaptics Pressure Motion Factor (285): 1.000000, 1.000000
Synaptics Grab Event Device (286): 1
Synaptics Gestures (287): 1
Synaptics Capabilities (288): 1, 1, 1, 1, 1, 1, 1
Synaptics Pad Resolution (289): 15, 16
Synaptics Area (290): 0, 0, 0, 0
Synaptics Soft Button Areas (291): 800, 0, 738, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (292): 9, 9
Device Product ID (250): 2, 17
Device Node (251): "/dev/input/event6"
AHH – you see it ??
Synaptics Middle Button Timeout (266): 0
lets change that to 1:
xinput --set-prop 12 "Synaptics Middle Button Timeout" 1
now restart X and Voila!! all done.
You may be interested in this:
https://www.happyassassin.net/2014/03/20/the-dell-xps-13-trackpad-cypress-and-linux-synaptics/
the ‘middle click timeout’ is 0 because it’s being treated as a clickpad, but due to the ‘special’ behaviour of this particular clickpad, it’s best to configure X not to treat it as one. Through xinput the property to set is:
xinput –set-prop 12 “Synaptics ClickPad” 0
but doing it on the fly won’t re-set the middle button emulation timeout, so you do have to change that too (it’s an integer number of milliseconds, so you might want something like 75 (the default value) or 100 rather than 1). If you write an xorg.conf snippet which sets the clickpad property to 0, though – like the one in my post – the middle button emulation timeout will be set to 75 on X startup, and middle button emulation will work.
HTH!