電卓片手に

キーリマップソフトウェアのOSごとにまとめる

投稿日:

キーリマップソフトというのがあります。有名なソフトウエアだと、Windows の窓使いの憂鬱AutoHotKey といったものです。 有名かはわかりませんが Mac OS X だと KeyRemap4MacBook あたりでしょうか。Linux で有名なのってあります?

これらのソフトは、PC 操作において主にvi (vim)、emacs 使い(かつマウス嫌いに) 一定の支持を受けています。

私自身はこのソフトウェアの出来しだいで、使う OS を決めている くらい重きを置いています。今回、新たな PC を購入するにあたって、 「Mac か DOS/V か、DOS/V なら Windows か Linux か。」と言った概ね 3 択をするために、 3年前に調べたのに また調べてみました。

これらのソフトを選択するにあたって、幾つかポイントをまとめました。

主にこの 3 つになります。

ちなみに、キーリマップソフト以外で比較すべき点としては CUI 環境なんですが、 これに関しては Linux » Mac => Win と言った感じです。Mac は Linux っぽくない コマンド系ですし、Windows では仮想環境を構築しないと満足できません。 できるなら Linux に理想的なキーリマップソフトが存在して欲しい。

比較したキーリマップソフトは、 のどかKeyRemap4MacbookAutoKey です。

前述した窓使いの憂鬱、AutoHotKey は今回比較対象外です。理由としては、

窓使いの憂鬱
Windows 7 で快適に動作させるには UAC を切る必要がある。だったはず。 この問題を解決するためにフォークされたのが「のどか」だったはずです。 もう 2, 3 年くらい前の話なので若干記憶が怪しいですが。 ちなみに、Mac, Linux で動くバージョンもあるようですが、 アプリケーションごとのキーバインド変更が不可能なようなのでやはり条件を 満たしていません。
AutoHotKey
後述しますが、「のどか」でやりたいことが全てで来てしまっているから。

のどか

Windows 7 でストレス無く動く、窓使いの憂鬱の後継。ポイントとなる 3 つが 完璧に抑えられています。

あえて難をつけるなら、設定ファイルの文法が独自のため、学習コストが掛かる くらいでしょうか。そんなに難しい文法ではありませんが。

現時点で私の条件にあう最適なキーリマップソフトです。

KeyRemap4Macbook

Mac OS X 向けリマップソフトウエア。ポイントとなる 3 つは概ね 抑えられています。

private.xml を書くことができれば、概ね好きなようにキーリマップ可能です。

しかし、キーバインドを切り替えるアプリケーションの指定にこだわりたいときは、 appdef.xml という XML に纏められてしまっていて若干煩雑な所があります。

AutoKey

Linux & X11 環境で動作するデスクトップオートメーションユーティリティ。 もともとリマップソフトとして作られていません。

基本としては、特定のキーを押したときに、予め設定された Python スクリプト が動くようになるソフトです。故に、前述したどのソフトウエアよりも、 いろいろなことができるようです。

また、「TL」->「Time Line」といった頭字語の設定・展開もしてくれます。 これは、入力システムの機能が豊富な言語圏にはあまり惹かれない機能ですね。

AutoKey をキーリマップソフトとして使うには問題が幾つかあります。

一つは、上記のポイントで言うところの 2 ストロークキーはサポートについてです。 基本的に AutoKey はサポートしていないので、2 ストロークキーを実現するには、 それなりの Python スクリプトを作成しなければなりません。

二つ目は、応答性能です。やはりランチャーを起源にしているようなので、 発火時のコストが高いようです。キーを入力して動作するまで若干のラグが あります。また、キーリピートをするとうまく動作しません。

三つ目は、ブラウザとの相性です。最近のブラウザ(firefox, google chrome)は、 アドレスバーに何か入力するとサジェストリストが表示されます。この状態で、C-n をタイプし、下のサジェスト項目にフォーカスしようとしてもうまく動作しません。 これに関しては 作成者も困っている ようです。

四つ目は、動作アプリケーションの指定方法です。 「有効にするアプリケーションはコレ」という指定を正規表現で行うのですが、 無効にするアプリケーションの指定ができず、正規表現だけで何とかしなければ なりません。しかも、それをキーマップ一つ一つに設定しなければなりません。 これではメンテナンスに膨大な労力を必要としてしまいます。

まとめる

キーリマップソフトを OS 跨いで比較しました。結果、

のどか(Win) => KeyRemap4Macbook(Mac) » AutoKey(Linux)

CUI 環境の比較と真逆になりましたね。。。

おまけ

X11 で動く Radpoison (殺鼠剤) って名前のウィンドウマネージャと、 その後継 Stump Window Manager (StumpWM) ってのがあるようです。

その名の通り、マウス嫌いが作者のウィンドウマネージャで、設定ファイルが Emacs っぽい Common-Lisp で作成するらしいです。Emacs 好きとしては、 とても気になるのですが。。。Eclipse などは動くんですかね。要調査ですね。