Windows のデフォルトの中英文切り替え方法は使い勝手が悪く、Shift キーは大文字小文字の切り替えと入力方式の切り替えに使われるため、誤操作が起こりやすいです。一方、macOS の CapsLock の方法 —— 短押しで中英文を切り替え、長押しで大文字ロックを有効にする —— はより直感的で誤操作を減らします。
この記事では、AutoHotkey を使用して、macOS の CapsLock 中英文切り替え方法を実現し、入力をより効率的にする方法を紹介します。
AutoHotkey のインストール#
まず、AutoHotkey をダウンロードしてインストールします:
- 公式サイト:AutoHotkey
インストールが完了したら、Windows と AutoHotkey の設定を続けます。
Windows の設定#
Windows では、AutoHotkey スクリプトが正常に動作するようにいくつかの入力方式の設定を調整する必要があります。
-
Microsoft Pinyin 入力方式の Shift 切り替え機能を無効にする
設定
→時間と言語
→言語と地域
→入力
→Microsoft Pinyin
→キーボード
- 「Shift 切り替え中英文」のチェックを外す
-
英語の入力方式を追加する
設定
→時間と言語
→言語と地域
→言語を追加
English (United States)
または他の必要な英語キーボードを選択
AutoHotkey の設定#
AutoHotkey スクリプトの作成#
- AutoHotkey をインストールした後、デスクトップを右クリック →
新規作成
→AutoHotkey スクリプト
- 新しく作成したスクリプトファイルを右クリックし、
編集
を選択 - 内容を以下のスクリプトに置き換えます:
CapsLock で中英文入力方式を切り替える#
#Requires AutoHotkey v2.0
#SingleInstance Force
; スクリプトをバックグラウンドで継続的に実行
Persistent
CapsLock::
{
if (KeyWait("CapsLock", "T0.5")) {
; CapsLock を短押しして中英文を切り替え
Send "{Alt Down}{Shift Down}{Alt Up}{Shift Up}"
} else {
; CapsLock を長押しして大文字ロックを行う
SetCapsLockState !GetKeyState("CapsLock", "T")
}
}
中国語入力方式の中国語入力モードをロックする#
中国語入力方式がデフォルトで中国語入力モードにあることを確認するために、以下のスクリプトを使用できます:
#Include %A_ScriptDir%
timeInterval := 500
InChs() {
ime_status := DllCall("GetKeyboardLayout", "int", 0, "UInt")
return (ime_status & 0xffff) = 0x804 ; LANGID(Chinese) = 0x804
}
SwitchImeState(id) {
SendMessage(0x283, ; WM_IME_CONTROL
0x002, ; wParam IMC_SETCONVERSIONMODE
1025, ; lParam (Chinese)
, ; Control (Window)
id)
}
DetectHiddenWindows True
SetTimer Mainloop, 1000
MainLoop() {
try {
hWnd := WinGetID("A")
id := DllCall("imm32\ImmGetDefaultIMEWnd", "Uint", hWnd, "Uint")
if (InChs()) {
SwitchImeState(id)
}
}
}
スクリプトを自動起動に設定する#
スクリプトを毎回起動時に自動実行させるために、.exe
ファイルに変換し、Windows のスタートアップフォルダに置くことができます。
AutoHotkey スクリプトを実行可能ファイルに変換する#
-
AutoHotkey Dash で
Compile Open Ahk2Exe - convert .ahk to .exe
を見つける -
あなたの
.ahk
スクリプトを選択し、.exe
にコンパイルする -
生成された
.exe
ファイルを以下に移動します:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
これで、Windows 起動時にスクリプトが自動的に実行され、手動で実行する必要がなくなります。
まとめ#
AutoHotkey を使用することで、CapsLock の短押しで中英文を切り替え、長押しで大文字ロックを有効にし、Windows の入力体験を改善できます。中国語入力モードをロックするスクリプトと組み合わせることで、中国語入力方式がデフォルトで中国語入力を維持することができます。