Package: pommed Version: v1.38git I'm running:
[~]$ cat /etc/issue Ubuntu 10.10 \n \l on kernel: [~]$ uname -a Linux arwyn 2.6.38-020638rc4-generic #201102081010 SMP Tue Feb 8 10:12:40 UTC 2011 x86_64 GNU/Linux I've been having issues with pommed on my macbook pro 5,5. The keyboard backlight will initially come on, but after the configured keyboard idle timeout is reached, the backlight will not come on again regardless of activity. This was happening with my system installed package (1.35~maverick-mactel1). I cloned the git repo and began to hack around to debug a bit. I tracked down the issue to the following snippet: diff --git a/pommed/evdev.c b/pommed/evdev.c index 330655a..5a9667b 100644 --- a/pommed/evdev.c +++ b/pommed/evdev.c @@ -106,12 +106,11 @@ evdev_process_events(int fd, uint32_t events) if (ev.value == 0) return; + logdebug("fd: %02d\n", fd); + logdebug("internal_kbd_fd: %02d\n", internal_kbd_fd); /* Reset keyboard backlight idle timer */ - if (fd == internal_kbd_fd) - { kbd_bck_info.idle = 0; kbd_backlight_inhibit_clear(KBD_INHIBIT_IDLE); - } switch (ev.code) { @@ -949,7 +948,7 @@ evdev_try_add(int fd) */ if (test_bit(EV_LED, bit[0]) && evdev_is_internal(id)) { - logdebug(" -> Internal keyboard\n"); + logdebug(" -> Internal keyboard - fd=%02d\n", fd); internal_kbd_fd = fd; } When testing with the added debug statement, I was finding that the "fd" was "6", but the "internal_kbd_fd" was "5". I don't presume to understand what this means or why it is occurring. Removing the conditional around that block appears to resolve my issue, as the outer conditional appears to ensure that we are catching a keyboard event. Here is a debug log after my changes were applied. Look at the end to see the keypresses (ctrl-c) and what the events are that are being seen. [~/Documents/Projects/external/pommed/pommed]$ sudo ./pommed -d I: pommed v1.38git Apple laptops hotkeys handler I: Copyright (C) 2006-2011 Julien BLACHE <j...@jblache.org> pommed configuration: + General settings: fnmode: 1 + sysfs backlight control: initial level: -1 step: 1 on_batt: 6 + ATI X1600 backlight control: initial level: -1 step: 10 on_batt: 80 + Intel GMA950 backlight control: initial level: 0xffffffff step: 0xf on_batt: 0x40 + nVidia GeForce 8600M GT backlight control: initial level: -1 step: 1 on_batt: 6 + Audio volume control: card: default initial volume: -1 step: 5% beep: yes volume element: PCM speaker element: Front headphones element: Headphone + Keyboard backlight control: default level: 100 step: 10 auto on threshold: 2 auto off threshold: 5 auto enable: yes idle timer: 5s idle level: 0 + CD eject: enabled: yes device: /dev/dvd + Beep: enabled: no beepfile: /usr/share/pommed/goutte.wav + Apple Remote IR Receiver: enabled: no DMI vendor name: [Apple Inc.] DMI product name: [MacBookPro5,5] I: DMI machine check: running on a MacBookPro5,5 System: Linux 2.6.38-020638rc4-generic x86_64 Failed to access brightness node: No such file or directory Investigating evdev [Lid Switch] -> ACPI LID switch evdev: no EV_KEY event type (not a keyboard) Investigating evdev [Power Button] Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0001 Investigating evdev [Sleep Button] Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0003 Investigating evdev [Power Button] Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0001 Investigating evdev [Logitech USB Receiver] Discarding evdev: bus 0x0003, vid 0x046d, pid 0xc52f Investigating evdev [Logitech USB Receiver] Discarding evdev: bus 0x0003, vid 0x046d, pid 0xc52f Investigating evdev [Apple Inc. Apple Internal Keyboard / Trackpad] -> WellSpring III USB assembly Trying /sys/module/hid_apple/parameters/fnmode -> WellSpring III USB assembly Trying /sys/module/hid_apple/parameters/fnmode -> Internal keyboard - fd=05 Investigating evdev [bcm5974] -> WellSpring III USB assembly Trying /sys/module/hid_apple/parameters/fnmode Discarding evdev with EV_ABS event type (mouse/trackpad) Investigating evdev [Built-in iSight] Discarding evdev: bus 0x0003, vid 0x05ac, pid 0x8507 Investigating evdev [applesmc] Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0000 Investigating evdev [Mouseemu virtual keyboard] -> Mouseemu virtual keyboard Investigating evdev [Mouseemu virtual mouse] Discarding evdev: bus 0x0006, vid 0x001f, pid 0x001e Found 3 devices Trying /sys/class/leds/smc::kbd_backlight/brightness KBD backlight value is 100 I: Found applesmc at /sys/class/hwmon/hwmon0/device I: Dereferenced applesmc to /sys/devices/platform/applesmc.768 Ambient light: right 0, left 0 Audio init: volume NOK, speakers NOK, headphones NOK Failed to open required mixer elements W: Audio initialization failed, audio support disabled DBus add watch DBus add watch DBus process watch KBD: Idle 200 Ambient light: right 0, left 0 DBus ambientLight: 0 0 0 0 Ambient light lower threshold reached Trying /sys/class/leds/smc::kbd_backlight/brightness KBD backlight value is 100 DBus process watch KBD: Idle 400 Ambient light: right 0, left 0 DBus ambientLight: 0 0 0 0 Ambient light lower threshold reached Trying /sys/class/leds/smc::kbd_backlight/brightness KBD backlight value is 100 DBus process watch KBD: Idle 600 Ambient light: right 0, left 0 DBus ambientLight: 0 0 0 0 Ambient light lower threshold reached Trying /sys/class/leds/smc::kbd_backlight/brightness KBD backlight value is 100 DBus process watch KBD: Idle 800 Ambient light: right 0, left 0 DBus ambientLight: 0 0 0 0 Ambient light lower threshold reached Trying /sys/class/leds/smc::kbd_backlight/brightness KBD backlight value is 100 DBus process watch fd: 06 internal_kbd_fd: 05 KBD: inhibit clear 0x08 -> 0x00 fd: 06 internal_kbd_fd: 05 KBD: inhibit clear 0x08 -> 0x00 ^CI: Exiting If you need additional information regarding my system, please ask. I don't think I am on a unique system.