AutoHotKeyで、Esc長押しにAlt+F4割り当てたらたまに便利。

 よく考えたら、「ダイアログや子ウィンドウ等をEscで閉じる回数」より「ウィンドウを閉じる回数」のが少なかったので、より少ない方を長押しに割り当てればよかったっていう。
 便利だがやっぱり機会はまれ。

; Esc長押しでウィンドウ閉じる
$Esc::
  KeyWait, Esc, T0.8
  if ErrorLevel
    send,!{F4}
  else
    send,{Esc}
  keywait, Esc
return

 Esc長押しでAlt+F4を、そうでなければEscを出力。シンプルイズベストってやつだ。


[PR]
by lordnoesis | 2010-08-28 12:56 | テクノロジ | Trackback | Comments(2)

AutoHotKeyで、キー二連打にいろいろ割り当ててみた。

 二連打は、意識せずに指一本でできるので便利。


 二連打は組み込み変数を使えばもっとスマートにできるね。ふたつ目ならこんな感じ。

$vk1Dsc07B::
  KeyWait, vk1Dsc07B
  if (A_PriorHotkey == A_ThisHotkey) && (400 > A_TimeSincePriorHotkey)
    send, ^+{Space}
return

Esc二連打でウィンドウ閉じる

 便利なんだけど機会がまれっていう。

; Esc二連打でウィンドウ閉じる
$Esc::
  KeyWait, Esc, T0.4
  if ErrorLevel
  {
    send, {Esc}
    return
  }
  if A_TickCount < %EscDouble%
  {
    send, !{F4}
    EscDouble = 0
  }
  else
  {
    EscDouble = %A_TickCount%
    EscDouble += 400
  }
return

 二連打でAlt+F4、長押しでEscを出力。

 ソフトウェア側で「Escでウィンドウを閉じる」ショートカットになってることが多いので、ウィンドウを閉じるショートカットとEsc出力を両立したくてやってみた。でもEscで閉じれるソフトで二連打してしまうと誤爆してしまう罠。まさにこの記事書いてる時に発生して書き直しに(ぐへー。

 「二連打ならAlt+F4、そうでなければEscを出力する」というのも考えたが、ややこしそうなのでやってない。

 ていうか良く考えたら二連打じゃなくてもよかった。

 別にややこしくなかった。

無変換キー二連打でランチャーを呼び出す

; 無変換キー二連打でBlueWindを呼び出す
$vk1Dsc07B::
  if A_TickCount < %MuhenkanDouble%
  {
    send, #{Space}
    MuhenkanDouble = 0
  }
  else
  {
    MuhenkanDouble = %A_TickCount%
    MuhenkanDouble += 400
  }
  KeyWait, vk1Dsc07B
return

 無変換キー連打でランチャーを呼び出せるようにするととてつもなく便利。わしはBlueWindだけど、別にBWに限らず。
 Win+Spaceってのは、BW側で指定してあるランチャー呼出しキー。各自適当に。

 これは長押しで別キー出力とかはしてないので、KeyWaitは末尾で時間無制限(キーリピート防止目的)。


Alt二連打でOperaをアクセスキーモードに

;--------------------------------------------------
; Opera
;--------------------------------------------------
#IfWinActive ahk_class OperaWindowClass
; Alt二連打でアクセスキーモードに
$alt::
  KeyWait, alt, T0.4
  if ErrorLevel
  {
    send, {alt}
    return
  }
  if A_TickCount < %AltDouble%
  {
    IME_ON(WinExist("A"), False)
    send, +{Esc}
    AltDouble = 0
  }
  else
  {
    AltDouble = %A_TickCount%
    AltDouble += 400
  }
return

 Operaの「アクセスキーモード」は地味にすごいんだが、Shift+Escってショートカットが覚えにくい&面倒なので、Alt二連打でアクセスキーモードに切り替えるスクリプト。

 なにがすごいって、アクセスキーのもつ問題のうち、「ブラウザのショートカットと競合する」「どのキーがなんの機能かわかりにくい」というのを、「キー×機能の一覧を表示する専用モード」で回避してるのがすごい。

 なおアクセスキーモードは、IMEがOFFでないとキーでは機能実行できないので、IMEを制御するユーザー関数でOFFにしている。

もらかなです。AutoHotkey IMEの制御をする編 -- IMEを制御するユーザー関数はこちら。


[PR]
by lordnoesis | 2010-08-25 19:29 | テクノロジ | Trackback | Comments(0)
ブログトップ | ファンになる