はじめに
MacからWindows App(旧Remote Desktop)を使用してリモート作業をする際、日本語入力の切り替えでストレスを感じていませんか?
本記事では、「Mac側のことえり(日本語入力)をそのまま使いつつ、HHKBの無変換・変換キーで完璧に制御する」 ための設定を紹介します。ポイントは、Windows Appのキーボード設定「Unicode」と、Karabiner-Elementsによる「OS直叩き」の組み合わせです。
1. 前提:Windows Appの設定(Unicodeモード)
まず、Windows App側で「Mac側の変換結果を受け取る」ための準備をします。
Windows Appを起動し、メニューのConnectionsからKeyboard Modeにある 「Unicode」 に設定する。
なぜUnicodeモードなのか?
Unicodeモードにすると、Mac側で確定した「日本語文字そのもの」がWindowsへ送られます。これにより、Windows側のIME設定に左右されず、Macと同じ変換精度(ことえりやATOK)で入力が可能になります。
2. 課題:アプリによるキーの「横取り」
Unicodeモードにしても解決しないのが、「入力切り替えキー(英数・かな)の制御」 です。Windows Appが最前面にあると、これらのキー信号がWindows側へ転送(フック)されてしまい、Mac側のOSに届きません。結果として、Mac側の入力ソースがパタパタと切り替わらない現象が起きます。
3. 解決策:Karabiner-ElementsによるOS直接命令
キー信号を模倣して送るのではなく、Karabinerの select_input_source 機能を使い、アプリの頭越しにmacOSへ「入力ソースを切り替えろ」と直接命令します。
手順A:Simple Modifications での下地作り
よくやられているようにHHKB(JIS)のキーを、デバイスを問わず共通のコードとして認識させておきます。
-
japanese_muhenkan→japanese_eisuu -
japanese_henkan→japanese_kana
手順B:Complex Modifications (JSON) の追加
karabiner.json の rules 内に以下を追加します。アプリ識別子(Bundle ID)は、現行のWindows Appである com.microsoft.rdc.macos を指定します。
{
"description": "Windows App専用:無変換を英数に、変換をかなに(ネイティブ入力切替)",
"manipulators": [
{
"description": "無変換を検知したら、Macの入力ソースを直接『英語(en)』にする",
"type": "basic",
"from": {
"key_code": "japanese_eisuu",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"select_input_source": { "language": "en" }
}
],
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ]
}
]
},
{
"description": "変換を検知したら、Macの入力ソースを直接『日本語(ja)』にする",
"type": "basic",
"from": {
"key_code": "japanese_kana",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"select_input_source": { "language": "ja" }
}
],
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ]
}
]
}
]
}
4. この設定のメリット
-
デバイスを問わず共通で使える
Simple Modificationsでキーを「英数・かな」に抽象化しているため、外付けのHHKBでもMacBook本体のキーボードでも、全く同じ挙動になります。 -
Windows側のIMEを意識しなくていい
Windows側のIMEは「直接入力(A)」に固定しておくだけでOKです。Mac側のことえり(あ/A)を切り替えるだけで、全てのアプリで安定して日本語が打てます。 -
爆速・確実
AppleScript(shell_command)を介さないネイティブ命令のため遅延がなく、macOSのセキュリティ権限(アクセシビリティ)のトラブルも起きにくいです。
5. まとめ:試行錯誤のポイント
今回の設定がうまくいくための重要なポイントをまとめます。
-
Bundle IDの正確な特定
com.microsoft.rdc.macosという、現在の「Windows App」の正しい識別子を指定することが不可欠でした。ここがズレると設定が発動しません。 -
Simple Modificationとの合わせ技
物理キー(無変換・変換)をまずjapanese_eisuu / japanese_kanaに変換し、その信号に対して「Windows Appの時だけはOSに直接命令を出す」という2段構えにすることで、設定の保守性が高まります。 -
キーコード送信ではなく「入力ソース直接指定」
select_input_sourceを使うことで、Windows Appによるキーフックの層を飛び越えてMacのシステムに命令を届けることができます。
おわりに
「Windows AppをUnicodeモードにする」+「KarabinerでOSレベルの入力切替を行う」。
この2ステップにより、リモートデスクトップの最大の問題である日本語入力のストレスが解消されました。
HHKB(JIS)のポテンシャルをリモート環境でも100%引き出し、MacとWindowsの垣根を感じずにタイピングしたい方は、ぜひこの設定を試してみてください。