物理マシンを VirtualBox に移行、、しかし、何故か キーボードが US配列に・・・
そんなつもりは無いのだけれど、何故かキーマップが US配列になってしまう事があるようです。
ホストOS に Windows を使っていて、ゲストOS にも Windows を使っている場合、VirtualBox だけでは JP106 には変えられない ようです。
検索した限りでは、ホストOS に Linux を使っていると、VirtualBox 上で 変えられるよう、、
また、ゲストOS が Linux の場合にも、キーマップは 自由に指定できるよね。
ゲストの Windows OS 上で キーボードドライバを 再インストールすれば 解決するらしいのだけれど、今回は それを AutoHotkey で回避してみた、というお話。
ゲストOS が かなり古い Windows OS だったり、諸々の諸事情で ドライバの再インストールが出来ない場合に、さぁどうしよう〜(笑)
物理キーの単純入替であれば、常駐ソフトを使わずとも、レジストリ指定で 入れ替え 出来ます。
ただし、US配列→JP配列の リマップ のように、Shiftキーと同時入力する文字と 入れ替えたい など、複雑なことが レジストリだけでは出来ない。
そんな時にも、
AutoHotkey があれば、キーボード自由自在!
AutoHotkey をインストールしたあと、以下の内容を 拡張子 .ahk で保存して、ダブルクリックしましょう
タスクトレイに常駐し、キーマップが JP106 に変わったはず。
右クリックで 常駐終了させると元の US配列 に戻ります。
sc029::vk19
@::Send,{U+0022} ;; "
^::Send,{U+0026} ;; &
&::Send,{U+0027} ;; '
*::Send,{U+0028} ;; (
(::Send,{U+0029} ;; )
)::Send,+0
_::Send,{U+003D} ;; =
=::Send,{U+005E} ;; ^
+::Send,~ ;; ~
sc07D::Send,{U+005C} ;; \
+sc07D::Send,{U+007C} ;; |
[::Send,{U+0040} ;; @
{::Send,{U+0060} ;; `
]::Send,{U+005B} ;; [
}::Send,{U+007B} ;; {
:::Send,{U+002B} ;; +
'::Send,{U+003A} ;; :
"::Send,{U+002A} ;; *
\::Send,{U+005D} ;; ]
|::Send,{U+007D} ;; }
sc073::Send,{U+005C} ;; \
+sc073::Send,{U+005F} ;; _
AutoHotkey には、他のソフトを立ち上げたり、ウィンドウを閉じたり、Windowsハンドル取得したり、他にも色々な機能があるので、興味ある人は 調べてみてください