hi<br> i am using kdrive fbdev server on an ARM based system with a 800x480 LCD and touchscreen. The native resolution is 800x480 but i use it in portrait mode (i.e. 480x800). I use tslib for the touchscreen interface.<br> The bug surfaces when i run Xfbdev in the rotation mode (i.e. Xfbdev -screen 800x480@90). In this mode the pointer is offset by 120 pixels with respect to the touch point, along the new X axis.<br> I have figured out and fixed the problem. The problem lies in fbdev.c which passes incorrect parameters to the KdComputeMouseMatrix() routine. Instead of sending 800x480 it sends 800x600, hence causing an offset of (600-480) = 120 px.<br> The changes i've made is as below. file to be patched is<br> ./hw/kdrive/fbdev/fbdev.c<br><br>#--------------------------patch file-------------------------------------------------<br>--- fbdev.c 2007-02-16 16:11:11.000000000
+0530<br>+++ fbdev.c 2007-02-16 16:37:26.000000000 +0530<br>@@ -331,7 +331,7 @@<br> else<br> scrpriv->shadow = FALSE;<br><br>- KdComputeMouseMatrix (&m, scrpriv->randr, screen->width, screen->height);<br>+ KdComputeMouseMatrix (&m, scrpriv->randr, priv->var.xres, priv->var.yres);<br><br> KdSetMouseMatrix (&m);<br>#--------------------------patch file end-------------------------------------------<br><br>Kdrive is a great project. Thanks to Keith and his team.<br><br>regards,<br>Roger.<p>
<hr size=1>We won't tell. Get more on <a href="http://us.rd.yahoo.com/evt=49980/*http://tv.yahoo.com/collections/265
">shows you hate to love</a><br>(and love to hate): <a href="http://us.rd.yahoo.com/evt=49980/*http://tv.yahoo.com/collections/265
">Yahoo! TV's Guilty Pleasures list.</a>