A lightweight hotkey daemon
Fetching latest commit…
Cannot retrieve the latest commit at this time
Triggerhappy - a lightweight hotkey daemon - by Stefan Tomanek <email@example.com> http://github.com/wertarbyte/triggerhappy/ Triggerhappy is a hotkey daemon developed with small and embedded systems in mind, e.g. linux based routers. It attaches to the input device files and interprets the event data received and executes scripts configured in its configuration. Examples: Dump all events received through two device files: thd --dump /dev/input/event0 /dev/input/event1 Event handlers can be defined in configuration files (specified by --triggers). If a directory is specified, all configuration files within matching the pattern *.conf are loaded. The files use the following format: <event name> <event value> <command line> e.g. KEY_VOLUMEUP 1 /usr/bin/amixer set Master 5%+ KEY_VOLUMEUP 2 /usr/bin/amixer set Master 5%+ KEY_VOLUMEDOWN 1 /usr/bin/amixer set Master 5%- KEY_VOLUMEDOWN 2 /usr/bin/amixer set Master 5%- A value of 1 corresponds to pressing a key, while 2 is generated by holding it; releasing it yields a value of 0. It is also possible to append up to 5 modifiers to each event definition by appending their names to the event name: KEY_VOLUMEUP+KEY_LEFTSHIFT 1 /usr/bin/amixer set Master 15%+ Devices can be added dynamically by specifying a command socket: thd --socket /var/run/triggerhappy.socket --triggers /etc/triggerhappy.d/ The program th-cmd is used to add new devices to the daemon: th-cmd /var/run/triggerhappy.socket add /dev/input/event0 th-cmd /var/run/triggerhappy.socket remove /dev/input/event3 An example udev script is also included to facilitate this hotplug support - for this use, th-cmd can handle the parameter "udev" to deduce the device name and action from the udev environment. For more information, consult the manual pages of "thd" and "th-cmd".