はじめに
MacBookではUSキーボードをつかいたいのです。その際に、
- Windowsもつかう必要があり、これはParallels上で動かしたいのです
- macOSでもWindows 11でも、
左⌘
で英数入力、右⌘
でかな入力に切り替えたいのです(共通化したいのです)
ところが、制約条件がいろいろあります……。
- Karabiner-Elements(KE)で、
英数/かな
に割り当てると、macOSはOKですが、Paralles(Windows)は英数/かな
キーのことを知りません - KEは、
変換/無変換
を出力できません - Microsoft IME(MS IME)は、
IME-オン/IME-オフ
のキー設定が、変換/無変換
限定です - MS IMEのバージョンを戻せば、柔軟にキーカスタマイズできますが、旧版をつかいたくありません
- Google IMEは、キーカスタマイズは柔軟ですが、Edgeで日本語の入力ができません
なかなか前途が多難でありますが、まわりみちをしながら
- macOS/Windows 共通で、
左⌘
で英数入力、右⌘
でかな入力に切り替える - Windows 11に標準でついてくるMS IMEをつかう
を実現しました。
概要
- macOS上では、
左⌘
を英数
キーに、右⌘
をかな
キーに割り当て(Karabiner-Elements) - Parallelsでは、
ctrl+shift+F9/F11
にいったん割り当て、さらに無変換/変換
にマップ
詳細
Karabiner-Elementsの設定
下記ファイルを~/.config/karabiner/assets/complex_modifications
に、ファイル名japanese(custom).json
などで保存します。
{
"title": "For Japanese (日本語環境向けの設定)+ Parallels Desktop(Win)",
"rules": [
{ "description": "コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)",
"manipulators": [
{ "type": "basic",
"from": { "key_code": "left_command",
"modifiers": { "optional": [ "any" ] } },
"to": [ { "key_code": "left_command" } ],
"to_if_alone": [ { "key_code": "japanese_eisuu" } ],
"conditions": [ { "type": "frontmost_application_unless",
"bundle_identifiers": [ "^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^com\\.parallels\\.winapp\\." ] } ] },
{ "type": "basic",
"from": { "key_code": "right_command",
"modifiers": { "optional": [ "any" ] } },
"to": [ { "key_code": "right_command" } ],
"to_if_alone": [ { "key_code": "japanese_kana" } ],
"conditions": [ { "type": "frontmost_application_unless",
"bundle_identifiers": [ "^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^com\\.parallels\\.winapp\\." ] } ] },
{ "type": "basic",
"from": { "key_code": "left_command",
"modifiers": { "optional": [ "any" ] } },
"to": [ { "key_code": "left_command" } ],
"to_if_alone": [ { "key_code": "f9",
"modifiers": ["left_shift", "left_control"] } ],
"conditions": [ { "type": "frontmost_application_if",
"bundle_identifiers": [ "^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^com\\.parallels\\.winapp\\." ] } ] },
{ "type": "basic",
"from": { "key_code": "right_command",
"modifiers": { "optional": [ "any" ] } },
"to": [ { "key_code": "left_command" } ],
"to_if_alone": [ { "key_code": "f11",
"modifiers": ["left_shift", "left_control"] } ],
"conditions": [ { "type": "frontmost_application_if",
"bundle_identifiers": [ "^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^com\\.parallels\\.winapp\\." ] } ] }
]
}
]
}
KEのPreference > Comples modifications > Add rule
で、上記設定を読み込みます(Enable
ボタンを押します)。
こちらの記事を(長年)参考にさせていただいています。
USキーボードの左右Commandキーで仮想化Windowsの英数/かな入力を切り替える - Qiita
AutoHotKey
AutoHotKeyをインストールし、Documentsフォルダに、AHK_Script.ahk
などの名前でスクリプトを保存します。
#Persistent
#SingleInstance, Force
#NoEnv
#UseHook
#InstallKeybdHook
#InstallMouseHook
#HotkeyInterval, 2000
#MaxHotkeysPerInterval, 200
Process, Priority,, Realtime
SendMode, Input
SetTitleMatchMode, 2
Return
+^F9:: send, {vk1D} ; 無変換キー
+^F11::send, {vk1C} ; 変換キー
このスクリプトのショートカットを、スタートアップフォルダに入れます。
AutoHotKeyのインストールは、公式ページからインストーラをダウンロードして行いました。
AutoHotkey公式ページ
スクリプトの書き方は、下記記事などを参考にしました。
AutoHotkeyの基本設定・文法 - スズキのあしあと
『AutoHotkey』の使い方【入門編・初心者向け】 | FuchiAz.com
MS IME
無変換キー→IME-オフ、変換キー→IME-オンにします。
おわりに
あちこちに落とし穴があって、なかなか調べ甲斐がありました。2015年からこの問題に取り組み続け、数多くの紆余曲折を経てきましたが、現時点での決定版です。
そこまでしてUSキーボードを使いたいか?
ええ。ぜったいUSキーボードがいいです(断言)。
環境
- AutoHotKey 1.1.33.10
- Windows 11 Home 21H2
- Parallels 17.1.1 (51537)
- macOS Monterey 12.2.1
- MacBook Pro (14-inch, 2021)