13

Я ищу способ прокрутки с помощью клавиатуры с помощью AutoHotkey. Было бы также здорово, если бы я мог как-то настроить скорость прокрутки.

4 ответа4

12

Вы можете использовать функцию 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, хотя я этого не пробовал.

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 или более поздняя версия]

Горячие клавиши, которые запускаются при вращении колесика мыши, поддерживаются через названия клавиш 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.

В версии 1.0.43.03+ встроенная переменная A_EventInfo содержит величину, на которую было повернуто колесо, обычно равную 1. Однако A_EventInfo может быть больше или меньше 1 при следующих обстоятельствах:

  • Если оборудование мыши сообщает о расстоянии менее одной отметки, 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::
  Send {WheelUp}
Return

LWin & PgDn::
  Send {WheelDown}
Return

Это решение отличается от решения yhw42 настолько простым для понимания и использует стандартные настройки Windows для прокрутки (как быстро прокручивать).

П р и м е ч а н и е - Эта техника полезна для ноутбуков (так как тачпад может быть бесполезен для некоторых пользователей) и для пользователей, которым не нравится мышь. Событие мыши отправляется на активные элементы GUI, поэтому вам нужно правильно расположить мышь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .