Xorg: How to load 'kbd' driver using hal?
Henning Moll
newsScott at gmx.de
Fri Feb 13 12:22:17 PST 2009
Hi,
I am using Ubuntu 8.10 which usese Hal by default to load the 'evdev'
module (/usr/lib/xorg/modules/input/evdev_drv.so). For my laptop i have
to use an additional driver 'omnibook'
(http://sourceforge.net/projects/omnibook) to get certain special keys
working. Unfortunately, this driver requires grabbing the keyboard
driver too, but evdev is exclusively grabbing it, so these two drivers
don't work together. There may be a (probably better) solution to fix
the omnibook driver for coexistence with evdev, but i am not able to do
this.
My solution so far is, to switch back to 'kbd' driver. I am currently
doing this by adding the according keyboard section to xorg.conf and
specifying 'Option "AutoAddDevices" "false"' in the server layout
section. This works, but has the drawback that hal isn't used for Xorg
at all anymore.
Is it possible to configure 'kbd' via an .fdi file exactly the same way?
All my effords in this direction end up with a broken keyboard. I think
i know the reason, but i am not able to fix it. The reason:
When configuring via xorg.xonf, the 'kbd' driver is initialized without
information about a device file. The relevant code in the kbd driver is
s = xf86SetStrOption(pInfo->options, "Device", NULL);
if (s == NULL) {
pInfo->fd = xf86Info.consoleFd;
pKbd->isConsole = TRUE;
} else {
pInfo->fd = open(s, O_RDONLY | O_NONBLOCK | O_EXCL);
So, if no Option "Device" is defined, the driver is using
xf86Info.consoleFd. Unfortunately, if i load the driver via hal, then
this option is always defined causing the above code to enter the else
body. The result is always a useless keyboard.
I think xf86Info.consoleFd is pointing to a file descripter of /dev/tty7
(this is reported in Xorg.0.log), but it is not possible to
<merge key="input.x11_options.Device" type="string">/dev/tty7</merge>
Is it possible to tell Xorg to use kbd without device informatio using a
fdi?
Is it possible to xorg.conf (keybord section) together with HAL?
So is there a way to configure this with fdi?
More information about the hal
mailing list