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