Messages in this thread | | | Date | Wed, 2 Feb 2005 23:58:05 +0100 (CET) | From | Peter Osterlund <> | Subject | Re: Touchpad problems with 2.6.11-rc2 |
| |
On Wed, 2 Feb 2005, Pete Zaitcev wrote:
> On 02 Feb 2005 21:57:39 +0100, Peter Osterlund <petero2@telia.com> 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 - petero2@telia.com http://web.telia.com/~u89404340 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |