mathew davis wrote:
<snip>
    * The output is the center of the bounding box of the touched area
    * The touch point skips instantly on double touch
    * Pressure has almost no effect on a single touch, but not so on a
      double touch. The relative pressures will cause a significant
      skewing effect towards the harder touch. You can easily move the
      pointer along the line between your two fingers by changing the
relative pressure. So my question now is do we have access to the bounding box? If we can get at the coordinates of the bounding box can we not figure out if the bounding box is shrinking or growing? The iphone has a camera which


Ok - I wrote the above, and it could do with some clarification.
The 'center of the bounding box' is the only thing the current hardware has access to. It is 'computed' solely in the resistances of the touchscreen, not externally. Pressing harder with one finger than the other, or pressing over a larger area gives a (possibly slightly, possibly greatly, depending on design) skew towards the area with the higher contact pressure * area. (And it may not be as simple as contact pressure*area, it probably hits a limit at a small pressure)
When measuring the touch position this is basically what is done.

The screen is composed of two resistive layers, one flexible plastic, one glass, with linear electrodes on the X or Y axes (parallel electrodes on the same layer).

Connect X+ and X- to battery + and -.

This now creates a voltage gradient vertically across the screen - say 0V at the bottom, and 1V at the top. Now, when someone presses the screen at a point, this is connected to the 'Y' electrodes, and the voltage (say 0.5V) can be read out and converted into 'X=320'. (repeat for Y+ Y- and an X for other axes)

If the screen is pressed over multiple points, or areas, it's a little more complex. You have now current flowing in addition to through the X layer, flowing parallel to the X layer, through the Y layer - this will distort the nice smooth gradient, and make it so that instead of rising smoothly from 0 to 1V as you go up the display, it rises half as steeply over the touched area.
This assumes that the contact resistance is zero though, and it's not.
As the resistance at a touch point drops, the sensed point moves towards that point,

A not-terrible mechanical analogy is to take a hacksaw blade, and put it on a towel. pressing (gently) on it on it at several points will (usually) make only one point furthest down.

_______________________________________________
OpenMoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to