Gestion de la souris avec une manette
Publié : dim. 12/sept./2010 17:11
Ceci est un petit code que j'ai fabriqué pour mon propre usage, il permet de contrôler la souris dans l'ordinateur lorsqu'une manette est branchée (en l'occurrence j'ai testé avec une manette de Xbox 360 filaire officielle noire). Le joystick (gauche) permet le déplacement de la souris (bouton X pour le déplacement plus rapide), le clic gauche est simulé par le bouton A et le clic droit par le bouton B. Le double-clic fonctionne. Le code mériterait quelques améliorations, il y a notamment une boucle infinie, donc si vous le compilez vous devez aller dans le gestionnaire des tâches pour l'arrêter. Il peut être lancé au démarrage via un raccourci dans le menu démarrer. Je vous conseille de la désactiver avant de lancer un jeu, l'idéal serait une détection automatique d'une application lancée en pleine écran.
Code : Tout sélectionner
EnableExplicit
InitJoystick()
Define Cursor.POINT,Clic.i,Turbo.b
Repeat
Delay(5)
ExamineJoystick(0)
GetCursorPos_(Cursor)
If JoystickButton(0,3) : Turbo=5 : Else : Turbo=1 : EndIf
Cursor\X+JoystickAxisX(0)*Turbo
Cursor\Y+JoystickAxisY(0)*Turbo
If JoystickButton(0,1) And Clic=0
mouse_event_($2|$4|$8000,Cursor\X,Cursor\Y,0,GetMessageExtraInfo_())
Clic=ElapsedMilliseconds()
ElseIf JoystickButton(0,2) And Clic=0
mouse_event_($8|$10|$8000,Cursor\X,Cursor\Y,0,GetMessageExtraInfo_())
Clic=ElapsedMilliseconds()
Else
SetCursorPos_(Cursor\X,Cursor\Y)
If ElapsedMilliseconds()-Clic>200 : Clic=0 : EndIf
EndIf
ForEver