[Bug 1013647] dell 7470 - trackpoint issues
http://bugzilla.opensuse.org/show_bug.cgi?id=1013647
http://bugzilla.opensuse.org/show_bug.cgi?id=1013647#c17
--- Comment #17 from Martin Wilck
No, I haven't. I can't find POINTINGSTICK_CONST_ACCEL in the kernel though, are you sure the rule actually does something?
In any case, the problem is not the acceleration. That we can compensate for at any level we like. The real problem is that we don't get minute movements at all. And this is a problem of either:
Well, it's true that the kernel driver hardly ever returns relative movements with absoute value (sqrt(x^2+y^2)) below 7. This is a evtest log of me moving the stick to the right as slightly as I can: Event: time 1484768880.233122, type 2 (EV_REL), code 0 (REL_X), value 7 Event: time 1484768880.233122, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.233122, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 7 Event: time 1484768880.233122, -------------- SYN_REPORT ------------ Event: time 1484768880.246199, type 2 (EV_REL), code 0 (REL_X), value 7 Event: time 1484768880.246199, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.246199, -------------- SYN_REPORT ------------ Event: time 1484768880.259294, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0 Event: time 1484768880.259294, -------------- SYN_REPORT ------------ Event: time 1484768880.298538, type 2 (EV_REL), code 0 (REL_X), value 7 Event: time 1484768880.298538, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.298538, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 8 Event: time 1484768880.298538, -------------- SYN_REPORT ------------ Event: time 1484768880.311368, type 2 (EV_REL), code 0 (REL_X), value 10 Event: time 1484768880.311368, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.311368, -------------- SYN_REPORT ------------ Event: time 1484768880.324468, type 2 (EV_REL), code 0 (REL_X), value 10 Event: time 1484768880.324468, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.324468, -------------- SYN_REPORT ------------ Event: time 1484768880.337133, type 2 (EV_REL), code 0 (REL_X), value 10 Event: time 1484768880.337133, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.337133, -------------- SYN_REPORT ------------ Event: time 1484768880.350792, type 2 (EV_REL), code 0 (REL_X), value 11 Event: time 1484768880.350792, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.350792, -------------- SYN_REPORT ------------ Event: time 1484768880.363019, type 2 (EV_REL), code 0 (REL_X), value 11 Event: time 1484768880.363019, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.363019, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 7 Event: time 1484768880.363019, -------------- SYN_REPORT ------------ Event: time 1484768880.375628, type 2 (EV_REL), code 0 (REL_X), value 11 Event: time 1484768880.375628, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.375628, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 5 Event: time 1484768880.375628, -------------- SYN_REPORT ------------ Event: time 1484768880.389370, type 2 (EV_REL), code 0 (REL_X), value 8 Event: time 1484768880.389370, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.389370, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3 Event: time 1484768880.389370, -------------- SYN_REPORT ------------ Event: time 1484768880.401547, type 2 (EV_REL), code 0 (REL_X), value 7 Event: time 1484768880.401547, type 2 (EV_REL), code 1 (REL_Y), value -2 Event: time 1484768880.401547, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 1 Event: time 1484768880.401547, -------------- SYN_REPORT ------------ Event: time 1484768880.415215, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0 Event: time 1484768880.415215, -------------- SYN_REPORT ------------ The maximum value for the relative movement, when I push the stick hard, is 127. That means the ratio between max and min movement is ~8. If I set POINTINGSTICK_CONST_ACCEL really low (0.1), I can create almost single-pixel movements ("xinput test" output for a movement to the right below): motion a[0]=2583 a[1]=1224 motion a[0]=2583 a[1]=1224 motion a[0]=2584 a[1]=1224 motion a[0]=2584 a[1]=1224 motion a[0]=2584 a[1]=1225 motion a[0]=2585 a[1]=1225 motion a[0]=2585 a[1]=1225 But with this setting the pointer is SLOOOW even at large pressure, it takes almost 12s to move the pointer from one edge of my screen to the other (~4000 pixels). Conclusion: the variation from the smallest (7) to largest (127) movement value reported by the kernel is too small to utilize the full libinput accelleration profile.
1. Bad hardware - which we can exclude if the problem does not occur on Windows (can anybody test this?),
Very good point. Unfortunately, I can't.
2. The driver not handling this new hardware as it needs to - because it hasn't been reverse engineered or implemented yet, or 3. A bug in the driver, or a clash with a workaround for old (jittery?) hardware.
Maybe upstream can help somehow? -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com