keyboard, evdev, hald questions

Harald Braumann harry at
Wed Apr 22 17:21:26 PDT 2009


I'd like to understand a view details about keyboard input with regard
to the evdev driver and hal. If someone could be so nice as to answer
the following questions:

1) How are input events mapped to KeyCodes?
If I'm not mistaken, evdev reads input events from
the /dev/input/eventX. How are those events (from linux/input.h) mapped
to KeyCodes? Is this a static mapping somewhere or is there some
configuration tool?

2) What does hald do?
From what I understand, hald does the following (please correct me, if
I'm wrong):
- apply quirks for certain keyboard models (re-mapping scancodes to
input events)
- listen for attachment/detachment of input devices and informs
listeners of these events

3) What's the relation between X an hald?
X uses hald to get notifications for attached/detached input devices
and uses those for input hotplugging, right?

4) How does X interact with hald?
Does X use some hal-interface or D-Bus?

5) What do the options in x11-input.fdi do?
Does hald do anything on its own with the XkbLayout and XkbVariant
options in the fdi file, or is this just an attribute that is queried
by the X server to set up key mapping? This key mapping (KeyCode to
Keysym) is still done by the X server, and there's no hald involvement,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <>

More information about the xorg mailing list