]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/moused
Add UPDATING entries and bump version.
[FreeBSD/FreeBSD.git] / etc / rc.d / moused
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: moused
7 # REQUIRE: DAEMON FILESYSTEMS
8 # KEYWORD: nojail shutdown
9
10 . /etc/rc.subr
11
12 name="moused"
13 desc="Mouse daemon"
14 rcvar="moused_enable"
15 command="/usr/sbin/${name}"
16 start_cmd="moused_start"
17 pidprefix="/var/run/moused"
18 pidfile="${pidprefix}.pid"
19 pidarg=
20 load_rc_config $name
21
22 # Set the pid file and variable name. The second argument, if it exists, is
23 # expected to be the mouse device.
24 #
25 if [ -n "$2" ]; then
26         eval moused_$2_enable=\${moused_$2_enable-${moused_nondefault_enable}}
27         rcvar="moused_${2}_enable"
28         pidfile="${pidprefix}.$2.pid"
29         pidarg="-I $pidfile"
30 fi
31
32 moused_start()
33 {
34         local ms myflags myport mytype
35
36         # Set the mouse device and get any related variables. If
37         # a moused device has been specified on the commandline, then
38         # rc.conf(5) variables defined for that device take precedence
39         # over the generic moused_* variables. The only exception is
40         # the moused_port variable, which if not defined sets it to the
41         # passed in device name.
42         #
43         ms=$1
44         if [ -n "$ms" ]; then
45                 eval myflags=\${moused_${ms}_flags-$moused_flags}
46                 eval myport=\${moused_${ms}_port-/dev/$ms}
47                 eval mytype=\${moused_${ms}_type-$moused_type}
48         else
49                 ms="default"
50                 myflags="$moused_flags"
51                 myport="$moused_port"
52                 mytype="$moused_type"
53         fi
54
55         check_startmsgs && echo -n "Starting ${ms} moused"
56         /usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${pidarg}
57         check_startmsgs && echo '.'
58
59         mousechar_arg=
60         case ${mousechar_start} in
61         [Nn][Oo] | '')
62                 ;;
63         *)
64                 mousechar_arg="-M ${mousechar_start}"
65                 ;;
66         esac
67
68         for ttyv in /dev/ttyv* ; do
69                 vidcontrol < ${ttyv} ${mousechar_arg} -m on
70         done
71 }
72
73 run_rc_command $*