On 10/19/2010 05:41 PM, Peter Hutterer wrote:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.txt#n1557

"A RawEvent provides the information provided by the driver to the client.
RawEvent provides both the raw data as supplied by the driver and
transformed data as used in the server. Transformations include, but
are not limited to, axis clipping and acceleration.  Transformed
valuator data may be equivalent to raw data. In this case, both raw and
transformed valuator data is provided.
RawEvents are sent exclusively to all root windows or to the client that
grabbed the device only."
Okay, thanks. I sort of thought, since it was a RawEvent, it was some unaccelerated, intermediate form, but that helps a lot! I might also have been dropping some RawEvents, which I think I've fixed now. I ended up not looking at the spec when I started noticing inconsistencies between that and the implementation on my system, but I guess I should have persevered a bit longer.
all valuator data is always in device coordinates, so as Daniel said you
need XIQueryDevice to get the axis ranges and then scale appropriately
I'm not sure how axis ranges are useful. Other than clipping, a maximum and minimum relative motion value doesn't make a lot of sense to me conceptually, but looking at the data might help.

One last question, semi-relevant. Can I rely on the ordering of events to link the RawEvents to the MotionEvents?

Thanks again for all the help!
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to