如何使用键盘通过AutoHotkey模拟鼠标滚轮滚动?


13

我正在寻找一种使用AutoHotkey在键盘上滚动的方法。如果我能以某种方式调整滚动速度,那也将很棒。

Answers:


13

您可以使用该MouseClick功能模拟鼠标滚轮。这是一个示例脚本,可通过按住CapsLock键并按“ w”向上滚动或按“ s”向下滚动来滚动:

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

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

通过将更10改为更大的值,可以使其运行更快。这是您希望滚轮滚动通过的“棘爪”的数量。

autohotkey.com上还有一个脚本,可在NumPad上设置所有鼠标按钮和移动,尽管我没有尝试过。


我想将此命令分配给按键: ctrl+alt+up用于向上滚动和ctrl+alt+down向下滚动但什么都没有发生,滚动不起作用。请帮助,谢谢。
IGRACH '16

1
先生,这是一个很好的答案
saeed arab sheybani

2

这是我刚刚编写的脚本。按0和上或下箭头键进行操作。如果您的计算机上没有数字键盘,则始终可以根据需要自定义两个键。它可以使您按住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

1

鼠标滚轮热键[Windows NT / 2000 / XP或更高版本]

按键名称WheelDownWheelUp支持在转动鼠标滚轮时触发的热键。v1.0.48 +还支持WheelLeft和WheelRight,但对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:

  • 如果鼠标硬件报告的距离小于一个凹口,则A_EventInfo可能包含0;否则,A_EventInfo可能包含0。
  • 如果快速转动滚轮(取决于鼠标的类型),则A_EventInfo可能大于1。类似于以下的热键可以帮助您分析鼠标: ~WheelDown::ToolTip %A_EventInfo%

鼠标滚轮一些最有用的热键涉及滚动窗口文本的其他模式。例如,在按住左控制键的同时转动滚轮时,以下一对热键是水平滚动而不是垂直滚动:

~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  

最后,由于鼠标滚轮热键仅生成向下事件(从不生成向上事件),因此它们不能用作向上键热键

[来源:这里 ]


0

我建议从http://lifehacker.com/5626708/use-autohotkey-to-scroll-backwards-in-the-command-prompt-by-keyboard解决方案

我个人更喜欢使用LWin键作为修饰符(以避免与Emacs键绑定冲突):

LWin和PgUp ::
  发送{WheelUp}
返回

LWin和PgDn ::
  发送{WheelDown}
返回

该解决方案与yhw42解决方案不同,因为它易于理解,并且使用标准 Windows设置进行滚动(滚动速度有多快)。

注意此技术在笔记本电脑(某些用户无法使用触摸板)和不喜欢鼠标的用户中很有用。鼠标事件发送到活动的GUI元素,因此您需要正确放置鼠标位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.