Hacker News new | ask | show | jobs
by legulere 3216 days ago
Couldn't this be processed directly in the touchpad controller, which probably contains a microcontroller nowadays anyway?
2 comments

Can 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.
A 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.

Remember 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.
True. And for some kinds of work, input latency probably becomes noticeable on a subconscious level quicker than one would guess.
It'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.
Indeed; 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.)
Try using a tablet, or even Photoshop, through a 5 Hz synergy connection