2014年5月7日水曜日

Ubuntu 14.04 で Ctrl と Caps キーを入れ替え

以前の Ubuntu Unity デスクトップでは「 Ubuntu Unity で ctrl キーと caps キーを入れ替え 」で Ctrl と Caps を入れ替えることができましたが、Ubuntu 14.04 でこれをやろろとしたところ、設定項目がなく設定できなかったので調べてみました。

Attention

以下の設定をしても、なぜか Ctrl と Caps が入れ替わる場合と入れ替わらない場合があります。

もう少し調べてみたので「 Ubuntu 14.04 で Ctrl と Caps キーを入れ替え その2 」を参照して下さい。

環境

  • OS: Ubuntu Ja 14.04 Desktop Amd64
  • デスクトップ環境: Unity

まず、/etc/default/keyboard を以下のように編集して、

$ diff -u keyboard.org keyboard
--- keyboard.org        2014-05-06 21:30:32.610367367 +0900
+++ keyboard    2014-05-06 21:31:23.242369170 +0900
@@ -8,7 +8,7 @@
 XKBMODEL=""
 XKBLAYOUT="jp"
 XKBVARIANT=""
-XKBOPTIONS=""
+XKBOPTIONS="ctrl:swapcaps"

 # If you don't want to use the XKB layout on the console, you can
 # specify an alternative keymap.  Make sure it will be accessible

OS を再起動してみましたが、なぜか自動ログインが有効になっているかどうかでこの設定が効いたり、効かなかったりしました。

http://askubuntu.com/questions/363346/how-to-permanently-switch-caps-lock-and-esc を見ると dconf Editor での設定方法が書いてありますが、「The exception are the settings for switching the keyboard layouts, which currently do not work because of a bug.」 とも書いてあり、私の環境でもうまくいきませんでした。

もう少しググると http://nekomatu.blogspot.jp/2014/03/ubuntu-trusty-testing-no2-howto-misc.html というのがあり、この方法でうまくいきました!

以下のように ~/.Xmodmap ファイルを置いてます。

$ cat ~/.Xmodmap
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

0 件のコメント:

コメントを投稿