[Xorg] XInput Hotplug Additions
Joe Krahn
krahn at niehs.nih.gov
Wed Aug 4 09:56:49 PDT 2004
Jim Gettys wrote:.
> If you look at the porting document for XInput, it looks as though
> the X server can be educated about pretty arbitrary input devices, with
> pretty arbitrary combinations of keys, buttons, locators, displays,
> etc...
>
> It is an incremental process.
>
> You say: Here's a new device.
> It has some buttons,
> it has some keys,
> it has N axes,
> and so on....
>
> to allow pretty arbitrary devices to be described. I'm actually
> reasonably impressed at the ideas behind the design.
>
> I don't understand how to do this in a one step process.
One idea I had is that that X client code that manages the Input devices
gets access to new devices in a Grabbed state, and has a chance to
configure the desired options before it gets listed for general access.
Krisitan preferred a single event "load device X with option-list".
But, a grabbed-open for new devices gives client code a way to find
out info about a device before applying initial options.
...
> To set up a device, we may have to do a whole sequence of
> operations. E.g.
>
> a) load the correct device driver
> b) set it into a known sane state
>
> It isn't clear to me that we want both/either of those in
> the module loaded into the X server.
> So we can let hotplug get things into a state that
> X can use, and, rather than X having to reopen the device,
> and thereby potentially have to reinitialize it, pass the
> file descriptor to the X server when it is ready to go.
>
One thing that should be possible is for two servers on one VT
to be able to use the same device, but with different settings.
That means X needs to keep device state info and re-instate it
when X gets it's VT switched active and it regains devices.
> If you detect the idea to keep as little as possible in the
> X server, you're right.
>
> This is analogous to the work we want to do to get display
> mode setting *out* of the X server.
>
It seems strange to me for X not to be in charge of display-mode
settings. Does this mean that an OS with VT switching will have
to track display mode states for each server on one multi-VT
console?
> Yeah, I have to scratch my head some. It also looks like some stuff
> is missing (e.g. control for force feedback joysticks.
The BIG design problem here is the lack of extensibility of Controls
and Feebacks in a way that doesn't require an X protocol changes.
Another really useful thing is an Atom to describe individual
control items, rather than just axis 1 through n.
Joe Krahn
More information about the xorg
mailing list