On Thu, Jan 13, 2011 at 8:16 PM, Peter Hutterer <peter.hutte...@who-t.net> wrote: > On Thu, Jan 13, 2011 at 08:24:15AM -0600, Chris Bagwell wrote: >> On Wed, Jan 12, 2011 at 11:07 PM, Peter Hutterer >> <peter.hutte...@who-t.net> wrote: >> > On Tue, Jan 11, 2011 at 08:07:31PM -0800, Ping Cheng wrote: >> >> On Tue, Jan 11, 2011 at 5:52 PM, Chris Bagwell <ch...@cnpbagwell.com> >> >> wrote: >> >> > On Tue, Jan 11, 2011 at 7:34 PM, <ch...@cnpbagwell.com> wrote: >> >> >> From: Chris Bagwell <ch...@cnpbagwell.com> >> >> >> >> >> >> wcmRotateAndScaleCoordinates() uses these values to scale >> >> >> values based on initialized. The change to use -1..-1 >> >> >> caused it to scale to 0 value always and make cursor not >> >> >> move. >> >> > >> >> > Opps, I wrote wrong symptom. The cursor is over accelerated without >> >> > this fix... but the cursor can move. The cursor not moving still >> >> > requires a patch. >> >> >> >> The original change was made by Peter. I'd like to know if he feels >> >> this is the proper way to go. >> > >> > it's close to being the the right fix, I can see where the current code is >> > broken. this is all based on the misunderstanding of relative _behavior_ >> > and >> > relative _device_. the touch device is an absolute device with a relative >> > behaviour (like touchpads are as well). >> > >> > is_absolute() will tell us only about the behaviour, but not about the >> > device. afaict we don't have any truly relative devices though, even the >> > puck tool will use the min/max axis range when in relative mode. Is this >> > correct? >> > >> > if so, the is_absolute() condition can just go away. >> >> Let me explain my logic behind adding the if() in case its not >> obvious. Before you refactored the below code, there was some stuff >> that initialized min/max at top of function to MinX/Y,MaxX/Y and why >> it didn't have an else statement. I added else to exactly reproduce >> that old logic. >> >> I'm not exactly clear on what virtual area is (is sizeX/Y to reduce >> pad size or to abstract out rotation?) so I went safe route of old >> logic. But I'm thinking that if absolute mode needs a virtual area >> then there is a pretty good chance relative needs it as well... and so >> agree the if() condition can probably go away. I'll give it a test. > > wait, doesn't the touch tool use the same axis ranges as the other tools? >
On Bamboo's, the touch tool can use a larger area of tablet then pen/eraser tool can. This is visible from log files as pen report maxX=14720 maxY=9200 while touch is maxX=15360 maxY=10l240. This used to be smaller range because touch resolution is lower then pen but kernel is now scaling up to same resolutions. But they are different input devices that report accurate min/maxes for tools it supports and set sizeX/Y and so on the same. So off hand I know no reason why relative tools used maxX/Y but absolutes used sizeX/Y. Chris ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel