Windows10 で英語配列のキーボードを使うための OS・AutoHotKey 設定

先日、最近デスクトップ PC「ガレリア XG」用に Dell の英語配列のキーボードを買った。

この際、Windows10 の OS 設定や AutoHotKey の設定を変えたりしたので、それを紹介する。

目次

英語配列のキーボードとして認識させる設定

まずはコレまで JIS 配列のキーボードを使ってきていたので、接続した US キーボードが JIS 配列のモノとして認識されてしまっている。コレを直す。

  1. 「PC 設定」アプリを開く
  2. 「時刻と言語」
  3. 「地域と言語」メニュー
  4. 「日本語」言語を選択し「オプション」ボタン
  5. 「ハードウェアキーボードレイアウト」の「レイアウトを変更する」ボタン
  6. 「英語キーボード (101/102 キー)」を選択し「サインアウト」を選択する

コレだけ。レジストリ変更とか要らないので楽チン。

なお、この状態で IME の On・Off を切り替えるには、Alt + ` (バッククォート) で切り替えられる。

…ココまでは上述のキーボード購入の記事でも書いた。

Ctrl + Space で IME 切替できるようにする

僕は Google 日本語入力を使っているので、Google 日本語入力の設定を変更し、Ctrl + Space で IME を切り替えられるようにする。

以下のように、

と設定すると、ちょうど良い。

左右の Alt キー空打ちで IME を切り替える

Ctrl + Space で切り替えられるよう設定はしたものの、普段この操作を頻繁に行うのは面倒くさい。そこで AutoHotKey の出番だ。

左右の Alt キーを空打ちして IME の On・Off を切り替えられるようにするには、alt-ime-ahk を導入するのが手っ取り早い。

コレでだいぶ Mac 風に言語切替できるようになった。

CapsLock 単体で IME 切替・かつ Shift + CapsLock は CapsLock として使いたい

CapsLock を IME 切り替えに使うようにしたのは ZenBook を設定した時に思いついたことなのだが、コレをもう少し発展させてみる。

Shift + CapsLock と押した時は、実際に CapsLock として動作させたい。AutoHotKey では、CapsLock キーは「英数キー」として認識されるようだったので、以下のように設定した。

; IME 切替 (vkF3sc029・vkF4sc029 = 全角 / 半角。Send 側に書く時は両者を区別しなくて良い)
Pause:: vkF4sc029
Break:: vkF4sc029
sc03A:: vkF4sc029    ; sc03A : 英数キー。CapsLock キーを押すと英数キーとして反応する

; Shift + CapsLock (英数キー) で CapsLock 操作を行う
+sc03A:: Send, {CapsLock}

「全角/半角」キーにあたる vkF4sc029 にリマップすることで IME 切替を実現している。CapsLock のついでに、全然使わない Pause と Break キーも「全角/半角」キーに当てた。

sc03A というのが「英数」キー。Shift とのコンビネーション時は CapsLock キーを Send することで対応。

ブラウザのタブ移動を左手だけでできるようにする

ブラウザのタブ移動には Ctrl + PageUpCtrl + PageDown が当てられているが、右手でマウス操作しながらタブ移動したい時に押しづらい。

そこで、以下のような設定を入れて、左 Alt + q左 Alt + eCtrl + PageUpCtrl + PageDown が発火するように設定した。

; ブラウザのタブ移動を左手でできるようにする
LAlt & q:: Send, ^{PgUp}    ; 左 Alt + q → Ctrl + PageUp
LAlt & e:: Send, ^{PgDn}    ; 左 Alt + e → Ctrl + PageDown

Alt キーは副作用が怖いのであまり使いたくないのだが、他に良いキーもないので設定。JIS 配列の人は、左 Alt の代わりに「無変換」キーを使うと邪魔にならないかと思う。

; 無変換キーを利用したショートカット
vk1Dsc07B & z:: Send, ^{PgUp}    ; 無変換 + z → Ctrl + PageUp
vk1Dsc07B & x:: Send, ^{PgDn}    ; 無変換 + x → Ctrl + PageDown
vk1Dsc07B:: Send, {Enter}        ; 無変換キー単体 → Enter

「無変換」キーの場合は Q とか E とか遠いところではなくて、もう少し近い Z とか X とかを使うと押しやすいかなーと思った。お好みで。

お好みで : メタキーと BackSpace のコンボを Delete 扱いにする

以降は操作性を Mac 風にする地味な変更。

英字配列の Macbook の場合、Fn キーが左下にあり、コレを押しながら Delete キーを押すことで、カーソルの右側の文字が消える。Windows でいうとコレが Delete キーの挙動だ。

コレを再現するために、キーボード左下あたりにあるメタキーと BackSpace を押した時に Delete キーを発火させるようにする。

; BackSpace コンビネーションを Delete 扱いにする
^BS:: Send, {Del}    ; Ctrl
#BS:: Send, {Del}    ; Win
!BS:: Send, {Del}    ; Alt
+BS:: Send, {Del}    ; Shift

今回の僕の場合はデスクトップ PC なので Delete キーも押しやすいが、ノート PC だと Delete キーが押しづらいところにあったりする。そこでこのようなリマップを考えてみた次第。

お好みで : Alt コンビネーションを Mac 風に近付ける

さらに Alt キーの挙動を Mac の Cmd キー風に近付けるため、以下のような設定を入れてみた。

; Alt と左右矢印を Mac 風にする
LAlt & Left:: Send, {Home}
LAlt & Right:: Send, {End}

; Alt と上下矢印で PageUp・PageDown
LAlt & Up:: Send, {PgUp}
LAlt & Down:: Send, {PgDn}

; Alt コンビネーションを Mac 風に使えるようにする
!z:: Send, ^z       ; Ctrl + z
!x:: Send, ^x       ; Ctrl + x
!c:: Send, ^c       ; Ctrl + c
!v:: Send, ^v       ; Ctrl + v
!a:: Send, ^a       ; Ctrl + a
!s:: Send, ^s       ; Ctrl + s
!f:: Send, ^f       ; Ctrl + d
!g:: Send, ^g       ; Ctrl + g
!h:: Send, ^h       ; Ctrl + h
!q:: Send, !{F4}    ; Alt + F4 (Cmd + q) … LAlt は上のタブ移動の挙動になるので実質 RAlt のみ
!w:: Send, ^w       ; Ctrl + w
!r:: Send, ^r       ; Ctrl + r
!t:: Send, ^t       ; Ctrl + t
!o:: Send, ^o       ; Ctrl + o

まず1段落目から。左 Alt + ← を Home、左 Alt + → を End キーにリマップすることで、Mac での同コンビネーションの挙動に近付けた。Mac だとこのコンビネーションでテキストカーソルを行頭や行末に移動できるのだ。

2段落目は同様に、上下の矢印を PageUp・PageDown に当てた。

3段落目は、Alt + 任意キー の押下を Ctrl + 任意キー の挙動に変換した。Excel をキーボードショートカットで操作する人はこの設定が悪さすると思うので、入れない方が良い (もしくはアプリ単位で除外する)。Cmd + zCmd + a など、よく押しがちなところだけリマップした。例外的に Alt + qAlt + F4 を実行して、Mac における Cmd + q の挙動に近付けた。

僕が使っている AutoHotKey スクリプトは以下よりドウゾ

僕が作って使っている AutoHotKey スクリプトは以下で確認できる。ガレリア XG (デスクトップ) でも ZenBook (ノート) でもどちらでも同じスクリプトを利用している。

以上。コレであなたも快適な US キーボードライフを。