summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/moused
blob: 57419a0a7810fce1ef9aa0d4a6588e7452f96efc (plain)
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
#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: moused
# REQUIRE: DAEMON FILESYSTEMS
# KEYWORD: nojail shutdown

. /etc/rc.subr

name="moused"
rcvar="moused_enable"
command="/usr/sbin/${name}"
start_cmd="moused_start"
pidprefix="/var/run/moused"
pidfile="${pidprefix}.pid"
pidarg=
load_rc_config $name

# Set the pid file and variable name. The second argument, if it exists, is
# expected to be the mouse device.
#
if [ -n "$2" ]; then
	eval moused_$2_enable=\${moused_$2_enable-${moused_nondefault_enable}}
	rcvar="moused_${2}_enable"
	pidfile="${pidprefix}.$2.pid"
	pidarg="-I $pidfile"
fi

moused_start()
{
	local ms myflags myport mytype

	# Set the mouse device and get any related variables. If
	# a moused device has been specified on the commandline, then
	# rc.conf(5) variables defined for that device take precedence
	# over the generic moused_* variables. The only exception is
	# the moused_port variable, which if not defined sets it to the
	# passed in device name.
	#
	ms=$1
	if [ -n "$ms" ]; then
		eval myflags=\${moused_${ms}_flags-$moused_flags}
		eval myport=\${moused_${ms}_port-/dev/$ms}
		eval mytype=\${moused_${ms}_type-$moused_type}
	else
		ms="default"
		myflags="$moused_flags"
		myport="$moused_port"
		mytype="$moused_type"
	fi

	check_startmsgs && echo -n "Starting ${ms} moused"
	/usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${pidarg}
	check_startmsgs && echo '.'

	mousechar_arg=
	case ${mousechar_start} in
	[Nn][Oo] | '')
		;;
	*)
		mousechar_arg="-M ${mousechar_start}"
		;;
	esac

	for ttyv in /dev/ttyv* ; do
		vidcontrol < ${ttyv} ${mousechar_arg} -m on
	done
}

run_rc_command $*
OpenPOWER on IntegriCloud