On Wed, Dec 08, 2010 at 10:03:36AM -0800, Ping Cheng wrote: > On Tue, Dec 7, 2010 at 9:27 PM, Peter Hutterer <[email protected]> > wrote: > > On Tue, Dec 07, 2010 at 01:29:36PM -0800, Ping Cheng wrote: > >> The physical size of the touch pad is reported in 1000 cm. The > > > > sorry, I'm confused. it's reported in what? 1000 units/cm? > > You are not alone. I was confused too. The term I used above is still > inaccurate. It should read as: > > "The physical size of the touch pad is reported in thousandths of > centimetres." > > For example, a physical value of 18500, that we get from the HID > descriptor, would be 18.5 cm or 185 mm. Since we use mm for touch > resolution, the actual physical size would be PhyTouch/100.
we use units/m as a resolution in the X Input Extension. and that's the only place to get the resolution for clients. http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.txt#n471 my I4 currently claims 5080 (hardcoded, wcmUSB.c), but after measuring my tablet with 232mm and an x range of 44704, this should be a resolution of around 192689 (200 000 would be 5080/0.0254). so this is currently wrong anyway. Cheers, Peter > I know we'll need to unify the unit for touch and pen. That would be > a future patch. > > Please update the comments the way you like if you don't have > technical issues with the patch. I am feeling lazy today.... > > Ping > > >> actual fomula to get points/mm would be: > >> > >> MaxTouch/PhyTouch/100 > >> > >> Signed-off-by: Ping Cheng <[email protected]> > >> --- > >> src/wcmUSB.c | 9 +++++---- > >> 1 files changed, 5 insertions(+), 4 deletions(-) > >> > >> diff --git a/src/wcmUSB.c b/src/wcmUSB.c > >> index c53ff06..600ffda 100644 > >> --- a/src/wcmUSB.c > >> +++ b/src/wcmUSB.c > >> @@ -495,10 +495,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo) > >> > >> if (is_touch && common->wcmTouchResolX && common->wcmMaxTouchX) > >> { > >> - common->wcmTouchResolX = > >> (int)(((double)common->wcmTouchResolX) > >> - / ((double)common->wcmMaxTouchX) + 0.5); > >> - common->wcmTouchResolY = > >> (int)(((double)common->wcmTouchResolY) > >> - / ((double)common->wcmMaxTouchY) + 0.5); > >> + /* physical size is reported in 1000 cm */ > >> + common->wcmTouchResolX = (int)(((double)common->wcmMaxTouchX) > >> + / ((double)common->wcmTouchResolX/100.0) + 0.5); > >> + common->wcmTouchResolY = (int)(((double)common->wcmMaxTouchY) > >> + / ((double)common->wcmTouchResolY/100.0) + 0.5); > >> > >> if (!common->wcmTouchResolX || !common->wcmTouchResolY) > >> { > >> -- > >> 1.7.2.3 > >> > > > ------------------------------------------------------------------------------ This SF Dev2Dev email is sponsored by: WikiLeaks The End of the Free Internet http://p.sf.net/sfu/therealnews-com _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
