File joystick of Package alsa
114
1
#! /bin/bash
2
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany.
3
# (c) 2014 SUSE Linux Products GmbH
4
#
5
# Author: Takashi Iwai <tiwai@suse.de>, 2001
6
#
7
# /etc/init.d/joystick
8
#
9
### BEGIN INIT INFO
10
# Provides: joystick
11
# Required-Start: alsasound
12
# Required-Stop: alsasound
13
# Default-Start: 2 3 5
14
# Default-Stop:
15
# Short-Description: Set up analog joysticks
16
# Description: Loading joystick drivers
17
### END INIT INFO
18
19
. /etc/rc.status
20
. /etc/sysconfig/joystick
21
22
alsactl=/usr/sbin/alsactl
23
if [ -x /sbin/lsmod ]; then
24
lsmod=/sbin/lsmod
25
else
26
lsmod=/bin/lsmod
27
fi
28
29
# load joystick drivers
30
function start () {
31
# first load joydev module
32
if [ -z "${JOYSTICK_MODULE_0}${JOYSTICK_MODULE_1}${JOYSTICK_MODULE_2}${JOYSTICK_MODULE_3}" ]; then
33
rc_failed 5
34
return
35
fi
36
37
/sbin/modprobe joydev
38
for js in 0 1 2 3; do
39
# load gameport module
40
eval jsmod=\$GAMEPORT_MODULE_$js
41
if [ -n "$jsmod" -a "$jsmod" != off ]; then
42
/sbin/modprobe $jsmod >/dev/null 2>&1
43
fi
44
# load joystick module
45
eval jsdev=\$JOYSTICK_MODULE_$js
46
eval jsdev_opts=\$JOYSTICK_MODULE_OPTION_$js
47
if [ -n "$jsdev" -a "$jsdev" != off ]; then
48
/sbin/modprobe $jsdev $jsdev_opts >/dev/null 2>&1
49
fi
50
done
51
}
52
53
function stop () {
54
for js in 0 1 2 3; do
55
# remove gameport module
56
eval jsmod=\$GAMEPORT_MODULE_$js
57
if [ -n "$jsmod" -a "$jsmod" != off ]; then
58
/sbin/modprobe -r $jsmod
59
fi
60
# remove joystick module
61
eval jsdev=\$JOYSTICK_MODULE_$js
62
if [ -n "$jsdev" -a "$jsdev" != off ]; then
63
/sbin/modprobe -r $jsdev
64
fi
65
done
66
}
67
68
# See how we were called.
69
case "$1" in
70
start)
71
echo -n "Starting joystick driver"
72
start
73
rc_status -v
74
;;
75
stop)
76
# Stop daemons.
77
echo -n "Stopping joystick driver"
78
stop
79
rc_status -v
80
;;
81
try-restart)
82
$0 status >/dev/null && $0 restart
83
rc_status
84
;;
85
restart)
86
$0 stop
87
$0 start
88
rc_status
89
;;
90
force-reload)
91
$0 stop && $0 start
92
rc_status
93
;;
94
reload)
95
rc_failed 3
96
rc_status -v
97
;;
98
status)
99
if $lsmod | grep -q joydev; then
100
echo -n "Joystick driver loaded."
101
rc_status -v
102
else
103
echo -n "Joystick driver not loaded."
104
rc_status -u
105
fi
106
;;
107
*)
108
echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status}"
109
exit 1
110
;;
111
esac
112
113
rc_exit
114