日々適当

hibitekitou

修飾キー設定をトグルで切り替える

mac |2006-12-21
自分用メモ。

職場でMacBookはKVMスイッチを介して、PC用のキーボードにつながっております。
すると問題になるのは、CommandとOptionキーが逆位置になることでして、つまり、WindowsキーがCommandキーに、AltキーがOptionキーに割り当てられるのですね。
んが、そこはMac miniを発売したApple。ちゃんと考えていて、システム環境設定→キーボードとマウスのキーボードタブにある修飾キー…ボタンからCaps Lock、Contrl、Option、Commandキーについては互いに動作を入れ替えることを可能にする設定を行えます。
ところが、KVMスイッチにつないでいる間はCommandとOptionを逆に、つないでいないときは通常の状態に、ってのをいちいち手動でやっていくのはとっても面倒なわけです。

そんなわけで、昨夜、ちょろっとスクリプトを作りました。
/Library/Scripts/UI Elemeent Scripts
にあるスクリプトを参考に、

tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.keyboard"
end tell

tell application "System Events"

tell process "System Preferences"

click radio button "キーボード" of tab group 1 of window "キーボードとマウス"
click button "修飾キー..." of tab group 1 of window "キーボードとマウス"
delay 0.5

set commandKeyValue to (value of pop up button 4 of sheet 1 of window "キーボードとマウス") as string
delay 0.5
--display dialog commandKeyValue
if not commandKeyValue = "Option" then --※

--Optionキーの動作をコマンドに
click pop up button 3 of sheet 1 of window "キーボードとマウス"
click menu item 4 of menu 1 of pop up button 3 of sheet 1 of window "キーボードとマウス"

delay 0.5

--コマンドキーの動作をOptionに
click pop up button 4 of sheet 1 of window "キーボードとマウス"
click menu item 3 of menu 1 of pop up button 4 of sheet 1 of window "キーボードとマウス"

else

click button "デフォルトに戻す" of sheet 1 of window "キーボードとマウス"

end if

click button "OK" of sheet 1 of window "キーボードとマウス"

end tell
tell application "System Preferences"
quit
end tell

end tell

ってな感じです。
ちなみに、※印の部分。つまり現在の設定がデフォルト状態なのか逆位置になっている状態なのかの判断をしている部分(CommandキーがOptionキーとなっているか否か、の判断部分)で"Option"と書かれていますが、正確には、Optionの前にOptionキーを表す文字が入ります。でもスクリプトエディタ上では空白文字のように見えるので注意です。

追記
訂正。
UI element scriptingのオンオフのチェックを入れていたらなんかうまく走らないので、そこの部分を削除しました。
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。