BACK
NEXT

町内一過激な
キーボードカスタマイズ
Part 1

English version is here.
French version is here.

ハードウェア

まず第一にハードウェアとして、 私は KINESIS 社の Ergonomic キーボードを選択しました。 外見は大体以下のような感じです。

Kinesis キーボードの画像

実を言うとこのキーボード、 私の手にとっては少々大きいような気がします (私は昔から怠惰な人間だったので、 人並みの大きさに成長するのさえ面倒だったのです)。 が、それでも通常のキーボードに比べるとはるかにマシです。 特に、バックスペースやコントロールなど、 頻繁に使うキーが親指に割り当てられている点は評価できます。 親指は運動性能が高いので、 スペースバーだけに使うには勿体なさすぎます。

Ergonomic キーボードについては、 KINESIS社のWebページ に詳しい説明があります。


XKB による変更

ハードウェアが決まったところで、 まずはコントロールキーあるいはメタキーと共に用いられる 各種コマンドの配列を変更することにしました。 Emacs は非常に強力なエディタですが、 vi などに比べるとコマンドのキー割り当てに関して 人間工学的な配慮が足りないように思われたからです。

Emacs には define-key という、 キーバインディングを変更するための関数が用意されています。 もちろんこれを使うこともできるのですが、 各種多様な keymap すべてに対して define-key による変更を加えるのは大変です。 私のように怠惰な人間には、 とてもそんなことはできません。

そこで代りに XKB を使うことにしました。 XKB は X ウィンドーの拡張機能の一つで、 キーボードの配列をほとんど無制限に変更することができます。 しかもキーイベントの変更はすべてサーバー側で処理されます。 つまり XKB を用いれば、Emacs 側で個々の keymap に対して変更を加える必要はなくなるのです。

私が設定したコマンドキーのレイアウト図を示します。

新しいキー配列の画像

とにかくコントロールキーとメタキーは左右対称の位置に一つずつ欲しかったので、 まずそれらの位置を確保しました。 次に、よく使われるコマンドのうち、 1ストロークのものは右手の位置に、 2ストローク以上のものは左手の位置にそれぞれ集めてみました。 以下少々説明してみます。

ここまではいいとして、 ではなぜ 'h' が右側にあって 'z' と 'o' が左側にあるのでしょうか? その答えは次のセクションを読めばわかります。


Global-set-key による更なる変更

XKB による変更に加え、 ~/.emacs 中で global-set-key による変更 もいくつか試みました。

以上でカスタマイズの第一段階は終了です。



最終更新日 : 2006年12月20日