diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | lib/keyboard.pm | 16 |
2 files changed, 19 insertions, 1 deletions
@@ -1,3 +1,6 @@ +- keyboarddrake: + o configure hal so Xorg can get xkb info + (nb: for now, you must "service haldaemon restart" to be taken into account) - XFdrake: o generic flat planel must allow "800x480 @ 60.00 Hz (GTF) hsync: 29.82 kHz" so "HorizSync 31.5-90" is too strict, generating "HorizSync 29.5-90" @@ -14,7 +17,6 @@ - mousedrake o do not propose to test the chosen mice (it doesn't handle evdev/synaptics and so is quite obsolete nowadays) - o Version 0.64 - 1 October 2008 diff --git a/lib/keyboard.pm b/lib/keyboard.pm index 4ad9a23..a3c7f15 100644 --- a/lib/keyboard.pm +++ b/lib/keyboard.pm @@ -620,6 +620,22 @@ sub configure_xorg { Xconfig::default::config_keyboard($xfree_conf, $keyboard); $xfree_conf->write; } + my $hal_dir = "$::prefix/etc/hal/fdi/policy"; + if (-d $hal_dir) { + my $xkb = keyboard::keyboard2full_xkb($keyboard); + mkdir "$hal_dir/10osvendor"; + output("$hal_dir/10osvendor/10-keymap.fdi", sprintf(<<'EOF', $xkb->{XkbLayout}, $xkb->{XkbOptions})); +<?xml version="1.0" encoding="ISO-8859-1"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.keys"> + <merge key="input.xkb.layout" type="string">%s</merge> + <merge key="input.xkb.options" type="string">%s</merge> + </match> + </device> +</deviceinfo> +EOF + } } sub configure_and_set_standalone { |