[BUG] Touchscreen woes

Ben Gamari bgamari.foss at gmail.com
Sat Nov 30 06:24:44 PST 2013


Peter Hutterer <peter.hutterer at who-t.net> writes:

> On 30/11/2013 02:42 , Ben Gamari wrote:
>> It seems that when keyboard input is in its paused state only the
>> device events are delivered. The core keyboard events are only
>> delivered after another mouse event has occurred.
>
> ok, what's happening here is that (most likely) the device is frozen. 
> Event delivery works that for each event, dev->public.processInputProc 
> is called. That is usually ProcessOtherEvents(), but if the device is 
> frozen from a sync grab, that func is EnqueueEvents(). You'll likely 
> fine that the core keyboard events are going there. Once unfrozen, the 
> events are replayed as you see below.
>
> most likely what's happening here is that the grab is stuck and xmonad 
> doesn't send the AllowEvents because it didn't get an event it expected.
> the xscope output may help here to figure out what it is registering for.
>
This is what the xscope'd xmonad process produces around the time of a
window switch. These are the only keyboard-synchronous grabs I've been
able to find. Regardless, it looks to me like the UngrabButton request
should really kill any grabs that were established.

Cheers,

- Ben

         
	 ............REQUEST: ConfigureWindow
	              window: WIN 02200024
	          value-mask: x | y | width | height
	          value-list:
		                   x: 960
		                   y: 25
		               width: 03be
		              height: 041d
	 ............REQUEST: ChangeWindowAttributes
	              window: WIN 02200024
	          value-mask: border-pixel
	          value-list:
		        border-pixel: 000033ff
	 ............REQUEST: ChangeProperty
	                mode: Replace
	              window: WIN 01a00024
	            property: <WM_STATE>
	                type: <WM_STATE>
	              format: 20
	                data: 01 00 00 00 00 00 00 00 
	 ............REQUEST: MapWindow
	              window: WIN 01a00024
	 ............REQUEST: ChangeProperty
	                mode: Replace
	              window: WIN 02200024
	            property: <WM_STATE>
	                type: <WM_STATE>
	              format: 20
	                data: 01 00 00 00 00 00 00 00 
	 ............REQUEST: MapWindow
	              window: WIN 02200024
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 01a00024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 1 (^A)
	           modifiers: AnyModifier
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 01a00024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 2 (^B)
	           modifiers: AnyModifier
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 01a00024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 3 (^C)
	           modifiers: AnyModifier
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 02200024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 1 (^A)
	           modifiers: AnyModifier
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 02200024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 2 (^B)
	           modifiers: AnyModifier
	 ............REQUEST: GrabButton
	        owner-events: False
	         grab-window: WIN 02200024
	          event-mask: ButtonPress
	        pointer-mode: Asynchronous
	       keyboard-mode: Synchronous
	          confine-to: None
	              cursor: None
	              button: 3 (^C)
	           modifiers: AnyModifier
	 ............REQUEST: UngrabButton
	              button: AnyButton
	         grab-window: WIN 02200024
	           modifiers: AnyModifier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20131130/7fa4a103/attachment.pgp>


More information about the xorg mailing list