IMEのオンとオフの切り替え
Windowsユーザーの皆さん、全角半角キーでIMEのオンとオフをトグルで切り替えていないでしょうか。
この場合、現在の入力モードがどちらになっているかをいちいち確認する必要があり、結構ストレスだったりします。
(ずっとWindowsを使っていると慣れてしまっているかもしれませんが・・・)
一方JIS配列のMacの場合、スペースバーの左右に英数キーとかなキーがあり、現在の入力モードを確認せずにIMEのオンとオフを切り替えることができます。
この記事ではWindowsでも現在の入力モードを確認せずにIMEのオンとオフを切り替える方法を解説したいと思います。
必要なソフト
AutoHotKeyというキー入力を制御するフリーソフトを使って、左右のAlt、Ctrl、Win、ShiftキーでIMEのオンとオフを切り替えられるようにします。
スクリプトファイルの書き方
AutoHotKeyのスクリプトファイルを書きます。
スクリプトファイルの拡張子はahkです。
左AltキーでIMEをオフ、右AltキーでIMEをオンにするスクリプトファイルは下記のとおりです。
(Altキーの場合のみ、カーソルがメニューに移動する挙動を無効にする処理を入れます)
; カーソルがメニューに移動する挙動を無効にする
*~LAlt::Send {Blind}{vk07}
*~RAlt::Send {Blind}{vk07}
; 左Altキーが単独で押された場合、IMEをオフにする
~LAlt Up::
if (A_PriorKey = "LAlt") {
Send, {vkF2sc070}{vkF3sc029}
}
Return
; 右Altキーが単独で押された場合、IMEをオンにする
~RAlt Up::
if (A_PriorKey = "RAlt") {
Send, {vkF2sc070}
}
Return
左CtrlキーでIMEをオフ、右CtrlキーでIMEをオンにするスクリプトファイルは下記のとおりです。
; 左Ctrlキーが単独で押された場合、IMEをオフにする
~LControl Up::
if (A_PriorKey = "LControl") {
Send, {vkF2sc070}{vkF3sc029}
}
Return
; 右Ctrlキーが単独で押された場合、IMEをオンにする
~RControl Up::
if (A_PriorKey = "RControl") {
Send, {vkF2sc070}
}
Return
Windowsキー、Shiftキーに割り当てる場合は、「Control」の部分をそれぞれ「Win」、「Shift」に置き換えます。
作成したahkファイルそのものかショートカットをスタートアップに登録しておくとWindows起動時に有効になります。
MacのUS配列のキーボードの場合と外付けキーボードの場合
Macでも内蔵キーボードがUS配列だったり、英数かなキーがない外付けキーボードを使う場合は、Karabiner-Elementsというフリーソフトを使えば左右の修飾キーでIMEのオンとオフを制御できます。