1
0
mirror of git://projects.qi-hardware.com/openwrt-packages.git synced 2024-11-25 20:46:17 +02:00

add triggerhappy hotkey daemon

Triggerhappy is a lightweight hotkey daemon that can launch arbitrary commands
on input events. It supports the hotplugging of devices and the processing of
key combinations.

Signed-off-by: Stefan Tomanek <stefan.tomanek+openwrt@wertarbyte.de>
This commit is contained in:
Stefan Tomanek 2010-11-12 11:17:50 +01:00 committed by Xiangfu Liu
parent dca49397c2
commit 4dcfd38b2f
4 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,51 @@
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=triggerhappy
PKG_VERSION:=0.1.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://github.com/wertarbyte/triggerhappy/tarball/release/
PKG_MD5SUM:=7da137a7d2ba1ce396231e821e68de4e
PKG_BUILD_DIR:=$(BUILD_DIR)/wertarbyte-triggerhappy-f7c4216/
include $(INCLUDE_DIR)/package.mk
define Package/triggerhappy
SECTION:=utils
CATEGORY:=Utilities
TITLE:=handle input events and run configured programs
URL:=http://github.com/wertarbyte/triggerhappy
endef
define Package/triggerhappy/description
triggerhappy - handle input events and run configured programs
The daemon thd can handle hotplugged input devices and is configured through
simple configuration files in /etc/triggerhappy/triggers.d/.
endef
MAKE_FLAGS += \
$(TARGET_CONFIGURE_OPTS) \
$(1)
define Package/triggerhappy/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/triggerhappy
$(INSTALL_DIR) $(1)/etc/triggerhappy/triggers.d/
$(INSTALL_DIR) $(1)/etc/hotplug.d/input/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/thd $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/th-cmd $(1)/usr/sbin
$(INSTALL_BIN) ./files/triggerhappy.init $(1)/etc/init.d/triggerhappy
$(INSTALL_BIN) ./files/triggerhappy.hotplug $(1)/etc/hotplug.d/input/10-triggerhappy
$(INSTALL_BIN) ./files/triggerhappy-example.conf $(1)/etc/triggerhappy/triggers.d/example.conf
endef
$(eval $(call BuildPackage,triggerhappy))

View File

@ -0,0 +1,14 @@
# This is an example configuration for the triggerhappy daemon (thd)
# please note that every file to be processed must end in ".conf"
#
# To view a list of supported event codes, use "thd --listevents" or
# "thd --dump /dev/input/event*"
#
# Format:
# <eventcode> <value> <command>
#
# values for key events are 1 (pressed), 0 (released) or 2 (held)
#
## control an mpd instance
# KEY_NEXTSONG 1 /usr/bin/mpc next
# KEY_PREVSONG 1 /usr/bin/mpc prev

View File

@ -0,0 +1,15 @@
#!/bin/sh
THD_SOCKET=/tmp/triggerhappy.socket
[ -S "$THD_SOCKET" ] || exit
case "$ACTION" in
add)
DEVICE="/dev/$DEVNAME"
[ -c "$DEVICE" ] || exit
# offer device to triggerhappy daemon
/usr/sbin/th-cmd --socket "$THD_SOCKET" --add "$DEVICE"
;;
remove)
# nothing to do
;;
esac

View File

@ -0,0 +1,10 @@
#!/bin/sh /etc/rc.common
START=93
start() {
/usr/sbin/thd --socket /tmp/triggerhappy.socket --triggers /etc/triggerhappy/triggers.d/ --daemon /dev/input/event*
}
stop() {
/usr/sbin/th-cmd --socket /tmp/triggerhappy.socket --quit
}