キーボード配列覚え書き

パソコン変えた。今度のThinkpad も、以前と同じA4サイズのモデルだから、キーボード配列は 以前とほとんど変わらないはずなんだけれど、すごい違和感。

それはWindows キーが増えたとか、ボタン配列がミリ単位で変わってるとか、 本当に些細なことなんだろうけれど、キーボードの打ち間違えが多発して、 バックスペース打つ右手の小指がおかしくなりそう。

キーボード配列を変更したときのメモ。「窓使いの憂鬱」を使用。

窓使いの憂鬱は、一見設定が難しいけれど、たくさんの人が設定ファイルを公開してるので、 ノウハウをもらうのがすごく楽。GUI でない、振る舞いをすべて記述しないといけないソフトというのは、 詳しい人しか使えないようでいて、「ネットで検索がかけられる」というメリットを生かすと、ド素人が触ってもどうにかなる。

配列のノウハウについては、以下のサイトを参考にさせていただいた。

OEA 配列

タッチタイプがどうしても出来なくて、キーボード配列は昔から無茶苦茶。

素直にDvorak 配列にしておけばよかったんだろうけれど、やっぱりマイナーな配列が好き。

窓使いの憂鬱」を使って、あらゆるアルファベットキーを入れ替えた。

これをやると、他の人には自分のパソコンさわれなくなるから、セキュリティの面でも ちょっとだけ安心だったりする。

英数 キーとControl キーの入れ替え

ThinkPad が中国に買収されてから、キーボードにはWindows キーがつくようになった。 そのあおりを食ったためか、昔はもっと大きかったコントロールキーが小さくなって、 これがものすごく打ちにくい。

普段滅多に使わない英数 キーが、ちょうど打ちやすい位置に空いているので、 これをコントロールキーと入れ替えた。

バックスペース

キーボードがちょっと変わるだけで、打ち間違えが増えた。バックスペースを 押す機会が増えてみると、今度は右手首がつりそうになった。

そんなに手が大きくないから、バックスペースには小指が届かなくて、 昔から中指で押す癖が抜けない。だからBSキー打ちに行くたびに、 右手首は大きく曲げられて、長く打ってるとすごく痛くなる。

手首壊れるのが時間の問題になってきたので、バックスペースを 「Ctrl + h 」で置き換えた。打ちやすければどんな配列にしてもいいんだろうけれど、 このやりかたが、Windows もともとの標準設定として入っているみたい。

ATOK を使っていると、「Ctrl + h 」にすでに似たような動作が割り当てられていて、 何だか挙動が怪しくなる。

ATOKの環境設定->キー・ローマ字・色->キーカスタマイズ でキー設定画面に入って、 ATOK 側の「Ctrl + h」設定を削除しておいたほうがいいと思う。

IME

標準のままだと、IME のオン/オフ は半角/全角キーに割り当てられていて、押しに行くのが大変。 このキーについては昔から「無変換」に割り当てていて、特に問題なく使えている。 手を全く動かさないで済むので楽。

日本語文章を打つ機会は多いはずだけれど、「変換」「無変換」のキーは、 とても打ちやすい場所にある割には、押したことがない。すごくもったいないと思う。

その他

Windows キーはやっぱり使わないし、押し間違えると何だか違和感があるので、無効化した。 「エンターキーの位置をセミコロンにする」というのがすごく快適らしいんだけれど、 OEA 配列ではそれができない。現時点では標準のまま。

設定

自分が使っている .mayu の設定ファイルはこんなかんじ。

if ( USE104 )
  include "104.mayu"        # 104 キーボード設定
  if ( USE109on104 )
    include "109on104.mayu" # 104 キーボードを 109 キーボード風に
  endif
else
  include "109.mayu"        # 109 キーボード設定
  if ( USE104on109 )
    include "104on109.mayu" # 109 キーボードを 104 キーボード風に
  endif
endif

if ( USEdefault )
  include   "default.mayu"  # Emacs ライクなさまざまな設定
endif

keymap Global

#OEA 配列
def alias _a = d
def alias _b = period
def alias _c = m
def alias _d = n
def alias _e = s
def alias _f = t
def alias _g = h
def alias _h = j
def alias _i = f
def alias _j = y
def alias _k = b
def alias _l = comma
def alias _m = u
def alias _n = semicolon
def alias _o = a
def alias _p = p
def alias _q = e
def alias _r = i
def alias _s = l
def alias _t = k
def alias _u = g
def alias _v = c
def alias _w = o
def alias _x = q
def alias _y = v
def alias _z = atmark
def alias _minus = w
def alias _backslash = minus
def alias _comma = z
def alias _period = x
def alias _semicolon = r
def alias _atmark = backslash

key *_a => *a
key *_b => *b
key *_c => *c
key *_d => *d
key *_e => *e
key *_f => *f
key *_g => *g
key *_h => *h
key *_i => *i
key *_j => *j
key *_k => *k
key *_l => *l
key *_m => *m
key *_n => *n
key *_o => *o
key *_p => *p
key *_q => *q
key *_r => *r
key *_s => *s
key *_t => *t
key *_u => *u
key *_v => *v
key *_w => *w
key *_x => *x
key *_y => *y
key *_z => *z
key *_minus => *minus
key *_backslash => *backslash
key *_comma => *comma
key *_period => *period
key *_semicolon => *semicolon
key *_atmark => *atmark

#コントロールキーと英数キーの入れ替え
mod control += 英数
key *英数 = *LControl

#IME の入れ替え
key 無変換 = 半角/全角

# Ctrl+hをバックスペースに
key *IC-C-H    = BS

# Window キー 無効化
key LeftWindows   = &Undefined

まだまだ足りないけれど、手首はずいぶん楽になった気がする。 しばらくこれで使ってみる。

追記:アスタリスクをエンターキーにして、Ctrlを押しながらだとアスタリスク にすればいいかも。明日試してみる

# アスタリスクをエンターに
key *IC-Colon = Enter
# Ctrlを押しながらだとアスタリスクに
key *IC-C-~S-Colon = Colon

これでいけるか?