xf86PostMotionEvent: Need information/documentation
Manuel Reimer
Manuel.Spam at nurfuerspam.de
Sun Jan 8 12:29:59 PST 2006
Hello,
I'm modifying a driver for xorg. Currently I have the following problem:
I want to move the cursor using relative values. My values have X=0 and
Y=0 as "centre" (means "no movement"). To move the cursor, the following
is assumed:
X > 0 --> move right
Y > 0 --> move down
X < 0 --> move left
Y < 0 --> move up
My problem is that it's nearly impossible to move slowly into the down
right corner. If I try to move the cursor really slow down right then it
"wiggles" and sometimes it even moves slowly left up :-/
The problem seems to be solved immediately if I change my code from:
xf86PostMotionEvent(device, 1, 0, 2, x, y)
to
xf86PostMotionEvent(device, 1, 0, 2, x + 1, y + 1)
Now the cursor movement is not perfect but it's usable.
My questions:
- Is it possible that X=1 and Y=1 has to be the base for "no movement"?
- Is there any *really* good documentation for all those X-functions?
- Will X use "conversion_proc" on the values I forward to
"xf86PostMotionEvent"?
I've used pastebin to place two logs I've created. In both logs I've
started with slow movement and then started to move the cursor faster.
The first one shows the values that get forwarded to
"xf86PostMotionEvent" without the "+1" in the code. In this example the
cursor moved to the top left corner even if I moved down right. As soon
as the movement got faster the cursor moved down right.
http://pastebin.com/496803
The second example shows the same with "+1" in code. Now anything worked
as expected (not perfect but it works).
http://pastebin.com/496822
Thank you very much in advance
CU
Manuel
More information about the xorg
mailing list