結論
ATOKなどの日本語入力ソフトと⌘英かなを使う。
そして「かな」キーはclear
^F13
に設定し、VMware Fusionのキーマッピングでclear
^F13
=> 変換
などのマッピングを登録する。
追記:clear
は ダイアログでEsc
と同様にキャンセル判定になるので使い勝手が悪かったのでCtrl+F13に変更。
経緯
VMware FusionでもMacと同じように「英数」と「かな」キーで日本語のオン/オフがしたい。でもゲストOSに「かな」が渡ってこない。キーイベントを監視しても反応が無いので、キーが対応していないとかじゃないっぽい。
昔もLinux版やWindows版のVMware Playerとかで同様の問題があったんだよね…。ああ、またかって感じでささっと設定できれば良かったんだけど、Macは「かな」の動作を変えるのが難しいらしい。
方法
まず ⌘英かな を入れる。
設定は
こんな感じ。
キーボードに存在しないキーは、まず適当なキーを先に登録しておいて、~/Library/Preferences/io.github.imasanari.cmd-eikana.plist
をplutil
で編集する。
JSONにして編集してバイナリにして戻す感じで。
キーコードは http://hyslog.com/blog/2012/06/25/569 この辺を参考にするか Key Codes
アプリで調べる。(flagsはよく分かってない。0にした。)
plist
を変更した後はsudo killall cfprefsd
で設定のキャッシュを削除する必要がある。
F14とF15は輝度の調節に使われているので効果が重複してしまう。F16はATOKのキー一覧に載ってなかったのでパス。
F13はゲストOSではPrint Screenになる。そのせいか、VMware Fusionのキーマッピングの設定が効かない。
他に使ってないキーは…と考えて、clear
キーを選んだ。テンキーに付いているらしい。電卓アプリのC (Clear)
で使うとか。
追記:ちょっとややこしいんだけども、日本語ONはCtrl+F13
に設定して、VMware FusionのショートカットはF13
=> 変換
にするとうまくいった。
F13
だけではターミナルで動かず、「かな」キーを^F13
にしてもVMware FusionのキーマッピングはF13
にする必要があるみたい。VMware Fusionキーマッピングの装飾キーは、キーコードのflagsが送られてくるかどうかではなくて、実際にキーを押しているかどうかの判定っぽい。
キーリマップを設定したら、MacのATOKで「ひらがな入力文字種(あ)」にclear
を設定する。
これでMacのホストOS側の設定は終了。(「かな」キーで日本語入力ONという普通の設定が完了)
VMwareの設定は
こんな感じで。試行錯誤の跡が見られるな…。(他のはダメだった)
ここまですれば、あとはゲストOSで「かな」キーが「変換」として渡ってくるので、普通に設定できる。
ちなみに、「Mac OS ホスト キーボード ショートカットを有効化」にチェックを入れると普通に「かな」キーが使えるのだが、ゲストOSのCommand-Tab
などがMacに取られるので却下で。
感想
Mac超しんどい。
Linuxみたいにコマンドが使えるからってxmodmap
のようなシステム的なものは無いのね。
キーマッピングが設定できるとか、VMware Fusionに「かな」が使えるとか、デフォルトの「かな」または「Control-Shift-j」が変更できるとか、このどれか一つでも出来れば苦労しなかったのに。