日本語配列ノートPCで簡単にUS配列入力できるようにする(AutoHotKey)
問題
会社のノートPCがJIS配列です。
普段はUS配列で入力したいのでUS配列の外付けキーボードを使用していますが、外付けキーボードを外しているときも本体のキーボードでもUS配列で入力できるようにしたり、必要に応じて元に戻したりしたいです。
再起動せずにJIS配列、US配列を切り替える方法はないですか?
答え
AutoHotKeyに、JIS配列→US配列となるように設定をするとできる。
ダウンロード
AutoHotKey https://www.autohotkey.com/
設定
~~.ahk ファイル
#UseHook 1
SC029::` ; 半角/全角 -> `
+SC029::~ ; Shift + 半角/全角 -> ~
+2::@ ; Shift + 2 ["] -> @
+6::^ ; Shift + 6 [&] -> ^
+7::& ; Shift + 7 ['] -> &
+8::* ; Shift + 8 [(] -> *
+9::( ; Shift + 9 [)] -> (
+0::) ; Shift + 0 [ ] -> )
+-::_ ; Shift + - [=] -> _
^::= ; [^] -> =
+^::+ ; Shift + ^ [~] -> +
@::[ ; [@] -> [
+@::`{ ; Shift + @ [`] -> {
[::] ; [[] -> ]
+[::} ; Shift + [ [{] -> }
:::' ; [:] -> '
+;::: ; Shift + ; [+] -> :
*::" ; Shift + : [*] -> "
]::\ ; []] -> \
+]::| ; Shift + ] [}] -> |
使用例)
- ノートPCのキーボードは日本語設定、JIS配列設定。
- 自席では外付けUS配列キーボード。
- 会議等で移動して本体JIS配列キーボードを使うときに起動してUS配列で入力可能にする。
- リモートデスクトップでJIS配列が必要な時、停止して、本体JIS配列キーボードを使用。
おまけ
WindowsのIMEの設定で、無変換キーでIMEをOFFにする設定をしたうえで、

以下も追記しておくと、vim使用時の日本語入力OFFが楽です。
- ESCキーを押下したとき、無変換キー送信+本来のESCキーも送信。
- Ctrl+@(US配列だったら [ になるキー)を押下したとき、無変換+ESCキー送信。
~Esc::Send("{vk1A}")
^@::Send("{vk1A}{Escape}")
メモ
とても古い Ule4Jis.exe と vimmer-ahk.exe を使わずに何とかできないかなという背景もあってやってみました。
AutoHotkey v2 だけでキーボード配列とvim用日本語IME制御はできそうです。