0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

USキーのMacbook上で動作するWindowsにて、右⌘でかな英数を切り替える

Last updated at Posted at 2019-05-26

経緯

普段はKarabiner-Elementsを使って、右⌘キーを使ってかな英数をトグル切り返しているのですが、
先日Parallels Desktopを購入し、Windows8.1をMacbookのUSキーボードから使うようになり、同じ操作感でIME切り替えを行いたかったため、調べてみました

環境

どのくらい細かく書いたらいいのかわかりませんが...

  • Macbook Pro(13-inch, 2017)
    • USキー配列です
  • Windows 8.1
    • デバイス マネージャーにて、キーボードのドライバを 標準 PS/2 101/102 キーボード に設定
  • Parallels Desktop 14
    • こちらはたぶんVirtualBoxなどでも変わらないものと思います

手順

まず、以下サイトにて、右⌘を押したときにどの仮想キーが押されているかと、
変換時にどの仮想キーに紐づければよいかを確認します

keycode.png

こちらの記事でも言及されている通り、Alt + `を押すとかなと英数がトグルされるということなので、
ページ上でキーを押下してみると、25というキーコードが出てきました
同様に右⌘キーを押してみると、235というキーコードでしたので、あわせて覚えておきます

キーコード235を25に変換するにあたっては、AutoHotKeyというソフトを使います
以下サイトからダウンロード・インストールし、任意のテキストエディタで変換定義のスクリプトを作成します

vkXXの形で、先ほど調べたキーコードを16進数にし、変換元::変換先の書式で記述すると、変換が行われるとのことです
1行目はおまじない、行頭セミコロンはコメントだそうです。調べると色々でてきますので興味ある方はぜひ

あと、私固有の問題か分かってないのですが、使っている途中で変換が行われなくなる時があり、
調べてみると右⌘押下時にFF(255)が送信されている場合もあったので、書き足しています
キーコードの解説は、こちらなど見ると分かりやすいです

us-kana.ahk
#UseHook

;VK_OEM_PA1 -> VK_KANJI
vkEB::vk19
vkFF::vk19

上記スクリプトを任意のディレクトリに保存し、ダブルクリックするとAutoHotKeyに読み込まれ、変換が行われるようになります

挙動に問題がなさそうであれば、作成したスクリプトにて右クリック -> Compile Scriptでexeファイルを作成します
上記ファイルをスタートアップに登録しておけばWindows起動時に設定されます

スクリーンショット 2019-05-26 16.23.59.png

なお、Windows8.1では、スタートアップディレクトリは C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp になります
ProgramDataは隠しディレクトリなので注意です

おわりに

簡単ですね!
ネット調べると、同じようなことを違うソフトや手順でやろうとしている記事は結構出てくるのですが、
どれもいまひとつうまくいかず、結構遠回りをしてしまいましたが...

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?