On Sun, 2006-01-08 at 14:13 +0000, Richard Hughes wrote: > On Sun, 2006-01-08 at 13:47 +0000, Matthew Garrett wrote: > > On Sun, Jan 08, 2006 at 12:58:44PM +0000, Richard Hughes wrote: > > > > > Can we not go further and define Dock/UnDock, > > > BrightnessUp/BrightnessDown, Hibernate, etc? > > > > BrightnessUp/BrightnessDown have keycodes defined in > > /usr/src/linux/input.h, so that shouldn't be a problem. I suggested a > > keycode for hibernate (KEY_SUSPEND, with suspend to RAM on KEY_SLEEP). > > Okay, that's good for me. > > > I'm less convinced about Dock/Undock - that's a problem that's so far > > from being solved I've no idea what sort of things userspace wants to > > know :) > > Sure, just an example of "other stuff". Lock is maybe a better example > as gnome-screensaver (or equiv) can respond to this. > > The main problem now is implementation. Further to the conversation on IRC, I've attached two ACPI patches to provoke discussion. The first creates the /org/freedesktop/Hal/devices/acpi_uinput like I did for the toshiba specific HAL addon. The second uses the acpi events for creating uinput events that can be captured using gnome-keybindings, and also creates HAL ButtonPressed events so that DBUS aware applications (like g-v-m and g-p-m) can monitor the events. To use this on toshiba, you have to use the kernel patch: http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-2.6.git;a=commitdiff;h=84bd08e019f34628e6e5c276115db5baa46ea824;hp=cfed69e108d0ff7e3cc1e9330f662a1e758eb04d which may be upstreamed soon. Plus you'll need "options toshiba_acpi hotkeys_over_acpi=1" in /etc/modprobe.conf to enable the new stuff. Also, to create the input events, you have to "modprobe uinput" and then restart haldaemon -- so you could say this patch is rough and ready. :-) Adding other id's (for example for IBM), the keys will just work with no kernel patches required. Toshiba is special as the interface is unique (and broken), so that's why we need the patch. Thanks to Matthew for the pointer to the patch. This 30 minute hack works for me, but has had little real-world testing. Comments please. Richard.