Mac のFunction Keyの機能を簡単に切り替える為に

Macのキーボードには初期状態でF1〜F12が画面の明るさ調整やExpose,LaunchPad,iTuneの早送りや音量調整がアサインされています。

それらは確かにとても便利ですがAdobeのアプリケーションなどで使っている時には普通のFunction Keyとして使いたいとよく思います。

しかしそれを素早くオン/オフするには毎回環境設定で以下のチェックボタンをオンオフしなければなりません。

それはとても面倒くさいと常々思っていました。

Keyboard

そこで色々とググってみると以下の様な情報に辿り着きました。

osx – Enable/Disable Fn keys from the command line on the Mac – Stack Overflow

Terminal Turn Hardware Keys On And Off: Apple Support Communities

どうやら同じ様に不便に感じている方が多いようです(笑)

それらをオンオフするにはApplescriptによる方法とOS Xのdefaultsコマンドの”com.apple.keyboard.fnState”の状態を、

コマンドで書き換える方法の2通りがあるようです。

実行速度はおそらくアップルスクリプトよりはシェルスクリプトで書いた方が早いと思われますが、

Applescriptでもそんなに遅く感じなかったの僕はこれをアプリケーションとして保存してみました。

[applescript]
–Check if GUI Scripting is Enabled
tell application "System Events"
if not UI elements enabled then
set UI elements enabled to true
end if
end tell

–Enable/Disable "Use all F1, F2, etc. keys as standard function keys" option in Keyboard & Mouse Preference pane and close System Preferences
tell application "System Events"
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
click checkbox 1 of tab group 1 of window 1 of application process "System Preferences"
end tell
if application "System Preferences" is running then
tell application "System Preferences" to quit
end if
[/applescript]

こちらから落として自由に使ってみて下さい。

僕はMagic Numpadに以下の様にF13にアサインしてみました。

Magic Trakpadをご使用の方、これマジでオススメですよ。

Skitched 20120322 221922