右AltキーをCtrlに変更する

ノートパソコンのキーボードだとCtrlキーが左手側だけのことが多いので、Emacsを使っていると左手の小指に負荷がかかる。

右手側にCtrlキーがあれば両手で負荷が分散できる。 大抵のノートパソコンには右Altキーがあるので、Emacsで右Altキーを右Ctrlキーとして使う方法を考えた。

前提: - X Window System上でEmacsを使っている

以下の設定を.bashrcに追加:

# Xmodmap
if [ -n "${DISPLAY}" ]; then
  if xmodmap | egrep 'mod1.*Alt_R'; then
    xmodmap - <<EOF
remove mod1 = Alt_R
add control = Alt_R
EOF
  fi
fi

結果は次のとおり。

$ xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Eisu_toggle (0x42)
control     Control_L (0x25),  Control_R (0x6d),  Alt_R (0x71)
mod1        Alt_L (0x40),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x73),  Super_R (0x74),  Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x8),  ISO_Level3_Shift (0x7c)