Input Devices

Jim Gettys Jim.Gettys at
Tue Aug 2 12:04:06 PDT 2005

On Tue, 2005-08-02 at 12:41 +0200, Waldo Bastian wrote:
> Attached some bright shiny pictures that reflect my current understanding.
> The "X Configuration Client" asks "HAL" for available input devices, opens 
> them, and passes the open file descriptor on to the "X server".

Or whatever mechanism is used by the native system. It isn't clear yet
whether HAL will see universal acceptance on other platforms.  DBUS I
believe has already been ported to a number of platforms, and should be
portable to all, from what I've seen of it.

I dunno if Windows allows passing file descriptors; I'm sure we can
kludge something together there if need be.  Mac, Linux and UNIX systems
all can pass file descriptors in "send" system calls.

> The "X Configuration Client" will be informed by "HAL" when a new device gets 
> plugged in.

Actually, on Linux, an arbitrary script gets run on hotplug events; it
can invoke the configuration client, which can consult stored answers so
that users aren't bugged every time things are plugged in, if they want.

> In the absence of "HAL" the "X Configuration Client" can fall back to a static 
> configuration file. 

Yup.  And external to the X server itself; the point is that X should
not control the hardware; it should be a good desktop citizen, and be
willing to share hardware with other potential users.  This policy
should be external to the window system.
> The "X Configuration Client" uses the DBUS² session bus to inform the "X 
> server" about new devices (equivalent of XAddInputDevice)

Yup.  That way the X server might also be able to inform the desktop of
other actions that occur: e.g. session reset, changes in screen or
monitors that might not go through the hotplug mechanism (though it
would be nice if we can get to the point that changes in screen hardware
or monitors might go through the system hotplug mechanisms.

> Comments?
> Can/should this be expanded to output devices as well? How would a modesetting 
> library fit in?

Could be.  Hotplug of screens is not science fiction; we've already had
this case on handheld devices, and PCI express allows for hot plug
screens to become more commonplace.  Whether they will become common, is
less than clear, and significant X surgery would have to be done to
support hotplug of display hardware.  I suspect this might be gilding
the lily for an initial release, but should be kept in mind as we do the
mode selection stuff as an external program.

Presumably, when the system notices a new display screen, hotplug can
get things going to set up the modes of that screen.

				- Regards,
					- Jim

> Cheers,
> Waldo
> On Monday 01 August 2005 18:43, Johnson, Charles F wrote:
> > This discussion seems to have wandered afield with the "multiseat"
> > subject seeming to replace it.
> >
> > Going back to the "Input Devices" subject, as a summary it sounds to me
> > like there is desire to move input device arrival and removal detection
> > to a daemon external to the X server ??  Then it detection mechanism
> > could be taylored to the specific OS/System it is running on with a
> > standard interface to the X server ??  Or am I reading too much into the
> > discussion so far ??
> >
> > Charles Johnson
> > Intel Corp.
> > charles.f.johnson at
> _______________________________________________
> xorg mailing list
> xorg at

More information about the xorg mailing list