web-dev-qa-db-ja.com

キーボードを使用して、AutoHotkeyでマウスホイールのスクロールをシミュレートするにはどうすればよいですか?

AutoHotkeyを使用してキーボードでスクロールする方法を探しています。なんとかスクロール速度を微調整できたらいいですね。

13
Jarek

MouseClick 関数を使用して、マウスホイールをシミュレートできます。 CapsLockキーを押しながら「w」を押して上にスクロールするか、「s」を押して下にスクロールしてスクロールできるスクリプトの例を次に示します。

CapsLock & w::
 MouseClick,WheelUp,,,10,0,D,R
return

CapsLock & s::
 MouseClick,WheelDown,,,10,0,D,R
return

10をより大きな値に変更することで、処理速度を上げることができます。ホイールをスクロールさせたい「戻り止め」の数です。

また、NumPadのすべてのマウスボタンと動きを設定する autohotkey.comのスクリプト もありますが、試したことはありません。

13
yhw42

これは私が作成したばかりのスクリプトです。操作するには、0と上矢印キーまたは下矢印キーを押します。コンピューターにテンキーがない場合は、2つのキーを必要に応じていつでもカスタマイズできます。それはあなたが0と矢印キーを押しながらスピードスクロールを続けることができるように機能します。おそらく、スクロールホイール自体よりも優れていますか?

0 & Up::
Loop
{
Send {WheelUp}
GetKeyState, T, Down
If T=U ; U is a state for up, D is a state for down
  Break
}
Return

0 & Down::
Loop
{
Send {WheelDown}
GetKeyState, T, Down
If T=U ; U is a state for up, D is a state for down
  Break
}
Return
2
Exaskryz

マウスホイールのホットキー[Windows NT/2000/XP以降]

マウスホイールを回したときに起動するホットキーは、キー名WheelDownおよびWheelUpでサポートされています。 WheelLeftとWheelRightもv1.0.48以降でサポートされていますが、Windows Vistaより古いオペレーティングシステムには影響しません。マウスホイールのホットキーの例をいくつか示します。

MButton & WheelDown::MsgBox You turned the mouse wheel down while holding down the middle button.
^!WheelUp::MsgBox You rotated the wheel up while holding down Control+Alt.

V1.0.43.03 +では、組み込み変数A_EventInfoには、ホイールが回された量が含まれています。これは通常1です。ただし、次の状況では、A_EventInfoは1より大きい場合と1より小さい場合があります。 :

  • マウスハードウェアが1ノッチ未満の距離を報告する場合、A_EventInfoには0が含まれる場合があります。
  • ホイールがすばやく回転している場合(マウスの種類によって異なります)、A_EventInfoは1より大きい場合があります。次のようなホットキーは、マウスの分析に役立ちます:~WheelDown::ToolTip %A_EventInfo%

マウスホイールの最も便利なホットキーには、ウィンドウのテキストをスクロールする代替モードが含まれます。たとえば、次のホットキーのペアは、左のControlキーを押しながらホイールを回すと、垂直ではなく水平にスクロールします。

~LControl & WheelUp::  ; Scroll left.  
ControlGetFocus, fcontrol, A  
Loop 2  ; <-- Increase this value to scroll faster.  
    SendMessage, 0x114, 0, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT.  
return  

~LControl & WheelDown::  ; Scroll right.  
ControlGetFocus, fcontrol, A  
Loop 2  ; <-- Increase this value to scroll faster.  
    SendMessage, 0x114, 1, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINERIGHT.  
return  

最後に、マウスホイールのホットキーはダウンイベントのみを生成するため(アップイベントではありません)、 key-up hotkeys として使用することはできません。

[出典: ここ ]

私は http://lifehacker.com/5626708/use-autohotkey-to-scroll-backwards-in-the-command-Prompt-by-keyboard からの解決策をお勧めします

個人的には、LWinキーを修飾子として使用することを好みます(Emacsキーバインディングとの衝突を回避するため)。

 LWin&PgUp :: 
送信{WheelUp} 
戻る
 
 LWin&PgDn :: 
送信{WheelDown} 
返品

このソリューションはyhw42ソリューションとは異なり、理解するのが非常に簡単であり、スクロールにstandardWindows設定を使用します(スクロール速度)。

[〜#〜]ノート[〜#〜]このテクニックは、ノートブック(タッチパッドは一部のユーザーには役に立たない場合があるため)およびマウスが嫌いなユーザーに役立ちます。マウスイベントはアクティブなGUI要素に送信されるため、マウスを適切に配置する必要があります。

0
gavenkoa