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