水底

ScalaとかC#とかk8sとか

キーバインディング暫定まとめ(Win/OSX/Linux)

(Linuxに追記アリ 2016/12/3)

独自のキーバインディングを多用する, しないと死ぬタイプの人種のため全ての環境でなにかしらのキーバインディングソフトにお世話になっている. 一段落したため各環境について簡単にまとめておく.

Windows

マルチコア+特定条件(詳細不明)下でmodifierがたまに外れなくなるっぽい. つらい.

nodoka

汎用キーバインディング変更ソフト「のどか」 一択. 窓使いの憂鬱の派生ソフトでシェアウェア(1,800円). modifierの置き換え・定義が自由, SandSのような複雑な状態もわずか一行で定義可能でそのキーリピートまでも設定可能. 公式ドキュメントも豊富でGUIエディタもある. なんでもできるしなんでもある. 開発も継続されていて正式にWindows10サポートされている. 1,800円だが有能すぎるので安い. 「AutoHotKey…?そんなのありましたねw」と鼻で笑えるレベル.

www.appletkan.com

AutoHotKey

有名だがnodokaを差し押さえてまで使う理由とは

OSX/macOS

Karabiner(旧: KeyRemap4MacBook)

Karabiner - OS X用のソフトウェア 一択. 扱いやすいしなんでもできる. macOS Sierra対応予定はあるものの少し時間がかかりそう. KarabinerのためにSierraを見送ってる人も多いのでは.

github.com

Linux

AutoKey

AutoKey がメインの最有力候補. 基本的なバンディングはGUIから簡単に設定できる. pythonスクリプトも利用可能. ただしmodifierの置き換え・定義やSandSのような複雑な状態は扱えないため後述のxkb, xcapeを併用する必要がある. また, gnome-shellなど一部の環境で動かず, mozcと相性が悪いのか変換中の動作が不安定. また, gnome globalのバインディングを扱えない模様. 問題点は多いが大体は素直に動く.

github.com

xkb

基本的に何でも設定が可能, だが設定が非常に複雑. レイヤが低い. 個人的にはmodifierの置き換えだけに利用している.

https://www.x.org/wiki/XKB/

xcape

SandSのような状態に特化したソフト. 部分的にxmodmapを併用することになる. 個人的にはSandSに利用している.

github.com

xmodmap

[linux キーバインディング] で調べるとよく見かける, が, 表現力が低すぎてメインとしては利用できない(複雑なバンディングを使いすぎている説もある).

xbindkeys & xdotool

これまた [linux キーバインディング] で調べるとよく見かける. これらは別々のソフトで, XBindKeys がフックを担当し, キーエミュレーションを xdotool が行う. シェルスクリプトで定義するためいろいろできる. そして使ってみると一見良さそうな動きをする. が, 一部のアプリ(e.g. Intellij IDEA)で動作しない. 致命的. そしてmodifier付きの操作が効かないことが多々ある. そして最後にもうひとつ, レスポンスが遅い. 外部のコマンドを毎回呼び出しているせいなのか特別遅くはないが体感できるラグがある. delay設定かと思ったが違うようだ. いろいろと惜しい.

xkremap (2016/12/3 追記)

試していないがLinux用, もといX用のxkremapというのが出たらしい

k0kubun.hatenablog.com