VMware Fusion 上の Ubuntu の「英数」キー

カテゴリ: Mac OS X,Ubuntu

日本語配列のキーボードな Mac にインストールされた VMware Fusion の上に
Linux の仮想マシンを作ると、「英数」キーが CapsLock として認識されてしまう。
このことはウェブ上を検索するといろいろと情報が出てくる。例えばつぎの記事。

xkbでキーバインドを変更する


仮想マシンの OS が Ubuntu 14.04 LTS 以降の場合は、
この記事を参考に xkb の設定を実行する。

$ mkdir -p ~/.xkb/{keymap,symbols}
$ setxkbmap -print > ~/.xkb/keymap/mykbd
$ vi ~/.xkb/keymap/mykbd
    xkb_symbols   { include "pc+jp+us:2+inet(evdev)+myswap(swapkeys)"    };
$ vi ~/.xkb/symbols/myswap
partial modifier_keys
xkb_symbols "swapkeys" {
  replace key  {
    type[Group1] = "PC_ALT_LEVEL2",
    symbols[Group1] = [ Hiragana_Katakana ]
  };
};
$ echo 'xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/null' >> ~/.profile

とりあえずこれでログアウト・再ログインすると、
英数キーを押して CapsLock が入るということはなくなる。

日本語入力メソッドとして iBus+Mozc を使っている場合、
Mozc に切り替えたり、その後また直接入力に戻したりすると、
xkb の設定が効かなくなってしまう。
xkbcomp を直接実行してもダメになる。

XKBでCapsLockをEscに割り当てる(Ubuntuでキーマッピング変更) – Qiita

この Qiita の記事によれば、dconf の設定で直るそう。
gnome-tweak-tool でもいいとあるが、Ubuntu 14.04 LTS ではうまくいかなかった。

$ dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:nocaps']"

または

$ sudo apt-get install dconf-editor
$ dconf-editor

で値を編集する。

2016/1/31 (日)