魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

Python keyhac

あるブログで、AutoHotKey の便利さを語りながら、できることならもっとわかりやすく仕様がきれいな Python などの LL(Lightweight Languages)で書けたらなぁっていう意見があった。

f:id:fxrobot:20131220174503p:plain

それは常識的な意見であり、ぼくが初めて AutoHotKey の仕様を眺めたときも同じような感想を持った記憶がある。

しかし、AutoHotKey には Perl の初期に立ち会っているような雰囲気がある。なんともいえず愛すべきツールなのである。

それでも、AutoHotKey がどうしても好きになれないという人には、Python 向けの keyhac という名前の「キーハックツール」 (Keys Hacking Tool)があるので、それを紹介しよう。

このジャンルのツールをなんと呼ぶか知らないが、今回の keyhac に学んで、キーハックツールと呼んでみた。あれっ、Windows 自動化言語っていうんじゃなかったっけ? 両方ありってことで。多分、世界中には数多くのキーハックツールが存在するのではないだろうか。AutoHotKey も keyhac もそれらの一つというわけだ。

ぼくは、AutoHotKey についても AutoIt も UWSC も、古くから知っているのに使おうと思ったことがほぼ一度もなかった。ぼくも遅ればせながら、キーハックツールの応用について今後、深く考察していきたいと思っている。

keyhacとは

このソフトウェアは、スクリプト言語 Python を使って、キーボード操作を カスタマイズするアプリケーションです。アプリケーションの標準のキーアサインを柔軟にカスタマイズしたい人に とって便利なソフトウェアです。

特徴

- キーボードの入力をカスタマイズします
- 設定ファイルをスクリプト言語 Python で記述します
- キー入力を別のキー入力に置き換えることが出来ます
- キー入力に応じて Python で記述した任意のアクションを実行できます
- アプリケーションごとに、別々のキーマップにカスタマイズできます
- タスクトレイに常駐します
- キーボードでウインドウを移動させることが出来ます
- キーボードでウインドウをアクティブ化ことが出来ます
- キーボードでマウスの操作を実行できます
- モディファイアキーを新たに定義することが出来ます
- いわゆるワンショットモディアファイアを定義することが出来ます
- クリップボード履歴機能を内蔵しています
- キーボードマクロを記録し再生することができます

動作環境
Windows XP / Vista / 7 / 8  ( 32bit / 64bit )
 
と、ここまでは公式サイト(https://sites.google.com/site/craftware/keyhac)のコピペ。API リファレンスは(http://crftwr.github.io/keyhac/doc/reference/index.html)ここ。

さて、keyhac で AutoHotKey.ahk に相当するのが config.py だ。c:/Users/ユーザー名/AppData/Roaming/keyhac に設置される。(ちなみに AutoHotKey.ahk の場合は C:\Users\ユーザー名\Documents に設置される)そして、keyhac/config.py を編集することで、目的のキーハックを実行する。
それほど難しいものではないので、参考例を見ながら実際に設定してみれば簡単だと思う。ホントに簡単な紹介だけだね。うん、AutoHotKey が嫌だという人は keyhac を使う切っ掛けにしてくだされ。
Python だから読みやすいし、機能の品揃え的にもよく考えられたツールだと思うが、ぼく的には、ちょっとまどろっこしい。Python で書ける keyhac があっても、ぼくにとっては AutoHotKey を使わない理由にはならない。
どちらもよいツールだろうから好みで選べばよいだろう。