[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.
Comments?
Cheers,
Peter
More information about the xorg
mailing list