VMware Fusion上のXWindowで勝手にCAPS LOCKになってしまう件

意外とネット上で解決策が見つからなかったので自分用メモ。
自分はCentOSだが恐らく他のLinuxディストリビューションでも同様だと思われる。(XWindow環境での話だから)
※少なくとも手元のFedoraでも同様だった

原因はMacの「英数」キーがCAPS LOCKに割り振られてしまうため。
決して勝手にCAPS LOCKされてしまうのではなく、英数キーがCAPS LOCKに割り振られているためで、
入力中に無意識に英数キーを押しているのでCAPS LOCKになってしまう。
要はFusionのキーマップが悪いのだけど、プラスMacで日本語キーボードを使ってるから発生する問題。
US配列キーボード使っていればこれは発生しない(はず)。


ってことで、解決方法としてはXWindowのキーマップを書き換えてしまう。
英数キーのKeycodeは66で、それがCaps Lockにバインドされているために起こる。
つまりKeycode66を他のキーに割り当ててしまえばいい。
自分の場合は無変換に割り当ててしまった。


vi ~/.XModmap

keycode 66 = Muhenkan
clear Lock


これで一端ログアウトしてからログイン。
英数キーを押してもCAPS LOCKされないことを確認。


ちなみに同じ方法でかなキーで日本語入力Onにすることもできる(はず)。
かなキーのkeycodeは208。
自分の場合はLinux上で日本語入力することが無いのでSCIMすらいれてないので
試しようがないが・・・。