他の OS は分かりませんが Windows 版 pgAdmin のクエリツールでは、Ctrl+H を打っても反応がありません。エクスプローラや Terapad では Ctrl+H で Backspace になるので、同じように打ちたい時があり、他にも自分流にショートカットを定義できると便利。pgAdmin 本体にはそのようなオプション設定がない一方、Windows 上なら AutoHotkey を使って補えます。以下、簡単なサンプルを作って試したメモ。実行環境は Windows 7 32bit + pgAdmin Portable 1.20 + AutoHotkey 1.1.21 です。
準備
公式サイトによれば AutoHotkey は a scripting language for desktop automation で、デスクトップに常駐してキー入力などのイベントから様々な処理が可能。Ctrl や Alt を使う入力形式が最初から定義されているので、それをトリガにして好きな動作をさせれば自分流のショートカットキーです。動作対象も、デスクトップ上の全て or 特定のアプリやウィンドウに条件分岐でき、今回の pgAdmin クエリツール上での使い方は後者に当たります。 ダウンロードは http://ahkscript.org/download/ から。インストーラとポータブル版 ZIP の両方があり、今回は後者の Unicode 32bit 版 AutoHotkey112003.zip を使いました。下のとおり実行ファイル一つだけで、適当な作業用フォルダに解凍。 ↓ 実行ファイルと同じ場所に、スクリプトと起動用バッチファイルを作成。AutoHotkey のスクリプトは拡張子 ahk がデフォルトです(インストーラの場合、これに関連付け)。 ↓ スクリプトの例で、セミコロン ; 以下がコメントです。一行目は、ウィンドウタイトル名を前方一致で探す設定。二行目で pgAdmin クエリツールのウィンドウタイトルの先頭 Query - postgres を指定し、このウィンドウがアクティブな時に三行目のショートカットキーが有効になります。三行目の ^h が Ctrl+H、BS が Backspace の意味。 ↓ バッチファイルは、同じフォルダに Autohotkey.exe および自分と同じファイル名 + .ahk のスクリプトがある前提で、それを実行するだけです。
テスト
バッチを実行するとタスクトレイに AutoHotkey のアイコン ↓ が出て、pgAdmin クエリツールで Ctrl+H が有効になりました。pgAdmin と AutoHotkey の起動はどちらが先でもいいです。終了時は、タスクトレイアイコン上で右クリックすると出るメニューの中に Exit があります。 スクリプト実行中に間違って再度バッチを実行すると、二重起動はせず、インスタンスを置き換えるかどうかのメッセージ ↓ が出ます。 他のショートカットキーが必要な場合は AutoHotkeyJp > リファレンス > キーリスト を参考にして下さい。このリファレンスをはじめ日本語の情報も多数あり、ショートカットだけでなく様々なことができます。ただし CapsLock とカナキーだけは、Windows の仕様でうまく制御できないようです。 前ブログで、漢字直接入力と「無変換キーを使ったホームポジションでのカーソル」の組み合わせを試していると書きました(Windows 7 + VJE-Delta 4.0 + 漢字直接入力の最近、2015/03/14)。その後 AutoHotkey の方がいろいろ使いやすいと感じ、従来の入力方式から全面的に AutoHotkey に移行しました。PostgreSQL と直接関係ありませんが、作業環境向上の記録として明日から少しまとめて書きます。