Bluetooth_Icon

ぼくのiPhoneはWiFi接続のテザリングに対応していないので、Bluetooth接続のテザリングを使っています(BluetoothだとWiFiに比べてすぐつながるし、ずーっとテザリング許可で待ち受けしていてもiPhoneの電池の持ちがいいので重宝しています。iPhone 3Gsの3G接続でも調子がいいときは250kbpsくらい安定してスピードがでるので、かなり便利です)。

参考→ MacとiPhoneをBluetoothで繋いでテザリングする方法 – hirofumi.net

いままでは接続の際に毎回メニューバーのBluetoothメニュー→iPhone→Connect to Networkを選んで接続していたのですが、都心の電車で移動しながら仕事している場合みたいに、頻繁に接続とスリープによる接続解除を繰り返すケースではその操作が煩わしい場合がありました。

最近、ブラウザの自動化やApple Scriptによる録音アプリケーションの自動操作にハマっていたので、この操作の時間を短縮できないかと思って調べたら、Bluetoothの接続操作もApple Scriptから操作できることがわかったのでまとめておきます。

キーボードによる接続の手順

1. Bluetoothテザリングへの接続を操作するApple Script

以下のようなApple Scriptを、connectBluetoothTetheringという名前のテキストファイルとして、適当な場所に保存してください(もしくは、connectBluetoothTethering on gistからダウンロードしてください)。たとえば、Dropbox内のbinフォルダ(~/Dropbox/bin/)等に保存すると他のMacでも同様に利用できるので、複数台利用者には便利かもしれません。

#!/usr/bin/osascript

tell application "System Events"
	tell application process "SystemUIServer"
		tell menu bar 1
			set bt to item 1 of (menu bar items whose description is "bluetooth")
		end tell
		tell bt
			click it
			click menu item "iPhone" of menu 1
			click menu item "Connect to Network" of menu 1 of menu item "iPhone" of menu 1
		end tell
	end tell
end tell

2. 実行権限の付与

ターミナルを開いて、実行権限を付与してください。以下は~/Dropbox/bin/に保存した場合の例。ターミナルから実行する場合は、~/Dropbox/bin/がPATH環境変数に追加されている必要がありますが、以下のセクションで説明するように、Better Touch Toolでショートカットを割り当てる場合は必ずしもPATHが通っている必要はありません。

cd ~/Dropbox/bin
chmod 755 connectBluetoothTethering

3. Better Touch Toolによるショートカットキーの割り当て

任意の動作にショートカットキーを割り当てられる「Better Touch Tools」を併用すると、「Shift+Command+@」など好きなショートカットでBluetoothによるテザリングに接続できるようになります。

1. Advanced→Gestures→Globalを選択して、右側のリストの下にある「+ Add New Shortcut」をクリック。割り当てるショートカットキーを設定する(たとえばShift+Command+@)など。

BTT_Bluetooth1

2. 割り当てるアクションとしてExecute Terminal Commandを選択し、ダイアログに先ほど保存したAppleScriptファイルのフルパスを指定。

BTT_Bluetooth2

3. Better Touch Toolsのウインドウを閉じる。Shift+Command+@を入力すると、メニューバーのBluetoothのところが開いて、iPhoneが選択され、接続メニューが選択されます(動作が早すぎて見えないこともあります)。

 

4. 最初に実行するときには、Security & Privacyの環境設定で、Accessibilityの項目に対してコンピュータのコントロールを許可する必要があります。ダイアログが表示されるので、それに従って設定してくださ(ウインドウの左下の鍵マークをクリックしてパスワードを入力→Terminal.appの横のチェックボックスをクリックしてチェックを付ける)。設定完了後、もう一度ショートカットキーを入力すると、Bluetoothのメニューが操作されて、テザリングが接続されるはずです。

SecurityPrivacy_Accessibility_Terminal

 

環境に依存する箇所

1. “iPhone”となっているところは、自分のiPhoneの名前(Bluetoothのメニューに出てくるときの名前)に変更してください。

2. Bluetoothの接続のためのメニュー項目の名称は”Connect to Network”となっていますが、日本語モードで使っている場合は、”ネットワークへ接続”に書き換えてください(ぼくは海外の人と一緒に働くときの利便性と、メニューバーをキーボードからコントロールできる便利さを享受するために、OS Xは英語モードで使っているのでConnect to Networkになっています)。

それではすてきな移動中仕事ライフを。