|
|
|
|
今更ながら AutoHotKey 凄いですね。AutoHotKey というのは、キーボードのキータイプに応じて任意の処理を実行させる常駐型のフリーソフトです。ここで言う「任意の処理」とは、AHKスクリプト(VBとCが混ざったような独自言語)を用いて自分で記述すること、ですので、はい、自由度無限大です。
インストールしてアプリを起動すると、タスクトレイに「H」というアイコンが表れます。実行されているAHKスクリプトは、インストールされたディレクトリの AutoHotKey.ini です。直接編集してもよいですが、「H」アイコンを右クリック→「Edit This Script」でメモ帳が自動的に開きます。最初は初期ファイルを作成するかどうか聞かれるので、「はい」で。このファイルに処理を記述して、同じく「H」アイコンから「Reload This Script」を実行することで内容が反映されます。
(キー)::(処理) |
基本的な文法はこれだけです。"::" の左辺で押された「キー」を表し、右辺で実行する「処理」を表します。
| 表記 | キー |
|---|---|
| + | Shiftキーの修飾 |
| ^ | Controlキーの修飾 |
| ! | Altキーの修飾 |
| # | Windowsキーの修飾 |
| a | 'A'キー (大文字小文字は関係ない) |
| b | 'B'キー |
| Space | スペースキー |
| Right | 右矢印 |
詳細は「AutoHotkeyを流行らせるページ」 http://lukewarm.s101.xrea.com/ の「HotKeys」「キーリスト」を参照。
| 表記 | 処理 |
|---|---|
| (キー) | 前述のキー表記で指定されたキーの押下をエミュレートする |
| Run | 引数のプログラムを実行する (コマンドと引数の区切りは ",") |
| WinActivate | 引数のWindowをアクティブにする |
| ControlSend | 引数のWindowにイベントを送信する |
| (複数の処理表記) | プログラムとして順次実行する |
| return | そのキー定義の処理を終了する |
詳細は「AutoHotkeyを流行らせるページ」 http://lukewarm.s101.xrea.com/ を参照。
a::b b::a |
これは "a" が押されたら "b" が表示され、"b" が押され(ry、という隣の人の端末に隙をついて仕込む嫌がらせぐらいにしか用途がないどうしようもないAHKスクリプトですが(*1)、この簡潔さと強力な表現力はAutoHotKeyの可能性を感じさせるのに十分です。
(*1) 願わくば愛理のPCに仕掛けて、あの眉をもっと下げさせたいでケロ
「Edit This Script」を開くと、以下の2つのキー定義が初期サンプルとして用意されているのがわかります。
#z::Run www.autohotkey.com |
^!n:: IfWinExist Untitled - Notepad WinActivate else Run Notepad return |
かなりの頻度で参照するURLや外部アプリケーションがあれば、キーと対象をちょっと変えるだけで即実用的です。If文などの文法に関する詳細は「AutoHotkeyを流行らせるページ」(ry
実はこれが目的。来年にはさすがに実装されるだろうと待つこと数年、いよいよ本気を出して代案を探し始めた所なのです。
| 代案 | 感想 | 試用期間 |
|---|---|---|
| Poderosa | エスケープシーケンス周りの表示が時々バグるのとテキスト表示が異様に遅くてギブ | 1年 |
| UTF-8対応TeraTerm Pro | Collector に到達できずにギブ | 30分 |
| すごいよたぶちさん | 汎用的だけどフォーカスやサイズ調整に難ありでギブ | 30分 |
| AutoHotKey | タブ化は手段でホットキーによる切り替えが目的だと気付いた | (いまここ) |
で、AutoHotKeyなら頑張ればできそうな気がしたんですが、「AutoHotKey スレ3」にいきなり鱗級の解法がありました。
+Tab:: WinGetClass, className, A WinActivateBottom, ahk_class %className% return |
上記では "+Tab" に割り当てていますので、PuTTY がアクティブな時に Shift+Tab を押すだけで次の PuTTY へ移動できるのです!しかも、PuTTY 限定でなく、アクティブウィンドウに作用するので、「FireFox を ALT + Tab で探したと思ったらダウンロード窓かよー!」なんてときにも、Shift + Tab 一発で本体へジャンプ。もちろんエクスプローラでも何でも同一グループ(クラス名)なら何でも使えちゃう><。
| キー | 動作 |
|---|---|
| Alt+Tab | 次のWindowへ移動 |
| Shift+Tab | 次の同一クラスのWindowへ移動 |
| Ctl+Tab | 次のタブへ移動 |
と、他の修飾キーとの類似性的にも早速お気に入りで、もう手放せません。スレの106氏には感謝です。ブロックのアンインデントが出来なくなった事に薄々気付き始めたけど、まぁ、それは修飾キーを「窓」なり「Shift+Ctl」にするなり何なりの方法で。
「Berryz工房は名曲揃い」は狼の総意。確かに、シングルのみならずCW・アルバム含めて全てが名曲と言っても過言ではない。(ベリヲタ調べ)。だが、そのアキレス腱とも言うべき曲が1曲だけある(*1)。「1st 超ベリーズ」の「小遣いUP大作戦」だ!こいつだけは承服できねー!ということで、必然的にその曲がかかるとプレイヤーアプリの「次曲へ」ボタンを押す必要があり(*2)、これを何とか非アクティブウィンドウであってもキー操作のみで行いたいという要求が生まれる。これが「小遣いUP大作戦問題」である。
#n:: DetectHiddenWindows,On ControlSend,,!Right,ahk_class TFrmMIDI return |
「AutoHotkeyを流行らせるページ」の「使用例」に「サウンドプレイヤーや常駐ソフトなどを好きなホットキーで直接操作」というこれまたピッタリの例があったので、ウホッ流行らせるページさんいい男!と見よう見まねで上記のようなコードを書くも、動きません。(いまここ)。このように色々と楽しいので、興味のある人は是非、流行らせるページさんのサイトを訪れて軽くAHKの達人になって下さい。そして、小遣い問題を解決して下さい><
(*1) 正確には「にぎやかな冬」もだが、矢口が入ってる時点で(ry
(*2) プレイリストから外すのは完全性を求めたがるA型のポリシーに反する
| JRuby | Rails | Berryz | ℃-ute | エッグ | jQuery |
| 前 | 2006年 12月 |
次 | ||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | ||||||
3か月前にAutoHotkeyでまったく同じ挫折を経験した私が来ましたよw<br>Kbmedia Playerは自前でホットキーの機能があるので結局そっち使っちゃってる。[ツール]-[その他の設定]-[ホットキー有効]にしてからSHIFT+CTRL+Nで次の曲。
PoderosaのエスケープシーケンスにはうんざりしながらもTab切り替えが故にしょうがなく使ってた私が来ましたよ.Teratermで不満なCollectorって何ですか?
ckは駄目?
>TT<br>自前であるんすか、さんくすこ!俺も真似する〜<br><br>>yamaz<br>Collectorというツール?を使うとタブ化できるらしいんですよ、旦那。<br>でインスコ時にチェックするも、どこに出るのかすら探し出せずに挫折。<br>別途インスコするものなのかなぁ?ぐらいのレベルです。<br><br>>なひ<br>あぁ、cygwin でしたっけ。インストールが面倒で使ってなかった>cygwin。<br>ck いい感じですか?ssh port forwarding とかも可?試してみようかな。
PuTTYβ0.58ごった煮版には「Ctrl+TABでPuTTYのウィンドウを切り替えられるようにする設定」があるのでこれでもいいのではないでしょうか。<br>でもAutoHotKeyの方が便利そうですね。
あぁ!