views:

476

answers:

4

I'm not sure, but maybe there's a way to determine the finger pressure on the iPhone screen? I know it has no pressure sensors, but it could be somehow calculated from the touch "footprint", if it was accessible in some way.

+2  A: 

The touch detection on the iPhone does not work with pressure but with capacitance afaik, so not directly. There might be ways of detecting the shape/area covered and then deducing pressure from that, though it would involve so many assumptions it's unlikely to be very accurate.

rhess
Yeah just pushing on my desk, it seems the difference in area between 'light touch' and putting all my weight on my finger, is very tiny. Probably not doable with any sort of accuracy with a window of only a few pixels.
whatsisname
+1  A: 

Since P = F*A (P being pressure, F being force, A being area);

you could find some relation between the force someone pushes the screen with, and the area of the "footprint" (i'd use a circle's radius to approximate), you could eliminate force from the equation. Then the pressure would only depend on the radius of the "footprint."

As ress mentioned, there will be a number of assumptions in determining the F(A) (force as a function of "fingerprint" area) function. Some of the obvious ones being skin elasticity and unstressed finger size.

edit: also the angle someone pushes their finger on the screen will obviously be another factor. I wouldn't expect too much accuracy out of this method...

Also, since the touch technology is based on capacitance, it's either "on" or "off" states with no regard to pressures. Resistive touch would allow for pressure detection.

Janie
And you could include a calibration sequence, instead of prematurely assuming such values that differ in people.
Dunya Degirmenci
when I can't get the "footprint", the equation makes no sense ;) unfortunately it delivers only a point. No radius or anything else...right?
Thanks
Yes, unfortunately my analysis was based on an extended shape, not a point.
Janie
+2  A: 

In the default SDK you are not given a touch area, but a point.

At first this seems less useful but the iPhone is doing a lot of work to determine where a user really means to press, based on the shape it sees. An interesting side effect is that if you try to use the iPhone upside down, it's not nearly as good at registering touches.

Using jailbroken libraries it may be possible to read the more raw touch data, but I've not seen any mention of that.

Kendall Helmstetter Gelner
exactly, it's a point and you dont get access to any area data.
John Ballinger
+2  A: 

Like @kendall said. You only get a point.

I would suggest that you do not look at pressure but you look at duration of the touch. This way you could translate this into increased pressure. Eg if you were making a painting application, the longer you hold your finger in one place the large the blob would appear compared to when moving your finger quickly to create a thin line.

Cheers, John,

John Ballinger
I think duration is a very appropriate substitution for pressure.
Kendall Helmstetter Gelner