結論
- 英字キーボードとして使う。
- 英字キーボードの配列を覚える。
- リモートしたWindows上で英字キーボードを使ったIMEの切り替え方法を覚える。
環境
MacBookAir(10.13.2,日本語キーボード)+Microsoft Remote Desktop Beta (8.2.40)、クラムシェルモード。
外付け日本語用109キーボード
リモート先:Windows10Pro(1708)
はじめに
WindowsのPoderosa4を使うのに、Macからリモートしていました。
Windows上のエディタでシェルスクリプトやコマンドを書き出していると、バックスラッシュを書く機会があります。
しかしながら、バックスラッシュがUnicodeの円で入力されてしまい、エディタでバックスラッシュ(円マーク)が入力されているように見えても、Unicodeの円マークが入力されてしまいます。
$ sleep ¥
sleep: invalid time interval `\302\245'
Try `sleep --help' for more information.
- 実際に¥は見えません。8進数の302と245=16進のC2A5。
見た目 | 内容 |
---|---|
|0x5c | |
¥ | 0xC2A5 |
Macでは、日本語入力時にバックスラッシュの入力を円¥
にするか\
にするか設定できますが、リモートデスクトップで接続すると、設定にかかわらずBackspace横のキーは円になっているようです。
手順
1.Mac側を整える
日本語キーボードを英語キーボードとして認識させます。
環境設定→keyboard→Change keyboard type→
そのまま画面通りの作業をして、ANSI (United States and others)を選択します。
2.Windows側を整える
リモートデスクトップで接続したとき、英字キーボードとして動作するようにします。
Microsoft Remote Desktop Betaでアクセスしたら、レジストリを確認します。
コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\KeyboardType Mapping\JPN
DWORD 00000000のデータが英字キーボードkbd101.dll
であることを確認します。他の値になっているときは、kbd101.dllへ変更し、再起動します。(サインオフでもかまいません)
上記だけで変更されないときは、DWORD 00010002もkbd101.dll
へ変更します。
参考資料
WindowsマシンにつないだUSBキーボードは、レジストリの別キーを変更することでレイアウトを変更できるようです。こちらをリモートの場合の修正先としている記事も見かけました。
コンピューターに USB キーボードを接続したときに Windows で正しいキーボード レイアウトが使用されないことがある(microsoft.com)
3.アクセスする
Mac側の入力は、International等を追加する必要はなく、ひらがなのままでかまいません。
サインインすると、IMEが日本語のみのときと、日本語+英語(ENG)の2パターンがあります。
サインオフ状態からサインインするとき、コンソールではなくリモートでアクセスする必要があります。
4.ショートカットを確認して覚える
メモなどで以下の入力ができるか確認します。
必ず外付けのキーボードで確認します。
キー配列はWindowsキーボードを使っているものとします。
MacとWindowsでの操作(英字キーボードとしての動作確認)
内容 | Macの正しい結果 | Windowsの結果 |
---|---|---|
MacのInputsourceの切り替え | Alt+Space *1 | - |
WindowsのIMEの切り替え | - | Alt+Shift+Space *2 |
Windowsの直接入力とひらがな切り替え | - | Win+半角/全角 *3 |
}」]む の刻印されたキー | |\ *4 |
- リモートデスクトップを利用すると、キーボードのWinキーとAltが逆になります。(Winキーがオプション、Altキーが⌘になるため)
- *1 基本的に1回ずつしか入力しないので、HiraganaとRomajiを行き来します。
- *2 IMEが日本語と英語の2つ表示されているときに使います。Shiftを除いて操作すると、Mac側のInputsourceが切り替わるだけでWindows側が変更できません。
- *3 日本語Windowsを英字キーボードで送信するコマンドと同じ(Alt+半角/全角)です。IMEが日本語のみのときはShift+CapsLockでも切り替えることができますが、IMEにENGがあるときは切り替えられないので使わない方が良いと思いました。
- *4 Windows側ではバックスラッシュが入力されることを確認します。コマンドプロンプト等でドライブの移動やエクスプローラーから共有にアクセス(¥¥192.168.xxx.xxx)してみます。円が入力されていると、正常な挙動になりません。
- @、アスタリスク、アンダーバー、イコールなど、固有の入力方法が英字キーボードの通り動作するか確認します。
あとがき
Karabiner-ElementsやKeyRemap4MacBookを使う記事が多くありましたが、何も使わない記事は見つからなかったのでメモを残しました。
それらの記事は手元の環境ではうまくいかず、円記号と縁もゆかりもない英語のキーボードを使っている体でバックスラッシュを入力するのが間違いないだろうというところで落ち着きました。。
慣れないうちはスタートとAltで迷いますが、英字キーボードに慣れている人ならば特殊な設定が不要なので楽だと思います。