いろいろ前例を調べたけどmacOS,Windows,Parallels上のWindowsを両立できなかったので,頑張った.
長くなるので日本語入力に関係の無いキーリマップなどは別途説明します.
目次:
目標
- macOSで日本語JISキーボードと同様にトグル切り替えで(英数,かなキーのように)日本語入力できるようにする.
- Bootcamp領域のWindowsで(略)
- Parallels DesktopによるBootcamp領域Windowsの仮想起動で(略)
環境
・MacBook Pro Mid 2017 15インチモデル USキーボード
macOS
Karabinerによって解決可能です.
Karabiner
2018年現在,Karabinerは最新OSに対応していません(SierraでのOS側の変更によるもの).
代わりに「Karabiner Elements」 が用意されており,これを使用します.
Karabiner - Software for macOS
1.Karabiner Elementsをインストール
2.Karabiner Elementsを開いてキーボード設定画面が出たら,自分のキーボードを選択する
3.Complex Modificationタブを開く
4.Add ruleを選択
5.Import more rules from the Internet (open a web browser)を選択
6. 開いたWebページの下の方に行くとある,International(Language Specific)領域からFor Japanese(日本語環境向けの設定)をインポート(現時点ではrev 3しかない)
以上です.
Commandキーとアルファベットの短時間差入力による誤作動
commandキーを英数・かなに割り当てたところでほとんど弊害は無いのですが,時々,commandキー直後に押したアルファベットと同時入力と判定されて不意にコマンドが発動してしまうことがあります.例えば長い文章をSafariで打ってた時にCommand+Wが作動してしまったら...
この問題の対処法は現在調査中です.
Windows on Bootcamp & Parallels
AutoHotkeyによって解決が可能. 以下の記事を多大に参考にしています.
日本語IMEの設定
0. BootcampまたはParallelsからWindowsを開く
この先の操作はWindowsであれば仮想であっても問題ありません.
1. IMEのプロパティを開く
タスクバー通知領域の"A"または"あ"をクリックします.
右画像のように×と表示されている場合には,メモ帳開くと"A"や"あ"の表示に変わるはずです.
2.詳細設定からキー設定を変更
3.無変換キー,変換キーの割り当てを変更
”入力/変換済み文字なし”列の2箇所,無変換キーと変換キーの設定を書き換えます(画像はすでに書き換え済み).
無変換キーの設定を”IME-オフ”にします.
続けて,変換キーの設定を”IME-オン”にします.
これでIMEの設定は終了です.全てのウィンドウを閉じてください.
Auto Hotkey
1.AutoHotkeyをWindowsにインストール
2.メモ帳で以下のテキストを書き,どこかにahk形式で保存する.
このファイルを"usmac.ahk"などahk形式にして保存します.保存場所はどこでもOKです.
3.コンパイルする
作成したahkファイルを右クリックし,「compile script」を選択します.
同じフォルダに.exe形式のファイルが作成されます.
4.試用する
作成された.exeファイルをダブルクリックします.
ウィンドウが出現した場合,エラーがある.エラー内容を確認のうえ,修正します.
何も出なければ成功です.タスクバーの通知領域に緑のHアイコンが出現しているはずです.
IMEの設定とAutoHotkeyの設定が共に完了していれば,この時点で正常に日本語入力できるはずです.
【おまけ】Auto Hotkeyスクリプトの解説
以上にのせたAuto Hotkey(以下AHK)のスクリプトはParallels用のキー設定とBootcamp用のキー設定を合わせたものです.それぞれ解説します.
Bootcamp用
Bootcampでは左右のコマンドキーはWindowsキーとして機能します.
キーリスト - AutoHotkey Wiki によれば,左右のWindowsキーはAHK上でLWin,RWinと表現されます.
また,
によれば,無変換キーの仮想コードは0x1D,変換キーのコードは0x1Cです.
そこで,各Windowsキーを無変換キー,変換キーに書き換えるようにします.
Parallels用
Parallelsでは左右のコマンドキーはWindowsキーとして機能します.
しかしながら,Karabinerが有効なとき,コマンドキー単独での操作は,JISキーボードにある英数キー,かなキーの操作に置き換えられてしまいます.
それらの仮想キーコードは0xEB,0xFFでした(Parallels上のWindowsでKeymillによって確認しました).
あとはBootcampのときと同様に無変換キー,変換キーに書き換えさせます.
ここで,なぜ無変換キー,変換キーに変更するのかですが,
JISキーボードを搭載したMacでBootcamp上のWindowsを実行した時英数キーかなキーが無変換キー変換キーとして動作するからです.
よってIMEの設定を書き換える部分はJIS Macと同じ手順になります.
↓続きみたいなやつです