本文へジャンプ

GIDEON STAFF BLOG

FreeBSD で BlueTooth マウスを利用する

最近は BlueTooth を内蔵しているハードウェア(特にラップトップ)が増えたが、 勿論 FreeBSD からも BlueTooth マウスは利用可能である。
特にラップトップの場合少ない USB ポートを占有しないので、 BlueTooth マウスは非常に嬉しいハードウェアだといえる。

BlueTooth マウスを利用するためにはカーネルモジュールをロードする必要がある。 シェルプロンプトから kldload (8) を実行してロードしてもよいが、 /boot/loader.conf に以下の記述をすることで 起動時に自動的にカーネルモジュールをロードする様になる。

netgrph_load="YES"
ng_ubt_load="YES"
vkbd_load="YES"
	

BlueTooth 機器に接続するためには BlueTooth 機器のデバイスアドレスと 機器の名称が必要になるので、 hccontrol (8) コマンドを実行して それらの情報を取得する。

# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
        BD_ADDR: XX:XX:XX:XX:XX:XX
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 0x2
        Page Scan Mode: 00
        Class: 38:01:0c
        Clock offset: 0x5f95
Inquiry complete. Status: No error [00]
	

BlueTooth 機器との接続を管理するのは hcsecd (8) というコマンドなので、 接続する機器ごとの情報を /etc/bluetooth/hcsecd.conf に登録しておく。

device {
	bdaddr  XX:XX:XX:XX:XX:XX;
	name    "任意の名称";
	key     nokey;
	pin     nopin;
}
	

BlueTooth マウスのデバイスアドレスを /etc/bluetooth/hosts に登録する。
XX:XX:XX:XX:XX:XX	任意の名称
	

bthidcontrol (8) コマンドで BlueTooth マウスの情報を取得し 定義ファイルに出力した上で、bthidd (8) コマンドを実行すると BlueTooth マウスが利用可能となる。

# bthidcontrol -a 名称 query > /etc/bluetooth/bthidd.conf
# bthidd -c /etc/bluetooth/bthidd.conf