Windows10とPowerToysでUSキーボードでも無変換・変換キーを使ってIMEを一発で切り替える

##やりたいこと
- US配列のキーボードで、快適にIMEのオンとオフを切り替えられるようにする

##環境
- Windows 10 Pro (May 2020 Update適用済み)

##WindowsとUSキーボードの組み合わせの現状と方針

私はシンプルな見た目とコロンとセミコロン、クオーテーションなど記号の位置のわかりやすさから、JIS配列よりUS配列が好きなのだが、US配列は**日本語入力と英字入力の切り替えが面倒**なのが難点。
MacではCaps Lockキーで英字入力との切り替えができるので便利なんだけど、Windowsにはその機能はついていない（お願いですからつけてください…）。
それどころかWindows 10 ver.2004 (May 2020 Update適用後)からはMS標準の日本語IMEが**Microdoft IME**としてリニューアルした影響で、[KeySwap](https://keyswap.softonic.jp/)でCaps LockにF1を割り当て、MS-IMEの設定でF1にIME オン/オフを割り当てるといった細かいカスタマイズができなくなった。

その代わり、Microsoft IME では設定アプリから簡単に割り当てを変更できるようになった。

設定➡️時刻と言語➡️言語➡️優先する言語内の日本語をクリック➡️オプション➡️Microsoft IME をクリック➡️オプション➡️キーとタッチのカスタマイズ
と進むと、4つのキー・ショートカットの割り当てをカスタマイズできる。
![settings0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/451958/afdf7692-9519-8729-e65e-52a7dc712982.png)

日本語入力では一つのキーを使って日本語と英字を交互に切り替えるトグルスイッチが一般的かと思われるが、**無変換（スペースキー左）を押せば英字入力**、**変換（スペースキー右）を押せば日本語入力**と決めてしまえば、今のIMEの状態を気にせずに入力できるので便利そうだ。

し・か・し！

**US配列に無変換も変換も存在しない！！**

US配列ではスペースの両隣にあるのはAltキーなので、左右Altキーにそれぞれ無変換、変換を割り当てることにした（無変換・変換ごときにAltの座が奪われる日が来るとは…！）。

ということでMicrosoft謹製のPowerToysを使って、キーマップを変更してみる。

##PowerToysとは
>Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. Inspired by the Windows 95 era PowerToys project, this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows.

パワーユーザーが生産性向上のためWindows体験を調整したり効率化するユーティリティのセット。Windows 95時代のPowerToysプロジェクトに着想を得て、今回の再始動では、Windows 10 shellからさらなる効率性を絞り取り、それを各ワークフローにカスタマイズする方法をパワーユーザーに提供する。

要は、Windowsの実験的な機能がいくつか提供されているツールセット。
今回はこの中の[Keyboard Manager（英語）](https://docs.microsoft.com/en-us/windows/powertoys/keyboard-manager)を使う。同様のツールはいくつもあるが、MS公式という安心感と変更に再起動が要らない点、ショートカットの変更もできる点を評価。

##セットアップ
インストールして、キーの割り当てを変更するだけ。左右Altが使えなくなってしまうので、右CtrlをAltに割り当てておいた。

[GitHubのリリースページ](https://github.com/microsoft/PowerToys/releases/)から、msiファイルをダウンロードしてインストールすればOK。

起動したらKeyboard Managerを開き、好きなように設定する。
![powertoys0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/451958/ede2d073-89c0-381d-9e4e-f20aa2572e85.png)

![powertoys1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/451958/fc9c6fad-3bf5-a7ab-b512-79c1cde82982.png)


~~変換は`VK28`、無変換は`VK29`なので、左右Altをそれぞれ割り当てる。~~
**更新 2021-03-13**
コメントにて教えていただきましたが、PowerToys最新版ではキーの名前が分かりやすくなり、変換は`IME Convert`、無変換は`IME Non-Convert`になっていますので、それを左右のAltに割り当てます。

このままだと完全にAltが使えなくなってしまうので、右のCtrlにAltを割り当てておいた。

###蛇足
今回の記事の趣旨とは外れるが、Macの癖で`Command + C`のつもりで、`Win + C`を押してしまうことがよくあるので、ほとんど使わないWinキーを左Ctrlに割り当ててある。
私の場合はWinキーを使うのは、スクリーンショットをとるための`Win + Shift + S`だけなので、`Ctrl + Shift + S`でスクリーンショットをとれるようにしておいた。
![powertoys2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/451958/da489363-ea60-672a-27dc-89c95ed21d87.png)

##まとめ
これでめでたく、Windows with US配列でも一発で日本語入力できるようになった。むしろ、半角／全角よりも届きやすい場所で、今の入力モードを気にせずに切り替えられるのでストレスが減ったように思う。
同じような悩みを抱えている人の助けになるといいな。

##参考文献

[microsoft/PowerToys - GitHub](https://github.com/microsoft/PowerToys)

[今こそすべての日本国民に問うIMEのオンとオフ](https://pc.watch.impress.co.jp/docs/column/config/1263191.html)

[Windows 10をより使いやすくするMicrosoft製ツール「PowerToys」とは](https://www.atmarkit.co.jp/ait/articles/1912/26/news019.html)

[仮想キーコード一覧](http://kts.sakaiweb.com/virtualkeycodes.html)