What's happening to DeviceMotionNotifies?

Peter Hutterer mailinglists at who-t.net
Wed Nov 29 19:24:53 PST 2006


On 29/11/2006, at 19:31 , Jamey Sharp wrote:
>
> Which queue did you observe it entering? With Xlib/XCB, I can  
> interpret
> your report as meaning either that you saw xcb's read_packet function
> pull the event off the wire, or you saw Xlib's process_responses and
> handle_event functions pass that event off to _XEnq.
>
> I started trying to reproduce your problem, but I don't have any  
> XInput
> devices configured (as far as I know) and working out how to set up  
> the
> evdev driver to treat my three mouse devices separately, instead of
> using /dev/input/mice, is more than I have time for tonight. I can at
> least try to diagnose remotely if you'll provide more information.

let's see. xmond tells me there's lots of these:

  Extended event (fd 5): 53 00 0d 00 2a a4
9f 36 5d 00 00 00 01 00 20 00 00 00 00 00 1c 02 85 00 15 02 7e 00 00  
00 01 02
Extended event: opcode 83, sequence number 000d

83 is the opcode I get back from the DeviceMotionEvent macro.


gdb single-stepping into XNextEvent() goes into _XReadEvents(), then  
_XEnq

a print of event in _XEnq  gives me an event with opcode 83.

(gdb) p event->u.keyButtonPointer
$3 = {pad00 = 852051, time = 916675313, root = 93, event = 2097153,  
child = 0, rootX = 512, rootY = 384, eventX = 505, eventY = 377,  
state = 0,  sameScreen = 1 '\001', pad1 = 2 '\002'}

looks about alright to me. pad1 for extension events is the deviceID  
AFAIK, which is 2 and correct.

XInputToWire copies the data correctly but returns DONT_ENQUEUE (0),  
so the event is "ignored, or stashed away for many-to-one  
compression" (comment in the source). As far as I can tell, that  
happens to all events. _XReadEvents() never exits.


does that help?

Admittedly, there is no XCB involved. Two days ago when I was  
debugging there was the occasional xcb_foobar floating past but that  
was after 10 hours banging my head against gdb to find out what MPX  
does wrong. I think there were some pink elephants around too ;). My  
library setup may have been screwed then.

There are no DeviceValuator events. I'm using standard mice so they  
wouldn't send ones, would they?

Cheers,
   Peter

--
Multi-Pointer X Server
http://wearables.unisa.edu.au/mpx







More information about the xorg mailing list