2008/9/30 Peter Hutterer <[EMAIL PROTECTED]>: > On Tue, Sep 30, 2008 at 03:14:17PM +0200, Søren Hauberg wrote: >> My impression is that the ones in EvdevRec means something different. >> The ones in the 'touchscreen' struct are the calibration parameters. >> 'min_x' is the smallest x value that the hardware actually sends, and >> similar for the other fields. So, I get x values in the range >> >> [EvdevRec.touchscreen.min_x, EvdevRec.touchscreen.max_x] >> >> and I need to transform these linearly into the range >> >> [EvdevRec.min_x, EvdevRec.max_x] > > min/max is read from the kernel at startup. So you mean there's a difference > in the axis range the kernel reports and the actual value range in the events? > Does the kernel report axis ranges at all?
To be honest I don't really know these things (I've had the 'pleasure' of working with this hardware for a very short period of time -- and my background is Image Processing, not hardware stuff). But from what I understand, then yes, there is a difference in what the kernel reports, and what the hardware actually sends. This is the reason we need calibration. If we knew the actual range of the hardware, then I don't think we would need calibration. >> > + if (pEvdev->flags & EVDEV_TOUCHSCREEN) >> > + EvdevInitTouchscreen(pInfo); >> > >> > I trust that'll disappear from the final patch. >> >> Why? (remember, I'm an X-newbie) I need to initialize the device to >> get parameters. How would you like me to do this? > > all the parameters in InitTouchscreen were hardcoded. Just move what you have > to into EvdevPreInit (but with the invert and swap culling there is only > min/max left anyway). Get it from the options there (xf86SetIntOption(...) for > example). Okay, will do. Søren _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
