粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

Autohotkeyを用いてWindowsでUS配列キーボードをJIS配列設定で使えるようにする(US->JIS)

概要

  • AutoHotKeyのキーマッピング機能を用いてUSキーボードを使った際,
  • PCの設定をJIS配列のままUSキーボードとして動作させる
  • ノートPCのJISキーボードも比較的違和感なく使える上,起動/Shutdownが簡単

問題意識

魅力的なキーボードにはUS配列のものが多いです。 イカしたキーボードを買ったらちゃんと使いたいという話になります。

ただ,USキーボードをJIS配列のノートPCに正しく読ませようとすると,レジストリを書き換えて再起動するうえ,ノートPCの配列もUSキーボードになってしまいます

いろいろな解決策が考えられてきていますが,どれもあまり本質的な解決にはなっていません。

qiita.com


そこで今回の問題意識としては

  • ノートPCの入力を変更せず,再起動もしないで
  • USキーボードを自然に使えるようにする

というのをめざします。

AutoHotKeyを用いたキーリマッピング

今回はキーリマッピングツール,すなわちソフトウェア上でキーボードの入力を擬似的に変換してUSキーボードを正しく使えるようにします。

www.autohotkey.com

上記のサイトからexeファイルを落としてきて,Express Installでポチポチしていけばすぐにインストールが完了します。

ustojis.ahkファイルの作成

AutoHotkeyでは拡張子ahkのファイルに格納したコマンド形式でキーのマッピングを規定します。 X::send,YとすればXキーを押したときにYと入力を変換するわけです。

したがってJIS配列で認識されたUSキーボードの入力結果を無理やりUSキーボードで想定される入力にremapするように設定を書けば良いです。

とはいってもいちいち作るのは面倒だと思うので以下に作っておきました。 これを適当な名前us2jis.ahkとでもしてAutoHotkeyのインストールフォルダに入れておきます。

概してC直下,Program Filesの中にあると思います。

*"::send, @
*&::send, {^}
*'::send, &
*(::send, *
*)::send, (
*+0::send, )
*=::send, _
*^::send, =
*~::send, {+}
*@::send, [
*`::send, {{}
*[::send, ]
*{::send, {}}
*]::send, \
*}::send, |
*+::send, :
+*::send, "
*vkBA::send, '
VKF4::send, {``}
+VKF4::send,{~}

ahkファイルの実行

ahkファイルを実行して起動するのは簡単で,先程作ったahkファイルをダブルクリックすればいいです。

いちいち探すのが面倒な人はショートカットをデスクトップに作るなりするともっと捗ると思います。

実行されているかどうかは,右下のバーから以下の様な「H」のアイコンが出ているかで確認できます。

f:id:ossyaritoori:20200916004651p:plain

ahkマッピングの停止

どうしてもノートPCのキーボードを使いたいなどの場合に停止するには,先程の「H」を探して右クリックからExitを押せばOKです。

しかし,USキーボードの配置さえ覚えていればノートPCのJISキーボードでもそれなりに違和感なく使えます。

「Alt+チルダ」 の全角半角切り替えが面倒かと思いきや,変換無変換などのJISキーボード固有のキーはマッピングされないままなので下手にレジストリを変えるより使いやすかったりします。

拡張:Ctrl+Spaceを全角半角に割り当てる

全角半角の切り替えって結構遠い位置にあるので押すのがなかなか面倒くさくなってしまいます。

そこで 片手でぽんと押せるのがCtrl+Spaceという配置です。

以下の記述を参考にしました。

Shiftは+,Controlは^,Altは!で示されるようで,他の記法を受けつけなかったのでハマりました。。参照

^Space::Send, !{vkF3sc029}

また,CapslockをControlに反映するなどの設定もお手の物です。

Capslock::send, Ctrl
sc03a::send, Ctrl

追記:Capslockのマッピングは意図しない動作をもたらす可能性があります。(Ctrlが押しっぱなしになるなど)
自分の時は左右のCtrlを同時押しでことなきを得ました。ご注意。

キーボードがCtrlキーが押されたままのような状態になっています。 -キ- その他(パソコン・スマホ・電化製品) | 教えて!goo

USキーボード,買おう

雑に言ってUS配列のキーボードはコーディングがしやすい配置になっています。(アスタリスクチルダは結構打ちにくいところにある印象ですが) JISキーボードよりも世界的には一般的なのでいいデザインのものがお安く買えたりするわけですね。

カニカルなUSキーボードでも1万円程度出せば結構快適なものが買えるので是非使ってみてください。USキーボードはいいぞ,買おう

ossyaritoori.hatenablog.com