/
lircd.conf
96 lines (76 loc) · 2.25 KB
/
lircd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Starts LIRC daemon.
#
# LIRC is used to control different
# infrared receivers and transceivers.
description "LIRC Daemon"
author "Gerald Dachs <gda@dachsweb.de>"
start on started eventlircd
stop on stopping eventlircd
respawn
normal exit 0
script
load_modules ()
{
MODULES_MISSING=false
for mod in $*; do
modprobe $mod 2> /dev/null || MODULES_MISSING=true
done
if $MODULES_MISSING; then
exit 0
fi
}
test -f /usr/sbin/lircd || exit 0
if [ -f /etc/lirc/hardware.conf ];then
. /etc/lirc/hardware.conf
fi
if [ ! -f /etc/lirc/lircd.conf ] || \
grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf ||\
[ "x$START_LIRCD" = "xfalse" ]; then
exit 0
fi
if [ "$LOAD_MODULES" = "true" ]; then
load_modules $REMOTE_MODULES
fi
REMOTE_SOCKET=/var/run/lirc/lircd
build_remote_args ()
{
REMOTE_ARGS="$*"
#For remote only detection support, we need
#both REMOTE_DEVICE and TRANSMITTER_DEVICE undefined
if [ -z "$REMOTE_DEVICE" ] && [ -z "$TRANSMITTER_DEVICE" ] && [ -c $dev ]; then
REMOTE_DEVICE="$dev"
fi
#If we have a REMOTE_DEVICE or REMOTE_DRIVER defined (either because no devices
#were defined, OR if we explicitly did), then populate REMOTE_ARGS
if [ ! -z "$REMOTE_DEVICE" ] || [ ! -z "$REMOTE_DRIVER" ]; then
if [ -n "$REMOTE_DEVICE" ] && [ "$REMOTE_DEVICE" != "none" ]; then
REMOTE_ARGS="--device=$REMOTE_DEVICE $REMOTE_ARGS"
fi
if [ -n "$REMOTE_DRIVER" ] && [ "$REMOTE_DRIVER" != "none" ]; then
REMOTE_ARGS="--driver=$REMOTE_DRIVER $REMOTE_ARGS"
fi
#Now, if we ALSO have a transmitter defined, add some args
#To make the first lircd listen up
if [ ! -z "$TRANSMITTER_DEVICE" ] || [ ! -z "$TRANSMITTER_DRIVER" ]; then
REMOTE_ARGS="$REMOTE_ARGS --listen"
fi
REMOTE_ARGS="--output=$REMOTE_SOCKET.$$ $REMOTE_ARGS"
fi
echo $REMOTE_ARGS
}
REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS`
if [ -z "$REMOTE_LIRCD_ARGS" ]; then
exit 0
fi
exec /usr/sbin/lircd --nodaemon --uinput $REMOTE_LIRCD_ARGS
end script
pre-start script
if [ -f /etc/lirc/hardware.conf ];then
. /etc/lirc/hardware.conf
fi
if [ ! -f /etc/lirc/lircd.conf ] || \
grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf ||\
[ "x$START_LIRCD" = "xfalse" ]; then
exit 1
fi
end script