2011-08-23
AutoHotkeyを使ってホイールクリックで貼り付け(Chrome等で)
Vista SP2, Chrome13, AutoHotkey 1.1.02.03 で動作確認。
注意:chrome19で Chrome_WidgetWin_0 から Chrome_WidgetWin_1 に変更されました。
;chromeでホイールクリックしたら貼り付け ;ホイールクリックしながらドラッグでスクロールする機能を生かすために、キーが離されたらコピペする動作 #IfWinActive ahk_class Chrome_WidgetWin_0 ~MButton:: KeyWait, MButton send, ^v return #IfWinActive
#IfWinActive ahk_class Chrome_WidgetWin_0のとこをとっぱらってchrome以外も汎用的に動作することもできるけど、不都合がでたり自分が求めてないので。
と思ってたけど、「middlemouse.pasteに相当するuserChrome.js」を使う必要がなくなったり、意外と便利だったので汎用的にしてしばらく使ってみる。
;chromeでホイールクリックしたら貼り付け ;ホイールクリックしながらドラッグでスクロールする機能を生かすために、キーが離されたらコピペする動作 ~MButton:: KeyWait, MButton send, ^v return
ホイールクリックでタブを閉じる人は、inputにフォーカスがある状態でタブを閉じるとペーストされちゃいますね。どうしたもんか。
追記
コピーした画像やテキストを右ダブルクリックでペーストする方法 : ライフハッカー[日本版] を参考にすることにした。
;Double Right Click to paste (http://www.lifehacker.jp/2009/07/post_1009.html)
~RButton::
If ((A_PriorHotKey = A_ThisHotKey) && (A_TimeSincePriorHotkey < 300)) {
Sleep 200
Send {Esc}
Send ^v
}
Return
参考
AutoHotkeyを使ってChromeのタブ切り替えをマウスホイールで行う
Vista SP2, Chrome13, AutoHotkey_L 1.0.92.02, AutoHotkey 1.1.02.03 で動作確認。
;chromeのタブ切り替えをマウスホイールで行う
#IfWinActive ahk_class Chrome_WidgetWin_0
~WheelUp::
MouseGetPos, x, y
if (y < 45) {
send, ^{PgUp}
}
return
~WheelDown::
MouseGetPos, x, y
if (y < 45) {
send, ^{PgDn}
}
return
#IfWinActive
追記
ウィンドウの下の方(下から15%の高さ)でもタブ切り替えできるように改造した。普通のサイトだとスクロール位置がずれるけど主に画像ファイルで使うので気にしない。
#IfWinActive ahk_class Chrome_WidgetWin_0 ~WheelUp:: MouseGetPos, x, y WinGetActiveStats, title, width, height, winx, winy if (y < 45) { send, ^{PgUp} } else if ( y > height * 0.85 && y < height) { ;ウィンドウの下の部分でもタブ切り替えができるように。スクロール位置がずれたりするけど対応できなかった send, {click, WheelDown}^{PgUp} } return ~WheelDown:: MouseGetPos, x, y WinGetActiveStats, title, width, height, winx, winy if (y < 45) { send, ^{PgDn} } else if ( y > height * 0.85 && y < height) { send, {click, WheelUp}^{PgDn} } return #IfWinActive
