[openbox] Keybind problem (similar to the evdev one)

Rafał Mużyło galtgendo at o2.pl
Mon Feb 11 10:00:29 EST 2008


On Mon, Feb 11, 2008 at 11:55:37AM +1100, Edwin Chow wrote:
> 
> Hey thanks for your reply. I actually don't know how to check if xorg was installed with the hal-enabled flag but I am assuming so because I had hal installed when I recently upgraded my xorg-server package (through pacman). I am using xserver 1.4.0 and hal 0.5.10, but I don't have input-evdev installed.
> 
> Here is  my hal-device for my keyboard
> udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'
>   linux.device_file = '/dev/input/event1'  (string)
>   input.xkb.model = 'evdev'  (string)
>   input.product = 'AT Translated Set 2 keyboard'  (string)
>   info.capabilities = { 'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button' } (string list)
>   info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'  (string)
>   linux.subsystem = 'input'  (string)
>   input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
>   info.product = 'AT Translated Set 2 keyboard'  (string)
>   linux.hotplug_type = 2  (0x2)  (int)
>   input.xkb.rules = 'base'  (string)
>   linux.sysfs_path = '/sys/devices/platform/i8042/serio0/input/input1/event1'  (string)
>   info.addons.singleton = { 'hald-addon-input' } (string list)
>   input.x11_driver = 'evdev'  (string)
The line above tells that hal thinks you are using evdev driver. I don't
know if you have it actually installed or how xorg reacts when hal wants
to use evdev and it's not installed. However, input.xkb.rules = 'base'
is wrong for evdev.
>   info.category = 'input'  (string)
>   input.xkb.layout = 'us'  (string)
>   input.physical_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
>   input.device = '/dev/input/event1'  (string)
>   info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
>   input.xkb.variant = ''  (string)
> 
> My 10-keymap.fdi is posted here: http://pastecode.com/?show=mb0afead as I cant seem to paste xml code as text. 
Please, don't ever use services like pastecode.com when posting to a
mailing list. When those links expire, archives of the list won't have
the info that could be useful for somebody else.
> Will I need to setup evdev before my keyboard is working properly? Thanks for your help.
>
AFAIK, in most cases evdev works (both for keyboard and other input)
with only minimal config.
This is what I've put in
/usr/share/hal/fdi/policy/20thirdparty/10-my-x11-keyboard.fdi (only path
was important, filename was chosen almost randomly):
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keys">
	   <append key="info.callouts.add"	type="strlist">hal-setup-keymap</append>
	</match>
	<match key="info.capabilities" contains="input.keys">
	<!-- <merge key="input.xkb.model" type="string">pc104</merge> -->
	  <merge key="input.xkb.layout" type="string">pl</merge>
	<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
		string="Linux">
	   <merge key="input.xkb.model" type="string">evdev</merge>
	</match>
		<merge key="input.xkb.rules" type="string">evdev</merge>
		<append	key="input.xkb.options"	type="strlist">altwin:menu</append>
	</match>
  </device>
</deviceinfo>

Of course, if you create such file, you must restart hal.

The part with `hal-setup-keymap` is needed cause in the 10-keymap.fdi
shipped with hal, they try to match it with (old) input.keymap
capability, which is no longer applied. Probably `input.xkb.model` and
`input.xkb.rules` are important too. The rest is simply what I had
previously in xorg.conf.

For input I didn't need more configuration, but I'm using a standard PS2
mouse. evdev 1.2.0 driver is still a bit immature, but for xorg 1.4.0
earlier versions of this driver don't work. There are a few fixes for it
in xorg git, but unless you're using something more than a 5-button
mouse you should be fine (I think).




More information about the openbox mailing list