[RFC] Device hierarchy for MPX

Peter Hutterer mailinglists at who-t.net
Tue Sep 18 04:28:39 PDT 2007

Peter Hutterer wrote:
> Slave devices (SD) are the actual physical devices. SD's attached to an
> MD control the MD's cursor/focus and send core events. SD's can be
> "floating" (not attached to an MD), but then do not have a sprite and do
> not send core events. 

Going through the event delivery I did notice that there is one problem 
with floating devices. Any keyboard in X needs to be paired with a 
pointer device, otherwise we cannot generate appropriate events etc.

Floating pointers have a virtual sprite, that (although not rendered) is 
nevertheless there. Floating keyboards on the other hand do not have 
such a sprite. In the current server we always have exactly one sprite, 
all XI devices use it.

The options we have are:
a) pairing a floating keyboard device to an MD. Although the SD never 
affects the MD's sprite or event delivery, the MD nevertheless decides 
where the events go (this is effectively the MPX version of the current 
server behaviour).
b) pairing a floating keyboard to a floating SD. This option requires a) 
to work as well as a fallback.
c) creating a virtual sprite for floating keyboard devices that never 
moves by itself, unless forced through an API.

I guess b) is probably the best option.



More information about the xorg mailing list