1*0696600cSBjoern A. Zeeb#!/bin/sh 2*0696600cSBjoern A. Zeeb# 3*0696600cSBjoern A. Zeeb# $FreeBSD$ 4*0696600cSBjoern A. Zeeb# 5*0696600cSBjoern A. Zeeb 6*0696600cSBjoern A. Zeeb# PROVIDE: bthidd 7*0696600cSBjoern A. Zeeb# REQUIRE: DAEMON hcsecd 8*0696600cSBjoern A. Zeeb# BEFORE: LOGIN 9*0696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown 10*0696600cSBjoern A. Zeeb 11*0696600cSBjoern A. Zeeb. /etc/rc.subr 12*0696600cSBjoern A. Zeeb 13*0696600cSBjoern A. Zeebname="bthidd" 14*0696600cSBjoern A. Zeebdesc="Bluetooth HID daemon" 15*0696600cSBjoern A. Zeebrcvar="bthidd_enable" 16*0696600cSBjoern A. Zeebcommand="/usr/sbin/${name}" 17*0696600cSBjoern A. Zeebpidfile="/var/run/${name}.pid" 18*0696600cSBjoern A. Zeebstart_precmd="bthidd_prestart" 19*0696600cSBjoern A. Zeeb 20*0696600cSBjoern A. Zeebevdev_enabled() 21*0696600cSBjoern A. Zeeb{ 22*0696600cSBjoern A. Zeeb case ${bthidd_evdev_support} in 23*0696600cSBjoern A. Zeeb [Aa][Uu][Tt][Oo]) 24*0696600cSBjoern A. Zeeb check_kern_features evdev_support 25*0696600cSBjoern A. Zeeb return $? 26*0696600cSBjoern A. Zeeb ;; 27*0696600cSBjoern A. Zeeb *) 28*0696600cSBjoern A. Zeeb checkyesno bthidd_evdev_support 29*0696600cSBjoern A. Zeeb return $? 30*0696600cSBjoern A. Zeeb ;; 31*0696600cSBjoern A. Zeeb esac 32*0696600cSBjoern A. Zeeb} 33*0696600cSBjoern A. Zeeb 34*0696600cSBjoern A. Zeebbthidd_prestart() 35*0696600cSBjoern A. Zeeb{ 36*0696600cSBjoern A. Zeeb if evdev_enabled; then 37*0696600cSBjoern A. Zeeb load_kld -m uinput uinput 38*0696600cSBjoern A. Zeeb fi 39*0696600cSBjoern A. Zeeb load_kld -m kbdmux kbdmux 40*0696600cSBjoern A. Zeeb load_kld -m vkbd vkbd 41*0696600cSBjoern A. Zeeb load_kld -m ng_btsocket ng_btsocket 42*0696600cSBjoern A. Zeeb return 0 43*0696600cSBjoern A. Zeeb} 44*0696600cSBjoern A. Zeeb 45*0696600cSBjoern A. Zeebload_rc_config $name 46*0696600cSBjoern A. Zeebconfig="${bthidd_config:-/etc/bluetooth/${name}.conf}" 47*0696600cSBjoern A. Zeebhids="${bthidd_hids:-/var/db/${name}.hids}" 48*0696600cSBjoern A. Zeebcommand_args="-c ${config} -H ${hids} -p ${pidfile}" 49*0696600cSBjoern A. Zeebif evdev_enabled; then 50*0696600cSBjoern A. Zeeb command_args="$command_args -u" 51*0696600cSBjoern A. Zeebfi 52*0696600cSBjoern A. Zeebrequired_files="${config}" 53*0696600cSBjoern A. Zeeb 54*0696600cSBjoern A. Zeebrun_rc_command "$1" 55