thd [--help] [--user name] [--listevents] [--dump] [--socket socket] [--triggers config]
[--daemon] [--pidfile file] [--uinput device][--ignore event] [--deviceglob pattern]
[devices...]
Hotkey daemon operates on a system wide scale, watchiing configured input devices for key, switch or button events and can launch arbitrary commands. In contrast to hotkey services provided by desktop environments, Triggerhappy is especially suited to hardware related switches like volume or wifi control. Works independently from a specific user being logged in and is also suitable for embedded systems that do not a graphical user interface.
displays a list of known event names.
| --triggers conf |
--triggers
. Each line consists of three segments:
The event names can be identified by operating the desired key or switch while running the
daemon with the --dump
.
Key events carry the value 1 for a key being pressed and transmit the payload 0 when it is released; holding the key down constantly yields events with a value of 2.
The command can include any number of arguments. Include the full path
The fields are separated by whitespace while anything following a #
is ignored.
thd --dump /dev/input/event*
Dump all events processable by thd to the console; this is useful to find out the correct
event name for a specific key.
thd --triggers /etc/triggerhappy/triggers.d/ /dev/input/event*
Read from all currently connected input devices and process events according to the files
in /etc/triggerhappy/triggers.d/.
thd --triggers /etc/triggerhappy/triggers.conf --socket /var/run/thd.socket
Do not open any input devices yet, bind the socket /var/run/thd.socket
for th
-cmd to connect to.
--uinput, triggerhappy can be used to generate synthetic
events. A virtual input device is created which emits specified key presses once a special
trigger is reached:
KEY_KPASTERISK 1
th-cmd
triggerhappy commander
th-cmd--socket socket [--passfd] [--tag foo]
[--clear|--enable|--disable|--mode mode|--quit|--udev|--add devices …|--remove devices …]
Issues commands to a running triggerhappy daemon. It utilizes an unix domain socket bound by the daemon.
--socket socket socket opened by the running daemon .
--add devices … Instruct the running daemon to open the input devices
--remove devices … Remove devices from the running daemon.
--clear Remove all devices
--udev Deduce operation and device name from udev environment (for use in udev rules).
--disable Disable the execution of triggers.
--enable Re-enable the execution of triggers.
--mode newmode Change the mode of the triggerhappy daemon to newmode
.
If newmode
is not specified, the daemon switches to default mode.
--passfd
Instead of instructing the daemon to open the device, open the device and pass the file descriptor to the daemon.
This allows the adding of new devices to a daemon having dropped its privileges, must have access to the device .
--grab
Grab the device; the daemon will get exclusive access to the device, other applications will not receive the events emitted by it.
--tag foo Label the added device with the tag foo; used to limit the scope of event handlers to a subset of input devices.
--quit
see
github.com/wertarbyte/triggerhappy
WAS used by raspberry's raspi=config
log_daemon_msg "Checking if shift key is held down"
if [ -x /usr/sbin/thd ] && timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"; then
printf " Yes. Not enabling ondemand scaling governor"
log_end_msg 0