読者です 読者をやめる 読者になる 読者になる

The jonki

呼ばれて飛び出てじょじょじょじょーんき

[KeyRemap4MacBook] [Mac] [HHKB]KeyRemap4MacBookでキーをいろいろカスタマイズする

Mac

HHKB proのUS配列を友人に安く譲ってもらったはいいものの、HHKBの独特な癖に戸惑っていたがKeyRemap4MacBookというアプリでかなり柔軟にキーをカスタマイズできるようになった。環境はMacです。


KeyRemap4MacBook

KeyRemap4MacBookではいくつかの汎用的なキーバインドGUIで簡単にセットできるようになっています。ただそれだけではどうしても自分好みにカスタマイズしきれないので、足りない部分はprivate.xmlという設定ファイルを利用して自分好みにカスタマイズします。

方針

  • vimライクなカーソル操作をできるようにする
  • 普段Windowsも使うことからControlキー(WindowsだとCtrl)を使ったキーバインドWindowsと同じ使い方ができるようにする
  • 同様にCtrlキーは他のアプリと競合しないようにキーバインドはよく選別する
  • ホームポジションからほぼ動かなくてもカーソルキー、Backspace、Delete、Enter、Escapeを使い回せるようにする

キーバインド1 GUI

KeyRemap4MacBookを開いて[Change Key]のタブを開くと多くの汎用的なキーバインドチェックボックス式であります。検索窓をうまく使って下記をさくさくと設定しましょう。

Vi風に使う

[Vi Mode]で検索し、 Command_L to hjkl to Left/Down/Up/Rightにチェック

Windows風に使う
  • コピペ系: Use PC Style Copy/Paste (Control+C/V/X => Command+C/V/X)
  • アンドゥ: Use PC Style Undo (Control+Z to Command+Z)
  • 全選択 : Use PC Style Select All (Control+A to Command+A)
  • 保存  : Use PC Style Save (Controle+S to Command+S)
  • 新規作成: Use PC Style New (Control+N to Command+N)
  • 検索  : Use PC Style Find (Control + F to Command F)
言語きりかえ

[For Japanese]で検索し、[左右のコマンドキーを英数/かなとしても使う]にチェックで、左のCommandキーで英語、右のCommandキーで日本語入力になる

キーバインド2 private.xml

他にもDeleteやEscapeといったコマンドもControlキーをベースにやりたかったのでメニューとして用意されていないものは自作します。KeyRemap4MacBookの[Misc & Uninstall]のタブをクリックし、[Open private.xml]をクリック。private.xmlをエディターで編集します。

今回は4つのキーバインドを作りました。

  • Control+i => Backspace
  • Control+; => Delete
  • Control+' => Enter
  • Control+[ => Escape

他の例やキーリストはオフィシャルを参考にしてください。

<?xml version="1.0"?>
<root>
    <item>
        <name>Control+i to Backspace</name>
        <identifier>private.jonki.command_i-to-Backspace</identifier>
        <autogen>
        __KeyToKey__
        KeyCode::I, ModifierFlag::COMMAND_L,
        KeyCode::DELETE
    </autogen>
    </item>

    <item>
        <name>Control+; to Delete</name>
        <identifier>private.jonki.command_;-to-Delete</identifier>
        <autogen>
        __KeyToKey__
        KeyCode::SEMICOLON, ModifierFlag::COMMAND_L,
        KeyCode::FORWARD_DELETE
    </autogen>
    </item>

    <item>
        <name>Control+' to Enter</name>
        <identifier>private.jonki.command_'-to-Enter</identifier>
        <autogen>
        __KeyToKey__
        KeyCode::QUOTE, ModifierFlag::COMMAND_L,
        KeyCode::ENTER
    </autogen>
    </item>

        <item>
        <name>Control+[ to ESC</name>
        <identifier>private.jonki.command_[-to-ESC</identifier>
        <autogen>
        __KeyToKey__
        KeyCode::BRACKET_LEFT, ModifierFlag::COMMAND_L,
        KeyCode::ENTER
    </autogen>
    </item>

</root>


これでだいぶ使いやすくなりました。会社などでJPキーボードやWindowsを使っていてもこれなら結構スムーズに切り替えられそうです。もちろんCaps lockなどのようなものはChange KeyなどでCtrl扱いにしておくのが前提ですが。