MouseGesture.ahkで、マウスホイールを加速してみた。
長いページをホイールでスクロールさせるのが面倒になって、ソフトごとにホイール係数変えてみたら便利だったので、さらに発展させてみた。
ホイールを一方向に連続して回転させ続けると、徐々に加速――というか、動く距離が増えていく。
解除はカウンターあてればできるのだし、移動量の増加と共に、許容する入力間隔も増加させた方がいいかも。調整は個々人によるだろうから、今回はとりあえず600固定にしといた。かなり素早く回した時だけ超加速――というのも考えたが、必死こいて回したくないというのが出発点なのでやめた。他に、Shift+ホイールとかでPageUp/Downさせるのもいいかも。
以下、ブラウザ向けの例。条件定義等は各自適当に。内容自体は、MG.ahkでなくAHKでも動く。
[Browser]
Exe=iexplore.exe
Exe=firefox.exe
Exe=opera.exe
Exe=chrome.exe
[WU_]
G=WU_
Browser=if(("*WheelUp" == A_PriorHotkey) && (600 >= A_TimeSincePriorHotkey)) {【TAB】【TAB】if (6 > WUSW) {【TAB】【TAB】【TAB】WUSW++【TAB】【TAB】【TAB】Send, {WheelUp}【TAB】【TAB】} else if (18 > WUSW) {【TAB】【TAB】【TAB】;TipView("Turbo", 600)【TAB】【TAB】【TAB】WUSW++【TAB】【TAB】【TAB】Send, {WheelUp 3}【TAB】【TAB】} else {【TAB】【TAB】【TAB】;TipView("Super Turbo", 600)【TAB】【TAB】【TAB】Send, {WheelUp 6}【TAB】【TAB】}【TAB】} else {【TAB】【TAB】WUSW := 1【TAB】【TAB】Send, {WheelUp}【TAB】}
[WD_]
G=WD_
Browser=if(("*WheelDown" == A_PriorHotkey) && (600 >= A_TimeSincePriorHotkey)) {【TAB】【TAB】if (6 > WDSW) {【TAB】【TAB】【TAB】WDSW++【TAB】【TAB】【TAB】Send, {WheelDown}【TAB】【TAB】} else if (18 > WDSW) {【TAB】【TAB】【TAB】;TipView("Turbo", 600)【TAB】【TAB】【TAB】WDSW++【TAB】【TAB】【TAB】Send, {WheelDown 3}【TAB】【TAB】} else {【TAB】【TAB】【TAB】;TipView("Super Turbo", 600)【TAB】【TAB】【TAB】Send, {WheelDown 6}【TAB】【TAB】}【TAB】} else {【TAB】【TAB】WDSW := 1【TAB】【TAB】Send, {WheelDown}【TAB】}
発動してるか判りにくいので、ツールチップを表示するユーザー関数「TipView」を仕込んである。使いたい人はコメントアウトを解除して、以下の関数をMG.ahkの拡張スクリプトに書くか、AHKの関数ライブラリに置く。
TipView.ahk
TipView(TextBuf, Timer = 3000) {
ToolTip, %TextBuf%
SetTimer, TipClose, %Timer%
}
TipClose:
SetTimer, TipClose, Off
ToolTip
return