Some Useful Linux Snippets

The Linux kernel offers both direct access to LEDs and support for many different triggers that control when/how an LED should light up. You can see all available triggers for an LED by reading from its trigger file. The active trigger is indicated by brackets.

$ cat /sys/class/leds/input0::capslock/trigger

none kbd-scrolllock kbd-numlock [kbd-capslock] kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock disk-activity disk-read disk-write ide-disk mtd nand-disk cpu cpu0 cpu1 cpu2 cpu3 panic usb-gadget usb-host mmc0 wacom_battery_0-online AC-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid rfkill-any rfkill-none audio-mute audio-micmute rfkill0 phy0rx phy0tx phy0assoc phy0radio rfkill73 

For some nice triggers (e.g., heartbeat, timer, oneshot, usbport) you might need to load their module first.

$ modprobe ledtrig-timer 
$ echo "timer" > /sys/class/leds/input0::capslock/trigger

Two new files appear: delayon and delayoff. Both accept values in milliseconds.

$ echo 100 > /sys/class/leds/input0::capslock/delay_off
$ echo 100 > /sys/class/leds/input0::capslock/delay_on

See also: