Gestion de la souris avec une manette

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Gestion de la souris avec une manette

Message par Octavius »

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
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Gestion de la souris avec une manette

Message par Le Soldat Inconnu »

J'ai un code plus poussé avec mon logiciel "Joystick Animator" qui permet de piloter la souris ou le clavier avec une manette de jeu.

Je distribue le code a qui me le demande.

Il l'utilise l'excellente librairie "JoystickEx" qui permet de récupérer les infos de la manette.

Je vais essayer de faire une version sans icônes ni librairie externe et la poster. Il faut que je récupère ma manette avant, elle est en maintenance (problème de peinture qui a vieillit et qui colle, faut qui je l'enlève)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Gestion de la souris avec une manette

Message par Backup »

pour rappel un code existait deja sur notre Forum dans le TUTO sur la souris... (tiré de code archive ;) )
Répondre