Programmation joy Thrustmaster T16000 ?
Programmation joy Thrustmaster T16000 ?
#1Bonjour,
savez vous s'il existe un soft pour programmer le T16000 de Thrustmaster ?
Je suis allé sur le site du fabriquant mais il me semble après installation que ce ne soit qu'un driver...
S'il n'existe pas de soft du fabriquant dédié au T16000, existe t'il un soft "alternatif" qui pourrait faire l'affaire ?
Merci d'avance.
savez vous s'il existe un soft pour programmer le T16000 de Thrustmaster ?
Je suis allé sur le site du fabriquant mais il me semble après installation que ce ne soit qu'un driver...
S'il n'existe pas de soft du fabriquant dédié au T16000, existe t'il un soft "alternatif" qui pourrait faire l'affaire ?
Merci d'avance.
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#2
il te faut target, c le meme soft que pour le warthog... dispo sur le site de TM
Dresseur de cochon (sauvage)
#3
ah oki, je vais regarder ça, merci.
j'ignorais que le "target" était adapté aussi pour le petit T16000.
j'ignorais que le "target" était adapté aussi pour le petit T16000.
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#5
J'aurais pleins de questions à poser, mais je ne sais pas si je peux le faire ici, ni envie de polluer un topic existant, ouvrir un nouveau topic ou utiliser un topic existant.
J'attends ta réponse.
En tout cas, j'ai déjà réussi à modifier les courbes tangage et roulis ainsi que d'affecter des touches.
Merci encore.
J'attends ta réponse.
En tout cas, j'ai déjà réussi à modifier les courbes tangage et roulis ainsi que d'affecter des touches.
Merci encore.
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#7
Bon, j'y vais...
Je ne comprends pas le rôle de la touche "add" en haut à gauche de l’écran du Target command center.
Je m'explique : j'ai créé un profil, je l'ai enregistré, testé etc.
Je vais dans "add" et j'associe mon profil .fcf avec Il2.exe par exemple.
je clic sur "run configuration", je sélectionne le .fcf que je veux et ça passe en mode "running script".
-si je ferme ce running script en cliquant sur "stop", le profil n'est pas pris en compte, bref ça marche pas...
-si je réduis la fenêtre "running script" dans la barre des taches et que je lance IL2, là le profil est actif dans le jeu.
Il est actif dans le jeu mais partout aussi : si j'ouvre le note pad, je m'aperçois qu'avec le soft en "running script", l'appui sur les touches du joy permettent d'afficher leur prog, et actif aussi dans RoF alors que je ne l'ai pas selectionné avec "add"....
Donc j'aurais 2 questions :
-a quoi sert exactement le "add" pour associer un profil a un jeu, sachant que ce profil est valable non seulement pour le jeu "sélectionné" mais aussi pour tous les autres. Par exemple, mon profil que j'ai "add" avec Il2.exe, fonctionne aussi avec RoF...
-pour que le profil soit actif, quelle est la bonne méthode ?
cliquer sur "run configuration" + sélection profil .fcf + réduire la fenêtre Gui "running script" dans la barre des taches ?
je sais pas si je suis très clair sur le coup... :wacko::crying:
Je ne comprends pas le rôle de la touche "add" en haut à gauche de l’écran du Target command center.
Je m'explique : j'ai créé un profil, je l'ai enregistré, testé etc.
Je vais dans "add" et j'associe mon profil .fcf avec Il2.exe par exemple.
je clic sur "run configuration", je sélectionne le .fcf que je veux et ça passe en mode "running script".
-si je ferme ce running script en cliquant sur "stop", le profil n'est pas pris en compte, bref ça marche pas...
-si je réduis la fenêtre "running script" dans la barre des taches et que je lance IL2, là le profil est actif dans le jeu.
Il est actif dans le jeu mais partout aussi : si j'ouvre le note pad, je m'aperçois qu'avec le soft en "running script", l'appui sur les touches du joy permettent d'afficher leur prog, et actif aussi dans RoF alors que je ne l'ai pas selectionné avec "add"....
Donc j'aurais 2 questions :
-a quoi sert exactement le "add" pour associer un profil a un jeu, sachant que ce profil est valable non seulement pour le jeu "sélectionné" mais aussi pour tous les autres. Par exemple, mon profil que j'ai "add" avec Il2.exe, fonctionne aussi avec RoF...
-pour que le profil soit actif, quelle est la bonne méthode ?
cliquer sur "run configuration" + sélection profil .fcf + réduire la fenêtre Gui "running script" dans la barre des taches ?
je sais pas si je suis très clair sur le coup... :wacko::crying:
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#8
le "add" de la fenetre Fly now premet de lier un proifil a un soft.
Une fois l'association faite il suffit de double cliquer sur le nom du soft (en vert, dans la meme fenetre "Fly Now!") pour lancer le profil puis le simu.
La fenêtre du dessous, c'est le "how do i" qui est un lien vers des docs.
Enfin la fenêtre "GUI Configuration files" et une zone qui permet, d’éditer ou de lancer des configuration seules.
Donc pour repondre a tes question, si tu veux lancer un profil et le simu en meme temps, il faut que tu configure le tout depuis la zone Fly Now ! via le bouton Add. Le seul truc a savoir c'est que dans ce cas, tu doit deja avoir créer ton "programm" car tu ne pourra pas l'editer depuis cette zone.
Pour lancer un profil seul, il faut le lancer depuis la Zone "Gui Configuration file" en le selectionnant puis en cliquant sur "Run". Ensuite tu lance ton simu. Pour arreter un profil, il suffis de cliquer sur "stop" de la fenetre qui s'ouvre aussitot apres que tu ais lancé (Run) ta configuration.
Pour creer une configuration 100% perso, il suffis de cliquer sur le bouton "New configuration" de la fenetre "My controllers".
Une fois l'association faite il suffit de double cliquer sur le nom du soft (en vert, dans la meme fenetre "Fly Now!") pour lancer le profil puis le simu.
La fenêtre du dessous, c'est le "how do i" qui est un lien vers des docs.
Enfin la fenêtre "GUI Configuration files" et une zone qui permet, d’éditer ou de lancer des configuration seules.
Donc pour repondre a tes question, si tu veux lancer un profil et le simu en meme temps, il faut que tu configure le tout depuis la zone Fly Now ! via le bouton Add. Le seul truc a savoir c'est que dans ce cas, tu doit deja avoir créer ton "programm" car tu ne pourra pas l'editer depuis cette zone.
Pour lancer un profil seul, il faut le lancer depuis la Zone "Gui Configuration file" en le selectionnant puis en cliquant sur "Run". Ensuite tu lance ton simu. Pour arreter un profil, il suffis de cliquer sur "stop" de la fenetre qui s'ouvre aussitot apres que tu ais lancé (Run) ta configuration.
Pour creer une configuration 100% perso, il suffis de cliquer sur le bouton "New configuration" de la fenetre "My controllers".
Dresseur de cochon (sauvage)
#9
Merci pour ta réponse rapide.
Donc en fait, si j'ai bien compris, associer un profil à un jeu, ne sert qu'a lancer le jeu a travers le target, c'est bien ça ?
Et pour avoir la programmation du target active , il faut cliquer sur "run conf", le laisser tourner (running script) puis lancer le jeu a partir d'hyper lobby par exemple ?
encore une question : target permet d'associer plusieurs contrôleurs pour n'en faire qu'un (comme le warthog avec ses gaz + manche).
peut on faire de même avec un Saitek X45 + T16000 ?
edit : quand je clic sur "device analyser", une fenêtre s'ouvre et affiche des infos sur le x45, mais je ne vois pas ce que je peux en faire...
Donc en fait, si j'ai bien compris, associer un profil à un jeu, ne sert qu'a lancer le jeu a travers le target, c'est bien ça ?
Et pour avoir la programmation du target active , il faut cliquer sur "run conf", le laisser tourner (running script) puis lancer le jeu a partir d'hyper lobby par exemple ?
encore une question : target permet d'associer plusieurs contrôleurs pour n'en faire qu'un (comme le warthog avec ses gaz + manche).
peut on faire de même avec un Saitek X45 + T16000 ?
edit : quand je clic sur "device analyser", une fenêtre s'ouvre et affiche des infos sur le x45, mais je ne vois pas ce que je peux en faire...
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#10
tu as bien compris.
Target ne supporte que les controlleurs TM : T-16000, MFDs, Warthog et dans une moindre mesure, le Cougar
Target ne supporte que les controlleurs TM : T-16000, MFDs, Warthog et dans une moindre mesure, le Cougar
Dresseur de cochon (sauvage)
#11
Merci, je vais bidouiller pour voir cette histoire d'affectation d'axe T16000=>X45
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#12
Encore une question : dans le target, j'ai réussi a modifier la sensibilité des axes.
J'aimerais savoir si on peut programmer une fonction sur le joy pour modifier cette courbe en vol. Une courbe très sensible pour les chasseurs et une courbe plus douce pour les bombers par exemple, le tout sélectionnable d'un clic ou bien avec un axe (celui des gaz du T16000 qui ne me sert pas).
Je pose cette question car un pote faisait ça avec son Cougar.
Merci d'avance
J'aimerais savoir si on peut programmer une fonction sur le joy pour modifier cette courbe en vol. Une courbe très sensible pour les chasseurs et une courbe plus douce pour les bombers par exemple, le tout sélectionnable d'un clic ou bien avec un axe (celui des gaz du T16000 qui ne me sert pas).
Je pose cette question car un pote faisait ça avec son Cougar.
Merci d'avance
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#14
Je viens de lire le .pdf "Documentatiion Scriipt Thrustmaster Warthog".
Un script m'interesse, c'est page 26, "trimmer un axe".
Je ne maitrise pas du tout les scripts, donc je suis allé sous "target gui", j'ai ouvert et edité un fichier .fcf, cliqué sur la touche "view script", ça m'ouvre un fichier en .tmc avec le note pad :
*******************************
include "target.tmh"
int main()
{
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
}
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}
*************************************
le script de "trim" que je souhaite rajouter est :
MapKey(&Joystick, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); MapKey(&Joystick, H1D, EXEC("TrimDXAxis(DX_Y_AXIS, 10);")); MapKey(&Joystick, H1L, EXEC("TrimDXAxis(DX_X_AXIS, -10);")); MapKey(&Joystick, H1R, EXEC("TrimDXAxis(DX_X_AXIS, 10);"));
je rajoute ce script a mon fichier en copié collé ce qui donne :
*****************************************************
include "target.tmh"
int main()
{
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
MapKey(&Joystick, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); MapKey(&Joystick, H1D, EXEC("TrimDXAxis(DX_Y_AXIS, 10);")); MapKey(&Joystick, H1L, EXEC("TrimDXAxis(DX_X_AXIS, -10);")); MapKey(&Joystick, H1R, EXEC("TrimDXAxis(DX_X_AXIS, 10);"));
}
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}
************************************
je clic sur enregistrer dans le note pad, je ferme.
si je reclic sur "view script" pour vérifier et valider ma modif, le note pad s'ouvre mais la modif n'a pas été prise en compte, pas enregistré donc aucune chance que mon script ne fonctionne...
Savez vous d'où peut provenir le problème ?
Un script m'interesse, c'est page 26, "trimmer un axe".
Je ne maitrise pas du tout les scripts, donc je suis allé sous "target gui", j'ai ouvert et edité un fichier .fcf, cliqué sur la touche "view script", ça m'ouvre un fichier en .tmc avec le note pad :
*******************************
include "target.tmh"
int main()
{
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
}
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}
*************************************
le script de "trim" que je souhaite rajouter est :
MapKey(&Joystick, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); MapKey(&Joystick, H1D, EXEC("TrimDXAxis(DX_Y_AXIS, 10);")); MapKey(&Joystick, H1L, EXEC("TrimDXAxis(DX_X_AXIS, -10);")); MapKey(&Joystick, H1R, EXEC("TrimDXAxis(DX_X_AXIS, 10);"));
je rajoute ce script a mon fichier en copié collé ce qui donne :
*****************************************************
include "target.tmh"
int main()
{
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
MapKey(&Joystick, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); MapKey(&Joystick, H1D, EXEC("TrimDXAxis(DX_Y_AXIS, 10);")); MapKey(&Joystick, H1L, EXEC("TrimDXAxis(DX_X_AXIS, -10);")); MapKey(&Joystick, H1R, EXEC("TrimDXAxis(DX_X_AXIS, 10);"));
}
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}
************************************
je clic sur enregistrer dans le note pad, je ferme.
si je reclic sur "view script" pour vérifier et valider ma modif, le note pad s'ouvre mais la modif n'a pas été prise en compte, pas enregistré donc aucune chance que mon script ne fonctionne...
Savez vous d'où peut provenir le problème ?
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#15
quand tu as cliqué sur viewsript depuis la GUI, il s'ouvre un fichier .tmc
Il suffis de sauvegarder ce fichier ou tu veux puis de le lancer depuis TARGET script editor ou depuis la GUI.
fichier fcf : pour jouer avec dans la GUI
fichier tmc : contient que du script, n'est pas éditable dans la GUI
Ton bout de script ne foncitonnera pas car il y a une petite erreur : le flag &Joystick correspond à "l'adresse" du joystick du Warthog, or tu as un T-16000m.
donc MapKey(&T16000, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); donnera de meilleur resultats.
On retrouve bien la structure Fonction(&nom du contrôleur, nom du bouton du contrôleur, paramètres à exécuter);
Il suffis de sauvegarder ce fichier ou tu veux puis de le lancer depuis TARGET script editor ou depuis la GUI.
fichier fcf : pour jouer avec dans la GUI
fichier tmc : contient que du script, n'est pas éditable dans la GUI
Ton bout de script ne foncitonnera pas car il y a une petite erreur : le flag &Joystick correspond à "l'adresse" du joystick du Warthog, or tu as un T-16000m.
donc MapKey(&T16000, H1U, EXEC("TrimDXAxis(DX_Y_AXIS, -10);")); donnera de meilleur resultats.
On retrouve bien la structure Fonction(&nom du contrôleur, nom du bouton du contrôleur, paramètres à exécuter);
Dresseur de cochon (sauvage)
#16
Alors là, bravo !!!
Merci pour la correction du script, merci pour les explications : ça marche nickel !
Merci pour la correction du script, merci pour les explications : ça marche nickel !
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#17
Bon, je vais encore t’embêter une nouvelle fois si tu le veux bien :
dans le .tmc, il y a cette ligne qui définit les propriété d'un axe, en particulier les valeurs de la courbe
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
J'aimerais pouvoir modifier cette 4éme valeur (et pourquoi pas les autres) a l'aide d'un bouton du T16000, pour pouvoir ainsi au gré des appuis, avoir un joy + ou - sensible, toujours avec le bouton H1U et H1D par exemple.
exemple : un clic vers le haut je passe de (&T16000, JOYX, 0, 0, 0, 2, 0); à (&T16000, JOYX, 0, 0, 0, 3, 0);
un clic vers le bas je passe de (&T16000, JOYX, 0, 0, 0, 2, 0); à (&T16000, JOYX, 0, 0, 0, 1, 0);
Une idée ?
Merci d'avance
dans le .tmc, il y a cette ligne qui définit les propriété d'un axe, en particulier les valeurs de la courbe
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
J'aimerais pouvoir modifier cette 4éme valeur (et pourquoi pas les autres) a l'aide d'un bouton du T16000, pour pouvoir ainsi au gré des appuis, avoir un joy + ou - sensible, toujours avec le bouton H1U et H1D par exemple.
exemple : un clic vers le haut je passe de (&T16000, JOYX, 0, 0, 0, 2, 0); à (&T16000, JOYX, 0, 0, 0, 3, 0);
un clic vers le bas je passe de (&T16000, JOYX, 0, 0, 0, 2, 0); à (&T16000, JOYX, 0, 0, 0, 1, 0);
Une idée ?
Merci d'avance
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#18
pas de probleme, rajoute ca dans ton fichier, mais attention, ca va être en conflit avec ton trim car sur les même boutons.
MapKey(&T16000, H1U, EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);"));
MapKey(&T16000, H1D, EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 3, 0);"));
Si tu veux, tu peut mettre cette fonction sur un seul bouton, a chaque appuis, tu change la sensibilité (ici sur le boutons B5, celui en haut a gauche de la base):
MapKey(&T16000, B5, SEQ(EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 3, 0);")));
Nota, j'ai pas testé mais ca doit etre a peut pret correct
MapKey(&T16000, H1U, EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);"));
MapKey(&T16000, H1D, EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 3, 0);"));
Si tu veux, tu peut mettre cette fonction sur un seul bouton, a chaque appuis, tu change la sensibilité (ici sur le boutons B5, celui en haut a gauche de la base):
MapKey(&T16000, B5, SEQ(EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 3, 0);")));
Nota, j'ai pas testé mais ca doit etre a peut pret correct
Dresseur de cochon (sauvage)
#19
Si j'ai bien compris ton script, il a 2 positions H1U et H1D, avec donc 2 valeurs prédéterminées (2 et 3)
En fait, je pensais à un script qui incrémente de +1 ou -1 (selon le bouton appuyé) a chaque fois.
position initiale (&T16000, JOYX, 0, 0, 0, 0, 0)=> 1 impuls => (&T16000, JOYX, 0, 0, 0, 1, 0) => 2 impuls => (&T16000, JOYX, 0, 0, 0, 2, 0) etc etc et dans les 2 sens.
Avec donc autant de valeurs que d'appuis, tout ça avec le même bouton.
Quoi qu'il en soit, ton script précédent fonctionne parfaitement.
Un grand merci à toi. :king::yes:
En fait, je pensais à un script qui incrémente de +1 ou -1 (selon le bouton appuyé) a chaque fois.
position initiale (&T16000, JOYX, 0, 0, 0, 0, 0)=> 1 impuls => (&T16000, JOYX, 0, 0, 0, 1, 0) => 2 impuls => (&T16000, JOYX, 0, 0, 0, 2, 0) etc etc et dans les 2 sens.
Avec donc autant de valeurs que d'appuis, tout ça avec le même bouton.
Quoi qu'il en soit, ton script précédent fonctionne parfaitement.
Un grand merci à toi. :king::yes:
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#20
C'est faisable mais plus compliqué, il faut utiliser une list et un index (exemple type page 51 du manuel). Je te fais ça un peu plus tard... si ca marche
Dresseur de cochon (sauvage)
#21
finalement pas besoin d'index, je me compliquais la vie, voila un exemple, pour l'axe X pour un warthog.
On peu faire ça de plusieurs façon différente, celle ci me parait assez lisible mais son champ d'application est limité, on peut faire plus performant, plus précis dans la customisation des axes mais ca sera un peu plus lourd a écrire.
A noter que la on joue sur le paramètre de courbe, mais on pourrait également jouer sur le paramètre "scale" qui lui reduit les débattements des commandes la ou la courbe ne fait que déformer la reponse autour du neutre.
H1L diminue la sensibilité, H1R l'augmente
Pour cela je créer une boite que je nomme curvevalueX dans la quel je vais stocker une valeur que je vais incrementé ou decrementé a chaque appuis sur le H1 gauche ou droite.
Suite a chaque appuis, je redéfinie la courbe de réponse en tenant compte de la valeur de curvevalueX (je n'ai qu'a renplacer le chiffre par le nom de ma boite...).
include "target.tmh"
//program startup
int curvevalueX; ///custom function for curve management
int main()
{
if(Init(&EventHandle)) return 1; // declare the event handler, return on error
//Axes mapping
MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
//Axes default curves
SetSCurve(&Joystick, JOYY, 0, 0, 0, 0, 0);
SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0);
MapKey(&Joystick, H1L, CHAIN(EXEC("curvevalueX = curvevalueX + 1;"), // add 1 unit to "curvevalueX"
EXEC("SetSCurve(&Joystick, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
MapKey(&Joystick, H1R, CHAIN(EXEC("curvevalueX = curvevalueX - 1;"), // substract 1 unit to "curvevalueX"
EXEC("SetSCurve(&Joystick, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
}
//event handler
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
//add event handling code here
}
On peu faire ça de plusieurs façon différente, celle ci me parait assez lisible mais son champ d'application est limité, on peut faire plus performant, plus précis dans la customisation des axes mais ca sera un peu plus lourd a écrire.
A noter que la on joue sur le paramètre de courbe, mais on pourrait également jouer sur le paramètre "scale" qui lui reduit les débattements des commandes la ou la courbe ne fait que déformer la reponse autour du neutre.
H1L diminue la sensibilité, H1R l'augmente
Pour cela je créer une boite que je nomme curvevalueX dans la quel je vais stocker une valeur que je vais incrementé ou decrementé a chaque appuis sur le H1 gauche ou droite.
Suite a chaque appuis, je redéfinie la courbe de réponse en tenant compte de la valeur de curvevalueX (je n'ai qu'a renplacer le chiffre par le nom de ma boite...).
include "target.tmh"
//program startup
int curvevalueX; ///custom function for curve management
int main()
{
if(Init(&EventHandle)) return 1; // declare the event handler, return on error
//Axes mapping
MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
//Axes default curves
SetSCurve(&Joystick, JOYY, 0, 0, 0, 0, 0);
SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0);
MapKey(&Joystick, H1L, CHAIN(EXEC("curvevalueX = curvevalueX + 1;"), // add 1 unit to "curvevalueX"
EXEC("SetSCurve(&Joystick, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
MapKey(&Joystick, H1R, CHAIN(EXEC("curvevalueX = curvevalueX - 1;"), // substract 1 unit to "curvevalueX"
EXEC("SetSCurve(&Joystick, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
}
//event handler
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
//add event handling code here
}
Dresseur de cochon (sauvage)
#22
Pfiouuuuuuuuuuuuuuuu !!!
Pinaise, t'es un vrai magicien des scripts !!!
Je teste cela d'taleur mais je te remercie tout de suite. :notworthy:yes:
Pinaise, t'es un vrai magicien des scripts !!!
Je teste cela d'taleur mais je te remercie tout de suite. :notworthy:yes:
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#23
ah là j'ai un soucis : les axes ne sont pas reconnus, y a rien qui bouge dans le jeu en actionnant le joy, et quand je lance target ça me dit :
*** Allocated ProcInstances found from the previous run: use FreeProcInstance() ***
Mapped plugin module "C:\Program Files (x86)\Thrustmaster\TARGET\Plugins\sys.dll"
Physical USB HID devices managed by script!
Currently plugged USB HID devices[1]:
1: "T.16000M" - "USB\VID_044F&PID_B10A&REV_0500"
USB HID device with hardware id "VID_044F&PID_0404" cannot be found
USB HID device with hardware id "VID_044F&PID_0402" cannot be found
USB HID device with hardware id "VID_044F&PID_b351" cannot be found
USB HID device with hardware id "VID_044F&PID_b352" cannot be found
USB HID device with hardware id "VID_044F&PID_0400" cannot be found
USB HID device "T.16000M"(USB\VID_044F&PID_B10A\6&DF2EE03&0&3) selected
Virtual HID devices managed by script!
Connecting virtual joystick...Done
Device name set to Thrustmaster Combined
Connecting virtual keyboard...Done
Connecting virtual mouse...Done
main returned 0
*** Allocated ProcInstances found from the previous run: use FreeProcInstance() ***
Mapped plugin module "C:\Program Files (x86)\Thrustmaster\TARGET\Plugins\sys.dll"
Physical USB HID devices managed by script!
Currently plugged USB HID devices[1]:
1: "T.16000M" - "USB\VID_044F&PID_B10A&REV_0500"
USB HID device with hardware id "VID_044F&PID_0404" cannot be found
USB HID device with hardware id "VID_044F&PID_0402" cannot be found
USB HID device with hardware id "VID_044F&PID_b351" cannot be found
USB HID device with hardware id "VID_044F&PID_b352" cannot be found
USB HID device with hardware id "VID_044F&PID_0400" cannot be found
USB HID device "T.16000M"(USB\VID_044F&PID_B10A\6&DF2EE03&0&3) selected
Virtual HID devices managed by script!
Connecting virtual joystick...Done
Device name set to Thrustmaster Combined
Connecting virtual keyboard...Done
Connecting virtual mouse...Done
main returned 0
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#24
faut surement rajouter les lignes :
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
mais je ne vois pas trop si c'est ça et comment les inclure dans le script que tu m'as donné ?
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&Throttle, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_FR);
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYX, 0, 0, 0, 2, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, JOYY, 0, 0, 0, 2, 0);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, RUDDER, 0, 0, 0, 0, 0);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
mais je ne vois pas trop si c'est ça et comment les inclure dans le script que tu m'as donné ?
[SIGPIC][/SIGPIC]
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
Ce profil provient du site N-N virtuel
"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche."
JC Van Damme
#25
oui, il faut que tes axes soient mappés :
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
donc en les incluants dans le fichier en utilisant le script editor ou le notepad :
include "target.tmh"
//program startup
int curvevalueX; ///custom function for curve management
int main()
{
if(Init(&EventHandle)) return 1; // declare the event handler, return on error
//Axes mapping
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
//Axes default curves
SetSCurve(&T16000, JOYY, 0, 0, 0, 0, 0);
SetSCurve(&T16000, JOYX, 0, 0, 0, 0, 0);
MapKey(&T16000, H1L, CHAIN(EXEC("curvevalueX = curvevalueX + 1;"), // add 1 unit to "curvevalueX"
EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
MapKey(&T16000, H1R, CHAIN(EXEC("curvevalueX = curvevalueX - 1;"), // substract 1 unit to "curvevalueX"
EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
}
//event handler
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
//add event handling code here
}
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
donc en les incluants dans le fichier en utilisant le script editor ou le notepad :
include "target.tmh"
//program startup
int curvevalueX; ///custom function for curve management
int main()
{
if(Init(&EventHandle)) return 1; // declare the event handler, return on error
//Axes mapping
MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
//Axes default curves
SetSCurve(&T16000, JOYY, 0, 0, 0, 0, 0);
SetSCurve(&T16000, JOYX, 0, 0, 0, 0, 0);
MapKey(&T16000, H1L, CHAIN(EXEC("curvevalueX = curvevalueX + 1;"), // add 1 unit to "curvevalueX"
EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
MapKey(&T16000, H1R, CHAIN(EXEC("curvevalueX = curvevalueX - 1;"), // substract 1 unit to "curvevalueX"
EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, 0);"))); // apply new curvevalueX value
}
//event handler
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
//add event handling code here
}
Dresseur de cochon (sauvage)