Respostas:
Você pode usar a MouseClick
funçã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 10
para 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.
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
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:
~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 ]
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.
ctrl+alt+up
para rolar para cima ectrl+alt+down
para baixo, mas nada está acontecendo, a rolagem não está funcionando. Por favor ajude, thx.