kdrive rotation problems
Harald Radke
harryrat at postnuklear.de
Thu Dec 20 08:15:20 PST 2007
>Using X11R7.3 X.org release, I experienced the following issue.
>Everything works fine if I run the server with:
>Xfbdev -keybd keyboard,device=/dev/input/event1 -mouse
>tslib,,device=/dev/input/event0
>Instead, when I rotate the screen with:
>Xfbdev -screen 240x320 at 90 -keybd keyboard,device=/dev/input/event1
>-mouse tslib,,device=/dev/input/event0
>The Y coordinate is correctly managed, while the X remains stuck at
>0...
Same problem here (Xorg-1.4.0 kdrive server Xfbdev) ... I had a quick look
into the code, I think this happens in src/kinput.c KdEnqueuePointerEvent().
Here, the transformation matrix is applied to the coords, swapping coords if
necessary (depending on rotation) and then basically queued as events.
In case of a rotation of 90 degs -> x = -ry, which I guess is clipped to 0
later on in GetPointerEvents() (dix/getevents.c), thus resulting in zeroing
the x-axis....
Basically I guess besides applying the matrix on the coords, depending on
coords < 0 the max axis values have to be added to yield correctly
transformed coords
I just started to look into xserver code, so apologies if I am totally wrong!
Greez,
Harry
PS: first posting here, plz be gentle with an old newbie (:
More information about the xorg
mailing list