HN2new | past | comments | ask | show | jobs | submitlogin

Not knowing how any of this works, I think best would be having a driver that translates the raw signals into an intermediate, near-native form, i.e. basically provide a standard range X-Y-Z vector (z for Pointer intensity) with good enough (very high) resolution per touch point. Single-Touch devices will only ever get one touch point, those that have no concept of intensity will have a constant or binary Z value. Those measuring pointer-size can set the Z-value accordingly (that‘s how I think intensity is measured anyway).

Then allow per-device configs with (basically) calibration curves. Allow for different kinds of curves (discrete value interpolation, Bezier, you name it). This enables the driver to support a lot of different devices. Bonus points if the driver can tell the firmware about the calibrations (I‘d bet quite a few touchpads have their own logic built-in).

Also the driver must support some curve and noise dampening as well as progressive acceleration (basically inflating calibrated numbers with higher speed of moving touch points and rapid succession of the same gesture) and thus also understand some „higher level“ gesture logic, e.g. to properly support the right feeling for touchpad scrolling as Macs do.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: