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