0

我一直在玩碳多点触控支持私有框架,我已经能够检索各种类型的数据。

其中,每个接触似乎都有一个大小,并且也可以用一个椭圆体(角度、短轴、长轴)来描述。但是,我无法确定用于尺寸和短轴和长轴的参考系。

如果有人能够找到它,我对你的信息很感兴趣。

提前致谢

4

1 回答 1

0

I've been using the framework for two years now and I've found that the ellipse is not in standard units (e.g. inches, milimeters). You could approximate millimeters by doubling the values you get for the ellipse.

Here's how I derived the ellipse information.

First, my best guess for how it works is that it's close to Synaptics "units per mm": http://ccdw.org/~cjj/l/docs/ACF126.pdf But since Apple has not released any of that information for developers, I'm relying on information that I print to the console.

You may get slightly different values based on the dimensions of the device (e.g. native trackpad vs magic mouse) you're using with the MultiTouchSupport.framework. This might also be caused by the differences in the surface (magic mouse is curved).

The code on http://www.steike.com/code/multitouch/ has a parameter called mm. This gives you the raw (non-normalized) position and velocity for the device.

Based on the width's observed min & max values from mm (-47.5,52.5), the trackpad is ~100 units wide (~75 units the other way). The trackpad is about 100mm wide x 80mm. But no, it's not a direct unit to millimeter translation. I think the parameter being named 'mm' may have just been a coincidence.

My forearm can cover about 90% of the surface of the trackpad. After laying it across the trackpad, the output will read to about 58 units wide by 36 units long, with a size of 55. If you double the units you get 116 by 72 which is really close to 100mm by 80mm. So that's why I say just double the units to approximate the millimeters. I've done this with my forearm the other way and with my palm and the approximations still seem to work.

The size of 55 doesn't seem to coincide with the values of ellipse. I'm inclined to believe that ellipse is an approximation of the surface dimensions and size is the actual surface area (probably in decimeters).

Sorry there's no straight answer (this is after all a reverse engineering project) but maybe this information can help you find the answer yourself.

(Note: I'd like to know what you're working on?)

于 2012-02-28T05:56:08.820 回答