I recently started working on packaging pieces of the new DeviceKit world, which is gradually replacing hal. In particular, DeviceKit-disks and DeviceKit-power are in Karmic now, and gnome-disk-utility and a patches gvfs are in the ubuntu-desktop PPA.
A few days ago I wondered what the replacement of hal-setup-keymap would be. This is the bit that makes your laptop’s magic Fn keys work, such as “brightness up”, “next song”, “WWW browser”. I became quite acquainted with this component in the last six months and committed a fair share of fixes to hal-info for those. A quick discussion revealed that nobody was working on this, so I picked that up and created a tool to convert hal keymap .fdi files to udev rules and keymap files, and an udev-extra git branch with those maps, the udev rules, and a small callout which pokes the maps into the corresponding evdev device whenever an input device gets added.
I tested it on my Dell Latitude D430, and it works just fine. Dell laptops are all alike in terms of Fn keys, but I need testing on other laptops. I’m particularly interested in the Sony and ThinkPad models, which don’t send “magic” keys as high keycodes on
a standard i8042 atkbd, but as low keycodes on a separate input device (30-keymap-module-* in hal-info). Testing on Acer and Fujitsu models is also highly welcome.
For testing, add my PPA and do
$ sudo apt-get install udev-extras
# disable the current hal-info keymaps:
$ sudo rm /usr/share/hal/fdi/*/*/30-keymap-*
Packages are available for Jauny and Karmic.
Then reboot, and check if your magic Fn keys still work. Please send success and failure reports by private mail or as comments here. I’ll fix the issues and send a conclusion back here in a few days. If things don’t work for you, please do
$ sudo true
$ sudo udevadm monitor --udev -e > /tmp/udev.log 2>&1
$ sudo udevadm trigger --subsystem-match=input
$ fg
# press Control-C
$ grep . /sys/class/dmi/id/* 2>/dev/null
Please send the output of the last command, and /tmp/udev.log.
If you need to revert, purge udev-extras again and do sudo apt-get install --reinstall hal-info.
Many thanks in advance!
Update (2009-05-09): I got my kernel.org account now, and testing showed a lot of positive and no negative results. Thank you for all your feedback! I pushed the changes to udev master now.
2009-11-01 update:Updated git link from udev-extras (which got removed recently) to udev (where it was merged into a while ago).
#1 by pitti on 2009/11/14 - 23:55
Zitieren
For keyboards, I recently updated https://wiki.ubuntu.com/Hotkeys/Architecture .
#2 by fernando6867 on 2010/04/17 - 19:33
Zitieren
when debian init does not mount the data ext3 partitions, how i set devicekit?
i have installed debian-squeeze
tank you.
fernando
#3 by pitti on 2010/04/26 - 20:47
Zitieren
DeviceKit (now known as udisks, by the way) does not mount anything automatically. If you need a partition mounted during boot, use
/etc/fstab, as usual (preferably with an UUID or otherwise persistent symlink).