On Wed, 2 Feb 2005, Pete Zaitcev wrote: > On 02 Feb 2005 21:57:39 +0100, Peter Osterlund <[EMAIL PROTECTED]> wrote: > > > Please try this patch instead. It works well with my alps touchpad. (I > > don't have a synaptics touchpad.) It does the following: > > > > * Compensates for the lack of floating point arithmetic by keeping > > track of remainders from the integer divisions. > > * Removes the xres/yres scaling so that you get the same speed in the > > X and Y directions even if your screen is not square. > > * Sets scale factors so that the speed for synaptics and alps should > > be equal to each other and equal to the synaptics speed from 2.6.10. > > Thanks a lot, Peter. I think I like the result even better than the one > after the simple-minded removal that I posted. It's possible that when > I accepted the case of (pktcount == 1) it hurt smoothness. > > Do you think it makes sense to zero fractions when pktcount is dropped?
In practice I don't think it will make any significant difference. What the code should do depends on what you want to happen if you move the mouse pointer 1/2 pixel with one finger stroke, then move it another 1/2 pixel with a second stroke. The patch I posted will move the pointer one pixel in this case and your code will move it 0 pixels. (The X driver does not reset the fractions, but that doesn't of course mean that it's the only right thing to do.) > Also, I think the extra unary minus is uncoth. The code was written like that to emphasize the fact that X and Y use the same formula, with the only difference that the kernel Y axis is mirrored compared to the touchpad Y axis. It didn't make any difference for the generated assembly code though, using gcc 3.4.2 from Fedora Core 3. > + enum { FRACTION_DENOM = 100 }; The enum is much nicer than my #define. -- Peter Osterlund - [EMAIL PROTECTED] http://web.telia.com/~u89404340 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/