5 ms·
I think there might be. If your polling is not frequent enough, then if you observed a finger touch disappear from one spot and appear at another spot, you have
by rcthompson 9y ago
I think there might be. If your polling is not frequent enough, then if you observed a finger touch disappear from one spot and appear at another spot, you have no way to know whether the finger moved there in the span of one polling period or if the finger was lifted and a second finger placed at the new location during that polling period. So a high polling rate might be essential to disambiguate cases like this, especially for many-finger multi-touch situations.
- legulere 9y agoCouldn't this be processed directly in the touchpad controller, which probably contains a microcontroller nowadays anyway?
- derefr 9y agoIndeed; in fact, that microcontroller could conceivably do the same thing programs like Synergy do with the input events: namely, converting them into a stream of bezier-curve-based gesture-motion events and reporting those to the OS. I can't imagine you'd need to report those at more than 5Hz or so (Synergy manages to have smooth multitouch movement across a LAN just fine with an even-lower update rate.)
- brians 9y agoTry using a tablet, or even Photoshop, through a 5 Hz synergy connection
- TheAceOfHearts 9y agoCan you clarify which part you think could be handled by the touchpad's microcontroller? In order to implement modern gestures and interactions you need full access to all input events, otherwise you'd lose the ability to customize or adequately handle changes to context.
- khedoros1 9y agoA finger touching and leaving would be a high-priority event for the controller to output, and it should probably internally monitor events at a high resolution. For position, as reported to the OS: what use would actually need a report every 2 milliseconds? Intuitively, I'd think that motions that matter wouldn't need that many datapoints to reliably differentiate.
- mjg59 9y agoRemember that 500 interrupts per second isn't the same as a report every 2 milliseconds - reading status from a device may involve more than one interrupt.
- khedoros1 9y agoTrue. And for some kinds of work, input latency probably becomes noticeable on a subconscious level quicker than one would guess.
- ghusbands 9y agoIt's often used to compensate for the fact that you want an up-to-date reading at arbitrary points within a frame. If you only update once per frame, and some code reads the position just before that every frame, that's going to give a full extra frame of lag, rather than just an extra 2ms.
- ghusbands 9y agoHumans can't lift and replace a finger in the 17ms that even a 60Hz polling rate would give, so no, this isn't the reason.
- rcthompson 9y agoYou can lift one finger and place another finger quickly enough to fool some older touchpads. I was able to do it fairly consistently with my old Dell laptop.
- mdwrigh2 9y agoThat's not necessarily because you could do it in a single frame; a lot of the old touch controllers would maintain high levels of hysteresis as a really crude technique to mitigate low SNR. Couple that with a fairly dumb implementation of pointer tracking and you end up easily fooling touchpad into thinking the two pointers are the same. Note also that this is a much rarer and more user-friendly failure scenario than choosing to have the software err in the other direction (erroneously splitting a moving finger into two separate pointers, one of which may look like a tap gesture). Source: I occasionally work with touchscreens, many of which experienced the same issue in early devices.