Controler souris avec votre manette

Soyez le premier à donner votre avis sur cette source.

Vue 33 926 fois - Téléchargée 3 360 fois

Description

Bon voici un petit source sans pretention en reponse a une question qui a été posé sur le forum y'a une semaine ou deux demandant comment faire pour controler sa souris avec le joystick. Un source pour les gens comme lui, et comme moi, qui avais de la difficulter a trouver comment controler le joystick par windows trouverons peut-etre une reponse ici, ou du moin une piste. Ce code fonctionne aussi sous Windows XP.

Il gere les click de souris(gauche et droit(bouton 1 et 2 de la manette), les mouvement x,y. GetCursorPos, SetCursorPos, Joystick avec MMSYSTEM. *Je ne suis pas certain qu'il fonctionnera partout, je l'ai essayer que sur une seule machine et les valeurs retourner par le joystick peuvent tres bien changer d'une machine a l'autre, merci de m'en aviser.

P.-S. N'oubliez pas d'installer votre Manette ;)

P.-S #2 : Je ne suis pas un pro des manettes ni de ce genre de code :) , c'est seulement que cela fonctionne et ca peut en aider plusieurs!... J'aurais surement eu la possibilité de le faire mieux, et c'est plutot croche , mais je m'en excuse..

Armz

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

jex03
Messages postés
1
Date d'inscription
dimanche 21 janvier 2007
Statut
Membre
Dernière intervention
4 février 2010

bonjour , je suis newbie en prog, ce code m'intéresse mais je ne sais pas du tout comment exploiter les fichier mis a dispositions.Si quelqu'un peut me donner un coup de pouce ! merci
cs_costello
Messages postés
136
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
15 février 2006

malheureusement ce code ne passe pas avec une manette XBOX 360 (branchée en USB)
la manette fonctionne normalement dans les jeux.
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
Pour un mode en position absolue, voici un bout de code tiré des travaux de Armkreuz_Spiderz :

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if RadioButton1.Checked then JoyID:=JOYSTICKID1
else JoyID:=JOYSTICKID2;

InfoJoystick.dwSize:=SizeOf(InfoJoystick);
InfoJoystick.dwFlags:= JOY_RETURNALL;
Result := joyGetPosEx(JoyID, @InfoJoystick);
GetCursorPos(mousept);

mouseXlabel.Caption := FloatToStr(mousept.X);
mouseYlabel.Caption := FloatToStr(mousept.Y);
joyXlabel.Caption := IntToStr(InfoJoystick.wXpos);
joyYlabel.Caption := IntToStr(Infojoystick.wYpos);

SetCursorPos(Screen.Width * InfoJoystick.wXpos div 65535, Screen.Height * InfoJoystick.wYpos div 65535);

case InfoJoystick.wButtons of
JOY_BUTTON1:
begin
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end;
JOY_BUTTON2:
begin
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
end
end;
end;

Par contre, le clic sur le joystick est double :(
Armkreuz_Spiderz
Messages postés
61
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
27 décembre 2008

...
Armkreuz_Spiderz
Messages postés
61
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
27 décembre 2008

...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.