Microsoft Remote Desktop for Macでは、普通に使うと特に問題ないが、環境によっては文字入力が正常に行えないという現象がおこる。
1. USキーボードっぽい入力になる。
2. バックスラッシュ(¥)がおかしい。
3. 英数・かなで日本語入力を切り替えたい。
USキーボードになるという話はググればよく出てくる。自分英語になってしまっていたので、仕方なくkarabiner-elementにて置き換えていた。これを行うと、RDPのパスワード入力で@マークなどが入力できなくなったりする問題があり、コピペをしたりしていた。
ある時、違うWinマシンにログインした時に、入力がおかしくなった。色々試すと、karabiner-elementを終了させると問題なく入力されることに気づいた。だがいつも使っているマシン上では、karabiner-element無しではちゃんと入力できない。となると、このマシンがおかしいのでは?と思って色々確認していった。
設定などは全て日本語になっていた。レジストリのKeyboardTypeOverwriteとか正常だ。
だが実はそこ以外に問題があることに気づいた。
問題はこいつだった
Layout File が 「kbdjpn.dll」になっていた。
他のWinマシンでは、「kbd106.dll」になっていたため、これを変更して再起動。
再起動後、karabiner-elementを起動していなくても問題なく入力できるようになった。
2. バックスラッシュがおかしい問題
Windowsのバックスラッシュは、日本語Winでは円マークになる。ディレクトリを指定するときにこの円マークを使うのだが、コマンドラインでは表示は問題ないのに、エラーが出ていた。Explorerでは問題ない。
この問題は、ユニコードの円マークが入力されているのが問題である。option+円マークを入力すると、問題なく入力できることがわかったため、コマンドラインでは、option+¥を入力するようにした。
karabiner-elementでoption+¥を送るようにしたら、Explorerでは¥が入力されなくなってしまった。
3. 英数・かなで日本語入力を切り替えたい
これはkarabiner-elementを使って解決した。
「英数」または「かな」で、IMEのON/OFFができればいいと考えたので、次のようにComplex modificationルールを作成した。
とりあえず、IMEのルールと、¥をoption+¥に置き換えるサンプル設定ファイルを下記に示すので、これを「~/.config/karabiner/assets/complex_modifications」内に「rdp-ime.json」などという名前で保存して、karabiner-elementからロードして有効化すれば使えるようになるはずだ。
1. USキーボードっぽい入力になる。
2. バックスラッシュ(¥)がおかしい。
3. 英数・かなで日本語入力を切り替えたい。
USキーボードになるという話はググればよく出てくる。自分英語になってしまっていたので、仕方なくkarabiner-elementにて置き換えていた。これを行うと、RDPのパスワード入力で@マークなどが入力できなくなったりする問題があり、コピペをしたりしていた。
ある時、違うWinマシンにログインした時に、入力がおかしくなった。色々試すと、karabiner-elementを終了させると問題なく入力されることに気づいた。だがいつも使っているマシン上では、karabiner-element無しではちゃんと入力できない。となると、このマシンがおかしいのでは?と思って色々確認していった。
設定などは全て日本語になっていた。レジストリのKeyboardTypeOverwriteとか正常だ。
だが実はそこ以外に問題があることに気づいた。
問題はこいつだった
コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
Layout File が 「kbdjpn.dll」になっていた。
他のWinマシンでは、「kbd106.dll」になっていたため、これを変更して再起動。
再起動後、karabiner-elementを起動していなくても問題なく入力できるようになった。
2. バックスラッシュがおかしい問題
Windowsのバックスラッシュは、日本語Winでは円マークになる。ディレクトリを指定するときにこの円マークを使うのだが、コマンドラインでは表示は問題ないのに、エラーが出ていた。Explorerでは問題ない。
この問題は、ユニコードの円マークが入力されているのが問題である。option+円マークを入力すると、問題なく入力できることがわかったため、コマンドラインでは、option+¥を入力するようにした。
karabiner-elementでoption+¥を送るようにしたら、Explorerでは¥が入力されなくなってしまった。
3. 英数・かなで日本語入力を切り替えたい
これはkarabiner-elementを使って解決した。
「英数」または「かな」で、IMEのON/OFFができればいいと考えたので、次のようにComplex modificationルールを作成した。
{ "type": "basic", "description": "Kana", "from": { "key_code": "lang1" }, "to": [ { "key_code": "lang2", "modifiers": [ "left_alt" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ] } ] }, { "type": "basic", "description": "Kana", "from": { "key_code": "lang2" }, "to": [ { "key_code": "lang2", "modifiers": [ "left_alt" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ] } ] }
とりあえず、IMEのルールと、¥をoption+¥に置き換えるサンプル設定ファイルを下記に示すので、これを「~/.config/karabiner/assets/complex_modifications」内に「rdp-ime.json」などという名前で保存して、karabiner-elementからロードして有効化すれば使えるようになるはずだ。
{ "title": "RDP Keyboard fix by r3wt3d", "rules": [ { "description": "RDP IME on/off", "manipulators": [ { "type": "basic", "description": "Kana", "from": { "key_code": "lang1" }, "to": [ { "key_code": "lang2", "modifiers": [ "left_alt" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ] } ] }, { "type": "basic", "description": "Kana", "from": { "key_code": "lang2" }, "to": [ { "key_code": "lang2", "modifiers": [ "left_alt" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ] } ] } ] }, { "description": "Backslash fix", "manipulators": [ { "type": "basic", "from": { "key_code": "international3", "modifiers": { "optional": [ ] } }, "to": [ { "key_code": "backslash", "modifiers": [ ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.rdc\\.macos$" ] } ] } ] } ] }