hirax.net::Keywords::「AutoHotKey」のブログ



2005-01-16[n年前へ]

AutoHotkey 

 AutoHotkeyを流行らせるページ.

2009-10-14[n年前へ]

AutoHotkeyで任意の場所・タイミングでRubyやPerl等を使おう 

 キー入力する際に、さまさまな機能を使いたくなります。たとえば、以前作ったAmetMulti,AmetPerlなどは、ATOKのAMET機能(変換機能を拡張することができる仕様)を使って、Atokでプログラミング言語の一行プログラムを実行させたり、そういったワンライナー(一行プログラム)を辞書登録してしまうことで、文字処理・作成だけでなく、アスキーアート作成機能・画像取得機能などさまざまなことをしてみました。下の動画は、AmetMutiを使って、画像取得を行い、画像処理をかけたり、アスキーアート化を行った時のデモ動画です。

 最近のATOKには、そういった機能拡張がより簡易にできる機能が追加されているようです。とはいえ、市販ソフトのお仕着せ機能を使うのも(趣味としては)少しつまらないですし、何より、ATOKで似たようなことをするならAMET拡張機能を使えば良いので、わざわざ車輪の再発明のようなことはしたくありません。(趣味なんですから)何か新しいものに挑戦したいものです。

 そこで、今回はWindows用の(これまた無料の)AutoHotKeyを使って、キー入力を自由自在にフックして、さまざまな機能拡張を追加してみたい、と思います。AutoHotKeyはさまざまな機能を持ったソフトウェアなので、AutoHotkeyは、キー・スワッピングや語句置換や、キー入力などをトリガーにした各種処理ができるソフトで、非常に高機能なものです。その概略については、「AutoHotkeyを流行らせるページ」を一読してみれば、知ることができると思います。とはいえ、あまりも機能が多岐にわたっているので、まずは、既存のスクリプトを使ったり・改造したりすることから始めるのが良いと思います。

 さて、今日は、AutoHotKeyを使い、"rby"と打つと、クリップボードに入っているRuby(ワンライナー)スクリプトを実行させ、その結果をキー送出させるプログラムを書いてみることにします。

 準備作業は、まずAutoHotKeyをインストールします(再起動などは必要ありません)。そして、プロセスを起動して標準出力を読み書きするスクリプトをAutoHotKeyのAutoHotkey.ahkに追加します。もちろん、Rubyも必要です(どのようなバージョンでも構いません)。また、Rubyでなく、Perlでも何でもスクリプトを変えれば同機能を実現できます。

 それでは、スクリプトをAutoHotkey.ahkに追加しましょう。

::rby::
a=ruby -e '
c='
d=%a%%clipboard%%c%
pi:=PRun(d)
PWaitExit(pi)
r:=PRead(pi)
Send,%r%
PClosehandle(pi)
return
はい、これだけです。rbyという単語入力がされたら、rubyを-eオプションを付け起動させ、クリップボードの中身をワンライナーとして処理した上で、その結果をキー送出させる、というわけです。

 あとはAutoHotKeyで.ahkファイルを再読み込みし、メモ帳を開いて、

puts Time.now.month
と書き、その一行をコピーして、rbyと入力しエンターキーを押すと、そこには10という文字が出現します。もしも、 puts Math.sin(5) という一文をコピーして、rbyと打てば、メモ帳上に-0.958924274663138という文字が出現します。

 もちろん、メモ帳でなくても構いませんし、

a=ruby -e '
の一行を
a=perl -e '
とでも適当に替えるだけで、Perlを好きなソフト上で好きなタイミングで自由に使うことができるようになります。awkでも何でも同じ話、です。

 というわけで、今日はautoHotKeyを使って、自分の指先が叩くキーボードのすぐ向こうに、RubyやPerlの機能をいつでも呼び出せるようにしてみました。もちろん、この話はさらに(無料の)Mathematica Player機能の実装などにも繋がっていくことになります。

2010-02-15[n年前へ]

AutoHotkey 日本語情報 

 Windowsの各種作業の自動化・キー入れ操作設定・入れ替えなどを行うことができたAutoHotkey(派生版)の日本語情報解説を行っていた「AutoHotkeyを流行らせるページ」で、(冗談なのでしょうか、タイトルも変わっており)下記のように書かれています。

 現在開発中のJavaScriptベースのユーティリティ系スクリプトホスト「NILScript」の普及を目指すため、御覧の「AutoHotkeyを流行らせるページ」のコンテンツは、近々抹消される予定です。
 AutoHotKey ユーザは、ドキュメント類をダウンロードするか、wgetしておくと良いかもしれません。



■Powered by yagm.net