You are not logged in.
I'd post this somewhere specific to synaptics as a suggestion or feedback, but I don't know where to find that! So, I'll just post it here and see what you guys think (and maybe you'll know where I go to provide feedback to the devs).
As I'm configuring the synpatics driver, my goal is to get it as specific as possible for my usage (using realtime monitoring and changing of variables with synclient). This way it's less error prone (e.g., cursor skipping around while typing) and overall performs better.
With that in mind, my suggestion is to have an option for configuring independent hysteresis pressure values for tapping. Currently, the driver determins if you're tapping with the following process (except for the position is x and y, so they have to use the distance formula):
User presses touchpad.
Touchpad pressure goes above the FingerHigh at time t_0 and position x_0.
User starts to release the touchpad.
Touchpad pressure drops below FingerLow at time t_1 and position x_1.
If t_1 - t_0 <= MaxTapTime and x_1 - x_0 <= MaxTapMove, then it was a tap.
The problem with this is that FingerHigh and FingerLow are also applicable for regular cursor movement, without tapping. For me, I use less pressure when simply moving the cursor around, and I use more for tapping. I would imagine it's similar for everybody. To prove the point, here's some data from synclient of me tapping (the z column is pressure):
[whef@arch ~]$ synclient -m 1
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 1441 501 0 0 0 0 0 0 0 0 00000000
1.252 1996 1293 29 1 3 0 0 0 0 0 00000000
1.261 1996 1293 31 1 3 0 0 0 0 0 00000000
1.272 1996 1293 15 1 2 0 0 0 0 0 00000000
1.283 1985 1296 3 1 0 0 0 0 0 0 00000000
1.296 1985 1296 0 0 0 0 0 0 0 0 00000000
2.216 2024 1366 24 1 2 0 0 0 0 0 00000000
2.226 2024 1366 22 1 2 0 0 0 0 0 00000000
2.235 2024 1366 12 1 2 0 0 0 0 0 00000000
2.245 2024 1366 4 1 2 0 0 0 0 0 00000000
2.254 2024 1366 0 0 2 0 0 0 0 0 00000000
3.231 2006 1331 29 1 2 0 0 0 0 0 00000000
3.241 2006 1331 29 1 3 0 0 0 0 0 00000000
3.251 2001 1325 29 1 3 0 0 0 0 0 00000000
3.262 2001 1325 27 1 3 0 0 0 0 0 00000000
3.274 2001 1318 11 1 3 0 0 0 0 0 00000000
3.287 2001 1318 0 0 3 0 0 0 0 0 00000000
3.395 1934 1295 32 1 3 0 0 0 0 0 00000000
3.405 1928 1294 32 1 3 0 0 0 0 0 00000000
3.415 1928 1294 29 1 3 0 0 0 0 0 00000000
time x y z f w l r u d m multi gl gm gr gdx gdy
3.425 1935 1300 3 1 3 0 0 0 0 0 00000000
3.439 1935 1300 0 0 3 0 0 0 0 0 00000000
5.284 2053 1426 27 1 2 0 0 0 0 0 00000000
5.295 2053 1426 28 1 2 0 0 0 0 0 00000000
5.306 2053 1426 25 1 2 0 0 0 0 0 00000000
5.316 2053 1426 20 1 2 0 0 0 0 0 00000000
5.328 2047 1438 3 1 2 0 0 0 0 0 00000000
5.341 2047 1438 0 0 2 0 0 0 0 0 00000000
^C
[whef@arch ~]$
And here's some data from normally moving the cursor:
[whef@arch ~]$ synclient -m 1
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 2294 613 0 0 0 0 0 0 0 0 00000000
1.052 1866 1362 24 1 2 0 0 0 0 0 00000000
1.061 1876 1355 23 1 2 0 0 0 0 0 00000000
1.071 1885 1351 24 1 2 0 0 0 0 0 00000000
1.081 1896 1346 23 1 3 0 0 0 0 0 00000000
1.091 1921 1332 23 1 3 0 0 0 0 0 00000000
1.104 1953 1314 24 1 3 0 0 0 0 0 00000000
1.116 1984 1293 24 1 2 0 0 0 0 0 00000000
1.129 2013 1276 24 1 2 0 0 0 0 0 00000000
1.142 2048 1261 24 1 3 0 0 0 0 0 00000000
1.154 2066 1255 24 1 3 0 0 0 0 0 00000000
1.168 2102 1243 24 1 2 0 0 0 0 0 00000000
1.179 2135 1231 23 1 2 0 0 0 0 0 00000000
1.192 2168 1217 24 1 3 0 0 0 0 0 00000000
1.204 2209 1205 25 1 3 0 0 0 0 0 00000000
1.217 2255 1185 22 1 3 0 0 0 0 0 00000000
1.230 2300 1164 23 1 3 0 0 0 0 0 00000000
1.242 2351 1148 24 1 3 0 0 0 0 0 00000000
1.255 2409 1128 21 1 2 0 0 0 0 0 00000000
1.269 2457 1114 22 1 2 0 0 0 0 0 00000000
time x y z f w l r u d m multi gl gm gr gdx gdy
1.280 2483 1110 23 1 3 0 0 0 0 0 00000000
1.293 2533 1106 21 1 3 0 0 0 0 0 00000000
1.307 2582 1103 19 1 2 0 0 0 0 0 00000000
1.318 2621 1104 23 1 2 0 0 0 0 0 00000000
1.331 2652 1105 24 1 2 0 0 0 0 0 00000000
1.345 2680 1120 26 1 3 0 0 0 0 0 00000000
1.357 2710 1136 23 1 3 0 0 0 0 0 00000000
1.369 2744 1158 23 1 2 0 0 0 0 0 00000000
1.383 2776 1182 22 1 2 0 0 0 0 0 00000000
1.395 2806 1211 23 1 3 0 0 0 0 0 00000000
1.407 2830 1251 21 1 2 0 0 0 0 0 00000000
1.420 2860 1292 21 1 3 0 0 0 0 0 00000000
1.433 2875 1314 20 1 3 0 0 0 0 0 00000000
1.445 2903 1357 21 1 3 0 0 0 0 0 00000000
1.458 2926 1406 19 1 2 0 0 0 0 0 00000000
1.471 2946 1451 17 1 2 0 0 0 0 0 00000000
1.484 2960 1492 15 1 2 0 0 0 0 0 00000000
1.496 2966 1534 7 1 2 0 0 0 0 0 00000000
1.509 2959 1586 1 1 2 0 0 0 0 0 00000000
1.523 2959 1586 0 0 2 0 0 0 0 0 00000000
^C
[whef@arch ~]$
As you can see, tapping uses about 20-30, while moving is 10-25. You guys are probably thinking "That's not that big of a difference," and won't really care, but I was annoyed by it; as an avid Arch fan I love to configure everything exactly as I use it.
Offline