summaryrefslogtreecommitdiffstats
path: root/abs/core/runit/runitscripts/services/lircd/run
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/runit/runitscripts/services/lircd/run')
-rwxr-xr-xabs/core/runit/runitscripts/services/lircd/run39
1 files changed, 39 insertions, 0 deletions
diff --git a/abs/core/runit/runitscripts/services/lircd/run b/abs/core/runit/runitscripts/services/lircd/run
new file mode 100755
index 0000000..4457b37
--- /dev/null
+++ b/abs/core/runit/runitscripts/services/lircd/run
@@ -0,0 +1,39 @@
+#!/bin/bash
+exec 2>&1
+run_lircd2=false
+. /etc/systemconfig
+function imon_detect {
+if [ -e /dev/lirc_imon ]
+then
+lircd2_cmd="/usr/sbin/lircd -d /dev/lirc_imon --output=/dev/lircd --pidfile=/var/run/lircd2.pid --connect=localhost:8765"
+run_lircd2=true
+fi
+}
+
+
+
+case $ReceiverType in
+ Serial)
+ /usr/bin/setserial /dev/$ReceiverSerialport uart none
+ /sbin/modprobe lirc_serial
+ DEVICE=`ls /dev/lirc[0-9] 2>/dev/null |sort |sed '/./,$!d'|head -n 1 `
+ imon_detect
+ ;;
+ Usb-imon)
+ DEVICE=/dev/lirc_imon
+ ;;
+
+ *)
+
+ DEVICE=`ls /dev/lirc[0-9] 2>/dev/null |sort |sed '/./,$!d'|head -n 1 `
+ imon_detect
+ ;;
+esac
+
+if [ "$run_lircd2" = "true" ]
+then
+ $lircd2_cmd 2>/dev/null 1>/dev/null
+ exec /usr/sbin/lircd -n -d $DEVICE --output /dev/lircd1 --listen 2>/dev/null 1>/dev/null
+else
+ exec /usr/sbin/lircd -n -d $DEVICE 2>/dev/null 1>/dev/null
+fi