Como posso usar o teclado para simular a rolagem da roda do mouse com o AutoHotkey?

13

Estou procurando uma maneira de rolar com o teclado usando a AutoHotkey. Também seria ótimo se eu pudesse ajustar a velocidade de rolagem de alguma forma.

Jarek
fonte

Respostas:

13

Você pode usar a MouseClickfunção para simular a roda do mouse. Aqui está um exemplo de script que permite rolar mantendo a tecla CapsLock pressionada e pressionando 'w' para rolar para cima ou 's' para rolar para baixo:

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

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

Você pode acelerar o processo alterando 10para um valor maior. É o número de "detenções" pelas quais você deseja que a roda role.

Também existe um script no autohotkey.com que configura todos os botões e movimentos do mouse no NumPad, embora eu não tenha tentado.

yhw42
fonte
Eu gostaria de atribuir este comando às teclas: ctrl+alt+uppara rolar para cima e ctrl+alt+downpara baixo, mas nada está acontecendo, a rolagem não está funcionando. Por favor ajude, thx.
IGRACH 26/01
1
A very nice resposta senhor
saeed árabe Sheybani
2

Este é um script que acabei de elaborar. Pressione as teclas 0 e Seta para cima ou Seta para baixo para operar. Se você não possui um teclado numérico no computador, sempre pode personalizar as duas teclas como achar melhor. Funciona para que você mantenha pressionado 0 e uma tecla de seta e continue a rolagem rápida. Talvez melhor do que uma roda de rolagem?

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
Exaskryz
fonte
1

Teclas de atalho da roda do mouse [Windows NT / 2000 / XP ou posterior]

As teclas de atalho acionadas ao girar a roda do mouse são suportadas pelos nomes das teclas WheelDown e WheelUp . WheelLeft e WheelRight também são suportados na v1.0.48 +, mas não afetam os sistemas operacionais mais antigos que o Windows Vista. Aqui estão alguns exemplos de teclas de atalho da roda do mouse:

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.

Na v1.0.43.03 +, a variável interna A_EventInfo contém a quantia pela qual a roda foi girada, que normalmente é 1. No entanto, A_EventInfo pode ser maior ou menor que 1 nas seguintes circunstâncias:

  • Se o hardware do mouse relatar distâncias inferiores a um ponto, A_EventInfo pode conter 0;
  • Se a roda estiver girando rapidamente (dependendo do tipo de mouse), A_EventInfo poderá ser maior que 1. Uma tecla de atalho como a seguinte pode ajudar a analisar o mouse: ~WheelDown::ToolTip %A_EventInfo%

Algumas das teclas de atalho mais úteis para a roda do mouse envolvem modos alternativos de rolagem do texto de uma janela. Por exemplo, o seguinte par de teclas de atalho rola horizontalmente em vez de verticalmente quando você gira o volante enquanto mantém pressionada a tecla Control esquerda:

~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  

Por fim, como as teclas de atalho da roda do mouse geram apenas eventos de down (nunca eventos de up), eles não podem ser usados ​​como teclas de atalho de teclado .

[Fonte: Aqui ]

Mehper C. Palavuzlar
fonte
0

Eu recomendo a solução em http://lifehacker.com/5626708/use-autohotkey-to-scroll-backwards-in-the-command-prompt-by-keyboard

Pessoalmente, prefiro usar a chave LWin como modificador (para evitar colisões com a ligação de teclas do Emacs):

LWin & PgUp ::
  Enviar {WheelUp}
Retorna

LWin & PgDn ::
  Enviar {WheelDown}
Retorna

Essa solução é diferente da solução yhw42 e é muito simples de entender e usa as configurações padrão do Windows para rolagem (quão rápido é a rolagem).

NOTA Essas técnicas são úteis em notebooks (como o touchpad pode ser inútil para alguns usuários) e para usuários que não gostam do mouse. O evento do mouse é enviado para elementos ativos da GUI, portanto você precisa da posição correta do mouse.

gavenkoa
fonte