Alaye Dong

Alaye Dong`s xLog

github
bilibili
email

Windows の Capslock を使って中英文入力を切り替える

Windows のデフォルトの中英文切り替え方法は使い勝手が悪く、Shift キーは大文字小文字の切り替えと入力方式の切り替えに使われるため、誤操作が起こりやすいです。一方、macOS の CapsLock の方法 —— 短押しで中英文を切り替え、長押しで大文字ロックを有効にする —— はより直感的で誤操作を減らします。

この記事では、AutoHotkey を使用して、macOS の CapsLock 中英文切り替え方法を実現し、入力をより効率的にする方法を紹介します。

AutoHotkey のインストール#

まず、AutoHotkey をダウンロードしてインストールします:

インストールが完了したら、Windows と AutoHotkey の設定を続けます。

Windows の設定#

Windows では、AutoHotkey スクリプトが正常に動作するようにいくつかの入力方式の設定を調整する必要があります。

  1. Microsoft Pinyin 入力方式の Shift 切り替え機能を無効にする

    • 設定時間と言語言語と地域入力Microsoft Pinyinキーボード
    • 「Shift 切り替え中英文」のチェックを外す
  2. 英語の入力方式を追加する

    • 設定時間と言語言語と地域言語を追加
    • English (United States) または他の必要な英語キーボードを選択

AutoHotkey の設定#

AutoHotkey スクリプトの作成#

  1. AutoHotkey をインストールした後、デスクトップを右クリック → 新規作成AutoHotkey スクリプト
  2. 新しく作成したスクリプトファイルを右クリックし、編集 を選択
  3. 内容を以下のスクリプトに置き換えます:

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")
    }
}

中国語入力方式の中国語入力モードをロックする#

中国語入力方式がデフォルトで中国語入力モードにあることを確認するために、以下のスクリプトを使用できます:

出典:gist.github.com

#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 スクリプトを実行可能ファイルに変換する#

  1. AutoHotkey Dash で Compile Open Ahk2Exe - convert .ahk to .exe を見つける

  2. あなたの .ahk スクリプトを選択し、.exe にコンパイルする

  3. 生成された .exe ファイルを以下に移動します:

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    

これで、Windows 起動時にスクリプトが自動的に実行され、手動で実行する必要がなくなります。

まとめ#

AutoHotkey を使用することで、CapsLock の短押しで中英文を切り替え、長押しで大文字ロックを有効にし、Windows の入力体験を改善できます。中国語入力モードをロックするスクリプトと組み合わせることで、中国語入力方式がデフォルトで中国語入力を維持することができます。

参考資料#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。