2014/02/23

[mac]Ctrl+Hでウィンドウを隠してほしくない

Mac初心者です。
Mac miniってのを使ってます。

Xcode使うだけだから適当に使えればいいやん、くらいに思っていたのだが、慣れというのは怖いものだ。
普段はWindows+AutoHotkeyを使ってキーバインドを変更しているし、レジストリでCapsLockとCtrlを入れ替えているので、無意識に「CapsLock + H」でバックスペース動作をしようとしてしまうのだ。

それで動かなければいいのだけど、Macの場合はウィンドウを隠す、という動作をしてしまう。
困った。

----

まず、CapsLockとCtrlを入れ替えたい。
Macだと、WindowsのCtrlキーにあたるのがCommandキーだと思っている。
Mac miniはキーボードがなかったので、Windowsで使っているキーボードを使っているのだが、Commandキーは無い。
KeyRemap4MacBookという便利なツールがあり、これはキーバインドを変更できるらしい。また、Macのキーボード設定でも修飾キーの変更ができる。

KeyRemap4MacBookにEventViewerというツールがあって、これは押したキーの種別を表示してくれる。
これで見ると、WindowsキーがCommandキーになっている。Optionキーの代わりはAltキーのようだ。

これを、システム環境設定のキーボードで、CapsLockをCommandに割り当てると、ちゃんとそうなる。
めでたしめでたし。

と思ったのだが、Ctrl+Hの問題が出てきた。
MacでDeleteの動作をするのはCtrl+Hで、Command+Hではない。
Command+Hはウィンドウを隠す、という動作になる。
うーむ。

KeyRemap4MacBookは、自由にカスタマイズするというよりも、カスタマイズのセットがあって選択していくタイプ。
でも、無いセットは自分で作ることもできる。
~/Library/Application Support/KeyRemap4MacBook/private.xmlを変更していけばいいらしい。

<item>
    <name>COMMAND_L+h, p, n, f, b</name>
    <identifier>option.key.hiro99ma</identifier>
    <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::COMMAND_L, KeyCode::DELETE</autogen>
    <autogen>__KeyToKey__ KeyCode::N, ModifierFlag::COMMAND_L, KeyCode::CURSOR_DOWN</autogen>
    <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::COMMAND_L, KeyCode::CURSOR_UP</autogen>
    <autogen>__KeyToKey__ KeyCode::F, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT</autogen>
    <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::COMMAND_L, KeyCode::CURSOR_LEFT</autogen>
</item>

identifierの書き方がよくわからないけど、とりあえず私の希望は叶えられた。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。