Comment puis-je utiliser le clavier pour simuler le défilement de la molette de la souris avec AutoHotkey?

13

Je cherche un moyen de faire défiler avec le clavier en utilisant AutoHotkey. Ce serait également bien si je pouvais modifier la vitesse de défilement d'une manière ou d'une autre.

Jarek
la source

Réponses:

13

Vous pouvez utiliser la MouseClickfonction pour simuler la molette de la souris. Voici un exemple de script qui vous permet de faire défiler en maintenant enfoncée la touche CapsLock et en appuyant sur «w» pour faire défiler vers le haut ou «s» pour faire défiler vers le bas:

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

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

Vous pouvez accélérer le processus en modifiant la 10valeur plus grande. C'est le nombre de "crans" que vous souhaitez faire défiler.

Il existe également un script sur autohotkey.com qui configure tous les boutons et mouvements de la souris sur le pavé numérique, même si je ne l'ai pas essayé.

yhw42
la source
Je voudrais affecter cette commande aux touches: ctrl+alt+uppour faire défiler vers le haut et ctrl+alt+downpour faire défiler vers le bas Mais rien ne se passe, le défilement ne fonctionne pas. Veuillez aider, merci.
IGRACH
1
Une très belle réponse monsieur
saeed arab sheybani
2

Ceci est un script que je viens d'élaborer. Appuyez sur 0 et sur les flèches haut ou bas pour fonctionner. Si vous n'avez pas de pavé numérique sur votre ordinateur, vous pouvez toujours personnaliser les deux touches comme bon vous semble. Cela fonctionne afin que vous puissiez maintenir enfoncées 0 et une touche fléchée et continuer le défilement rapide. Peut-être mieux qu'une molette de défilement elle-même?

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
la source
1

Raccourcis clavier de la molette de la souris [Windows NT / 2000 / XP ou version ultérieure]

Les raccourcis clavier qui se déclenchent en tournant la molette de la souris sont pris en charge via les noms de clé WheelDown et WheelUp . WheelLeft et WheelRight sont également pris en charge dans la version 1.0.48 +, mais n'ont aucun effet sur les systèmes d'exploitation antérieurs à Windows Vista. Voici quelques exemples de raccourcis clavier de la molette de la souris:

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.

Dans la version 1.0.43.03 +, la variable intégrée A_EventInfo contient la valeur de rotation de la roue, qui est généralement de 1. Cependant, A_EventInfo peut être supérieur ou inférieur à 1 dans les circonstances suivantes:

  • Si le matériel de la souris signale des distances inférieures à un cran, A_EventInfo peut contenir 0;
  • Si la molette tourne rapidement (selon le type de souris), A_EventInfo peut être supérieur à 1. Un raccourci clavier comme celui-ci peut aider à analyser votre souris: ~WheelDown::ToolTip %A_EventInfo%

Certaines des touches de raccourci les plus utiles pour la molette de la souris impliquent d'autres modes de défilement du texte d'une fenêtre. Par exemple, la paire de raccourcis clavier suivante défile horizontalement au lieu de verticalement lorsque vous tournez la roue tout en maintenant la touche Ctrl gauche enfoncée:

~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  

Enfin, comme les raccourcis clavier de la molette de la souris ne génèrent que des événements descendants (jamais des événements ascendants), ils ne peuvent pas être utilisés comme raccourcis clavier .

[Source: ici ]

Mehper C. Palavuzlar
la source
0

Je recommande la solution de http://lifehacker.com/5626708/use-autohotkey-to-scroll-backwards-in-the-command-prompt-by-keyboard

Personnellement, je préfère utiliser la clé LWin comme modificateur (pour éviter la collision avec la liaison de clé Emacs):

LWin & PgUp ::
  Envoyer {WheelUp}
Revenir

LWin & PgDn ::
  Envoyer {WheelDown}
Revenir

Cette solution distincte de la solution yhw42 est beaucoup plus simple à comprendre et utilise des paramètres Windows standard pour le défilement (vitesse de défilement).

REMARQUE Cette technique est utile sur les ordinateurs portables (car le pavé tactile peut être inutile pour certains utilisateurs) et pour les utilisateurs qui n'aiment pas la souris. L'événement de la souris est envoyé aux éléments actifs de l'interface graphique, vous devez donc positionner correctement la souris.

gavenkoa
la source