今回は半角/全角キーやCapsLockを「便利に使えるキー」としてAutoHotKeyで扱えるようにしようというテーマでお話したいと思います。
あくまで今回は事前準備ですが、これらのキーがAutoHotKeyで設定してもうまく扱えないという方は、ぜひご覧ください。
半角/全角キーやCapsLockはAutoHotKeyで使えない?
この2つのキーは厄介です。AutoHotKeyでこれらのキー入力を感知しようと思うと、そのままではうまくいきません。以下はAutoHotKey Wikiからの引用です。
半角/全角、CapsLock、かな(カナロック) などのLock系のキーへのキー割り当ては上手く行かない。
これはOSのローカライズ段階で発生してる問題であり、フック系のキーカスタマイズユーティリティ全般で発生する。
AutoHotkeyがキーを認識する前の段階で、OS側がキーUp/Down情報を変更してしまっているためである。(中略)
単純なキーの置き換え以上の事をしたい場合は、キーボードに無いキー(F13~F24など)にいったん割り当てを行った上で、そのキーに対してAHKで割り当てを行うという二段構えを行う必要がある。
つまり複雑な操作はそのままでは無理ということです。どういうことなのか見てみましょう。
そのままでは使えない理由
キーを押した状態を確認するには、AutoHotKeyのタスクトレイアイコンをダブルクリックし、出てきたウインドウのメニューの「View」→「Key history and script info」を選択します。
こちらが通常のキーを押した状態です。
このようにiやdなど通常の文字キーを押すと、押す(Down)→ 離す(Up)という一連の動作が記録されています。
続いて半角/全角キー、CapsLockを押した状態がこちらです。
上2行が半角/全角キーを押したときの挙動、F5の更新を挟んで下がCapsLockキーです。
この2つのキーの場合、Upから始まる/Downしか記録されないといったおかしな状態。左端のvk(仮想キーコード)も違ったものになってしまっています。
つまりAutoHotKeyではこれらのキーの入力が正しく感知できていないと言うことです。
そこで、この2つのキーを使用する場合には(実際には存在しない)F13以降のファンクションキーとしてAutoHotKeyに認識させようというのが、今回の解決策です。
半角/全角キーとCapsLockキーをF13,F14キーに変更する
ChangeKeyで割当てを変更
使用するのはChangeKeyというソフトウェア。
こちらも割と古いソフトになりますが問題無く使えます。前回使用したKeySwapと同じようなソフトですが、こちらはスキャンコードで指定することで、あるキーをF13以降のキーに割り当てることができます。
- ダウンロード→解凍が済んだらフォルダを開いてChgKey.exeを管理者権限で実行してください。
キーボードの画面が出てきます。
キー割り当てを一旦別のキーに変更する
使い方はシンプル。
- 機能を変更したいキーを画面上でクリック
- 緑色の画面が新たに開くので、割り当てたいキーをクリック
- メニューの「登録」→「現在の設定内容で登録」を選択する
- マシンを再起動させるダイアログが開くので、再起動する
基本的にはこれだけでキーの割り当てが完了しますが、半角/全角キーやCapsLockの場合、一旦HomeやEndなど、別のキーに割り当ててマシンを再起動しましょう。
直接F13以降に割り当てると、僕の環境ではうまくいきませんでした。
再起動後、スキャンコードで割り当てる
一旦マシンを再起動したらもう一度ChangeKeyを開きます。最初の青い画面で半角/全角キーなどを選択するまでは一緒ですが、新たに出てきた緑の画面では「Scan code」ボタンを選択してください。
スキャンコードを入力する画面になります。
ここでスキャンコードを入力しましょう。F13とF14のスキャンコードは以下になります。
- F13→0x0064
- F14→0x0065
- F15→0x0066
「0x」より右の数字4桁を入力すればOKです。
半角/全角キーとCapsLockキーそれぞれでこの作業を行った後、先ほどと同じ手順でマシンを再起動してください。
AutoHotKeyで正常に状態取得できるかチェックする
それではもう一度AutoHotKeyでキーの状態が正常に取得できるかチェックしてみましょう。
AutoHotKeyのタスクトレイアイコンをダブルクリックし、出てきたウインドウのメニューの「View」→「Key history and script info」で該当キーを押してみます。
このようにF13,F14キーがDown→Upの順で記録されていれば成功です。 これで 半角/全角キーやCapsLockはF13、F14キーとしてマシンに認識されました。
次回予告
今回は半角/全角キーやCapsLockキーをAutoHotKeyで扱うための事前準備を行いました。
次回からはこれまで紹介できていないAutoHotKeyのコマンドを扱っていきたいと思います。