特定文字を常に半角固定で入力する

特定文字を常に半角固定で入力する

CapsLockを使わずに文字を半角固定で入力し、自動で入力モードを元に戻すAutoHotkey関数。IME.ahkを利用してるので単独じゃ使えない。

;---関数---
HankakuInput(Char) {
  ime_c := IME_GetConvMode("A")
  ime_s := IME_GetSentenceMode("A")
  IME_SetConvMode(16)
  IME_SetSentenceMode(0)
  Sleep, 100
  Send, % Char
  IME_SetConvMode(ime_c)
  IME_SetSentenceMode(ime_s)
  Sleep, 100
}

;---使用例---
sc07B & *::HankakuInput("*")
sc07B & [::HankakuInput("[")
sc07B & ]::HankakuInput("]")

この例では、無変換を押しながら"*"や"["や"]"の刻印されたキーを押すと、"*"や"["や"]"がそのまま半角で入力される。そして元の入力モードに戻る。

CapsLockで英数入力モードを切り替える(またはIME自体のON/OFFを切り替える)のが普通だが、入力中にCapsLock→*→CapsLockとやるのは面倒だったので、作ってみた。

ただ、Atokなら入力中に固定モードで入力した文字は変換対象にならないから良かったんだが、Google日本語入力だと英数固定モードで入力しても変換されて全角に変えられてしまうから、効果半減。