長年 TUT-Code というマイナーな入力方式(漢字直接入力)を使ってきたため、世間一般のキーカスタマイズソフトウェアに疎かったです。たまたま数ヶ月前、少し時間ができて PC キーボード関連の情報を見ていたら偶然 enthumble というソフトを知り、無変換キー(スペースの左隣)とアルファベットの組み合わせで上下左右カーソルにするというアイデアに興味を持ちました。 試してみると、無変換+アルファベットというホームポジションのまま上下左右移動できるのは非常に便利で、もっと早く知っていれば…と後悔。enthumble にはカーソル以外のショートカットもあり(例えば無変換+スペース = ENTER など)、よく使うキーをほとんど全てホームポジションに持ってこれると分かりました。
enthumble から AutoHotkey へ
enthumble はとても良いソフトで、キーボード入力の多い Windows ユーザには超お勧めです。ただ自分は、一部のデフォルトの割り付けがしっくりこないのと、どうせならスペースの右隣の変換キーも活用して「ホームポジション化」をより進めたいと思い、さらに調べた結果 AutoHotkey に辿り着きました。プログラミングもし易く、今では全てのショートカットキーと日本語入力を AutoHotkey だけで行っています。 そういう訳で enthumble はもう使っていませんが、自分の入力環境を大きく変える契機になった点で感謝しています。以下、きっかけとなった無変換+アルファベットでのカーソルを AutoHotkey で簡単に実現する手順のメモです。実行環境はいつもと同じ Windows 7 32bit + AutoHotkey 1.1.21、ポータブルな Unicode 32bit 版(ダウンロード元はこちら)
準備
適当な作業用フォルダを作り、下の三点セットを置きます。AutoHotkey のプログラム本体、起動用バッチファイル、そしてスクリプト。バッチとスクリプトのファイル名(拡張子を除く)を合わせることで、いつも同じバッチを使い回しています。
スクリプト
下の前半が上下左右カーソル、後半がカーソルのついでに Home, End, PageUp, PageDown を足す一例です。無変換キーは sc07B で、同時打鍵を意味する & に続けて好きなアルファベットを書くだけ。ただしセミコロンは sc027 など、アルファベット以外は特別な書き方をする場合があります。(詳細 : AutoHotkeyJp > リファレンス > キーリスト) カーソルなどの記述は Send, に続けて { } の中に書きます。直前の {Blind} は、他のキーとの同時打鍵を有効にするもの。これを入れると、例えば Shift + 無変換 + アルファベットで文字等を選択しながら上下左右移動するなど、実際のカーソルキーと同じ使い方ができます。
使い方と結果
スクリプトができたら、同じフォルダにあるバッチファイルを実行するだけ。タスクトレイに AutoHotkey のアイコンが出て常駐し、基本的に全てのアプリケーション上で有効になります。下のようにホームポジションの左右五列×三段を模式的にテーブルで表すと、無変換キーとの組み合せで右側中央がカーソルキーになります。
QWERT YUUpOP
ASDFGHLeftDownRight;
ZXCVBNM,./
↓ 付け加えた Home 等の場所。PageUp, PageDown は暫定で、「下へ」の K より上の位置に PageDown があるのはすっきりしませんが、文書やウェブ閲覧時にページのアップ・ダウンを繰り返す時の押しやすさを考え、現時点ではこうしています。
QWERT YPgUpIPgDnP
ASDFGHomeIKLEnd
ZXCVBNM,./
先ほど {Blind} の説明で書いたとおり、カーソル等の単独機能だけでなく Shift, Ctrl, Alt との組み合わせも有効。例えばエクスプローラでは下記①②が、Terapad では③④が動作しました。 ① 無変換 + Alt + I … 一つ上のフォルダに移動 ② 無変換 + Alt + J … 直前にいたフォルダに移動 ③ 無変換 + Ctrl + I, K … 画面の上下移動(文書内でのカーソル位置は不変) ④ 無変換 + Ctrl + H, セミコロン … 文書の先頭,末尾に移動 まだ無変換と組み合わせていないキーがたくさんあるので、使う頻度の高いものから順次割り当てて「ホームポジション化」をより進める例を、次回書きます。