summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--lib/keyboard.pm16
2 files changed, 19 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9dc1623..dffe343 100644
--- a/NEWS
+++ b/NEWS
@@ -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 {