aide.pour hotas warthog

Bugs, problèmes d'installation, de patch, optimisation
Avatar de l’utilisateur

icemaker
Gardien du temple
Gardien du temple
Messages : 4106
Inscription : 04 août 2001

#26

Message par icemaker »

Dusty a écrit :Merci ivan. Cependant si j'ai bien compris le mode FILTERED tel qu'Icemaker l'a expliqué, cela permettrait de passer outre toute cette réaffectation.

Ice, tu aurais des précisions?
J'ai pas plus d'infos que ce que dime a donné :sad:
Image
Image
Image
Avatar de l’utilisateur

Marc"Phoenix"
Messages : 6149
Inscription : 31 mai 2005

#27

Message par Marc"Phoenix" »

lefuneste a écrit :J'ai deja réalisé la démarche : Voir mon profil A10C: http://www.checksix-forums.com/forumdisplay.php?f=283

Si ca peut te faire gagner du temps...
Salut
Il est ou ton profil:detective
Ton lien pointe sur les forum generaux hotas etc.... :sweatdrop

Merci :cowboy:
Avatar de l’utilisateur

lefuneste
Pilote Philanthrope
Pilote Philanthrope
Messages : 2144
Inscription : 26 février 2005

#28

Message par lefuneste »

Avatar de l’utilisateur

Marc"Phoenix"
Messages : 6149
Inscription : 31 mai 2005

#29

Message par Marc"Phoenix" »

Merci
You are a :king: :yes::notworthy
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

pb de script : bouton de la throttle ne fonctionnent pas

#30

Message par jakare »

J'avais laissé tombé la programmation de mes manettes en utilisant la fonction Shift avec le bouton S4, de façon à garder la config d'origine en fonction non shifté
et de nouvelles touches en shiftant.

Je m'y remet, mais j'ai un problème avec la configuration :
Les touches shiftés fonctionnent (H2 et H3 dans mon script)
Les boutons du Joystick sont fonctionnels mais pas ceux de la Trhottle.
voici mon script :
include "target.tmh"
int main()
{
Exclude(&HCougar);
Exclude(&Joystick);
Exclude(&Throttle);
Exclude(&LMFD);
Exclude(&RMFD);


Configure(&Joystick, MODE_FILTERED);
Configure(&Throttle, MODE_FILTERED);
Configure(&LMFD, MODE_FILTERED);
Configure(&RMFD, MODE_FILTERED);


if(Init(&EventHandle)) return 1;

SetShiftButton(&Joystick, S4);


SetKBRate(32, 50);
SetKBLayout(KB_FR);
//SnapViews
MapKeyIO(&Joystick, H2U, PULSE+R_CTL+KP0);
MapKeyIO(&Joystick, H2D, PULSE+KP2);
MapKeyIO(&Joystick, H2L, PULSE+KP4);
MapKeyIO(&Joystick, H2R, PULSE+KP6);
// TrackIr
MapKeyIO(&Joystick, H3U, PULSE+L_CTL+APPS, 0);
MapKeyIOUMD(&Joystick, H3D, PULSE+R_CTL+APPS, 0);
//Axis
MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0);
MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Joystick, JOYY, 0, 0, 0, 0, 0);
MapAxis(&Throttle, SCX, DX_XROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, SCX, 0, 0, 0, 0, 0);
MapAxis(&Throttle, SCY, DX_YROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, SCY, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_RIGHT, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_LEFT, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_FC, 0, 0, 0, 0, 0);

}

int EventHandle(int type, alias o, int x)
{
if(&o == &Joystick & !o[S4]) GameOutput(&o, x, o[x]);
DefaultMapping(&o, x);
}
Si une bonne âme pouvait m'aider ......
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#31

Message par ivanwfr »

Voilà ce qu'on a quand on utilise TARGET sans spécifier son mapping:

Code : Tout sélectionner

// Default button mapping: Joystick: TG1 , DX1 S2 , DX2 S3 , DX3 S4 , DX4 S1 , DX5 TG2 , DX6 H2U , DX7 H2R , DX8 H2D , DX9 H2L , DX10 H3U , DX11 H3R , DX12 H3D , DX13 H3L , DX14 H4U , DX15 H4R , DX16 H4D , DX17 H4L , DX18 H4P , DX19 H1U , DXHATUP H1R , DXHATRIGHT H1D , DXHATDOWN H1L , DXHATLEFT Throttle: LTB , DX20 SC , DX21 CSU , DX22 CSR , DX23 CSD , DX24 CSL , DX25 MSP , DX26 MSU , DX27 MSR , DX28 MSD , DX29 MSL , DX30 SPDF , DX31 SPDB , DX32
Avatar de l’utilisateur

hellfrog
Messages : 5117
Inscription : 22 août 2008

#32

Message par hellfrog »

normal

dans
MapKeyIOUMD(&Joystick, H3D, PULSE+R_CTL+APPS, 0);

tu as 5 positions à programmer : I , O , U, M, D, or là tu n'en définis que 2
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#33

Message par ivanwfr »

C'est encore plus grave que ça docteur!

Le mapping que j'ai extrait plus haut s'applique dans DefaultMapping() sans avoir fait de MapKey() perso.

Il me semble que la ligne suivante ne sert tout simplement à rien:
if(&o == &Joystick & !o[S4]) GameOutput(&o, x, o[x]);
... ça revient à prendre la valeur d'un paramètre du joystick pour la remettre là où elle se trouvait déjà :cool:

Je ne vais pas en remettre une couche mais si on veut avoir un un résultat différent du mapping par défaut, faut pas laisser Init() faire avec son MapList(&Joystick, &JoystickMap); et MapList(&Throttle, &ThrottleMap);... Faut mettre les pieds dans le plat, après l'appel obligagoire à Init() avec quelque chose qui ressemble aux 2 premiers encarts de mon message #23.
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#34

Message par jakare »

J'essaye d'appliquer ceci, pour ne pas avoir tout a reprogrammer :
icemaker a écrit :...
Dans le script &#233]Include "target.tmh"
int main()
{
Exclude(&HCougar);
Exclude(&Joystick);
Exclude(&Throttle);
Exclude(&LMFD);
Exclude(&RMFD);


Configure(&Joystick, MODE_FILTERED);
Configure(&Throttle, MODE_FILTERED);
Configure(&LMFD, MODE_FILTERED);
Configure(&RMFD, MODE_FILTERED);


if(Init(&EventHandle)) return 1;

SetShiftButton(&Joystick, S4);
[/code]
hellfrog a écrit : dans MapKeyIOUMD(&Joystick, H3D, PULSE+R_CTL+APPS, 0)]
J'ai suivi les conseils de dimebug, il semblerait que ce ne soit pas la peine de mettre U,M,D si non utilisés :
dimebug a écrit :Il faut utiliser les MapkeyIO mais en entrant que la premiere commande (la ou il devrait y en avoir 2, ou mettre 0 pour la seconde commande) :
MapKeyIO(&Joystick, H3U, USB[0x55])]); //zoom
En fait les boutons programmés de cette façon fonctionnent parfaitement en fonction shifté.
Les Boutons du joystick ont bien gardés leurs fonction d'origine en fonction non shifté.
Seuls les boutons de la throttle n'a pas gardé ses fonctions d'origine.
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#35

Message par jakare »

ivanwfr a écrit :C'est encore plus grave que ça docteur!

Le mapping que j'ai extrait plus haut s'applique dans DefaultMapping() sans avoir fait de MapKey() perso.

Il me semble que la ligne suivante ne sert tout simplement à rien:
if(&o == &Joystick & !o[S4]) GameOutput(&o, x, o[x]);
... ça revient à prendre la valeur d'un paramètre du joystick pour la remettre là où elle se trouvait déjà :cool:
C'est une ligne donnée par Icemaker :
icemaker a écrit :...
C'est le code que les dev de TARGET m'ont fait passer lors des test de cette fonction...
ivanwfr a écrit :...
Je ne vais pas en remettre une couche mais si on veut avoir un un résultat différent du mapping par défaut, faut pas laisser Init() faire avec son MapList(&Joystick, &JoystickMap); et MapList(&Throttle, &ThrottleMap);... Faut mettre les pieds dans le plat, après l'appel obligagoire à Init() avec quelque chose qui ressemble aux 2 premiers encarts de mon message #23.
Justement je voudrais garder le mapping par défaut, et seulement rajouter quelques fonctions en fonction shiftée.
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#36

Message par ivanwfr »

Ok, je passe la balle. Si les règles du jeu vallent mieux qu

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#37

Message par ivanwfr »

Ok, alors je vais passer le balon.

Si les règles du jeu vallent mieux qu'un code qui marche, j'attendrai d'avoir quelque chose à tester pour comprendre. Je me contente de ce que je trouve dans les fichiers fournis par Thrustmaster et je ne parle que de ce que j'arrive à exploiter.

En prenant bien la précaution de dire que j'aime beaucoup TARGET, j'ajoute que si les devs s'étaient donné la peine de fournir ne serait-ce qu'une base de travail équivalent du Plug and Play, je resterai humblement à ma place mais ils ne se sont pas donné cette peine et c'est bien dommage car ce n'est vraiment pas grand chose et on dirait bien que ça manque!

Comme je n'ai pas attendu qu'on me prenne par la main ou qu'on me parachute une ligne de code sans la moindre explication, je garderai GameOutput() pour jouer avec les LED et je vais continuer à ma façon avec MapKey().
Avatar de l’utilisateur

hellfrog
Messages : 5117
Inscription : 22 août 2008

#38

Message par hellfrog »

oui... sauf que le "MODE FILTERED" n'est pas une fonction OFFICIELLEMENT supportée par TM... et il doit bien y avoir une raison... (bugs...?)....
ça peut marcher, mais aussi ne pas...

de plus dans DCS BS ils avaient déjà fait des lua pour le cougar et le X52...et ça n'a jamais marché, ils ont laissé tombé chez DCS...

la méthode exposée par irwan est plus complexe au premier abord, mais il suffit juste d'editer les fichiers ad hoc de mappage, pour y mettre ce que l'on veut, et ce n'est pas plus compliqué que de faire un script.
la seule chose compliquée c'est de comprendre comment marche son script "à tiroirs" avec des fichiers qui s'apellent les uns les autres... ; mais une fois qu'on a pigé, c'est pas si dur...
en outre elle a l'avantage de repartir du code source de Target, sans les fioritures ajoutées par TM pour "simplifier" avec GUI et la syntaxe du manuel...
c'est donc efficace et ça marche.

mais irwanfr c'est son métier... ce qui est simple pour lui peut etre hermétique pour un novice... je ne dis pas le contraire non plus.

après faut choisir : soit mettre les mains dedans et yu passer du temps pour faire des choses qui sont pas documentées
ou faire simple et renoncer à qqs trucs sympas ou complexes que permet de faire les matos mais pas faciles à programmer.
en fonction de son niveau et du temps qu'on veut y consacrer.

on n'aura pas le beurre ET la crêmière...
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#39

Message par ivanwfr »

J'ajouterai que je ne vois aucun inconvénient à commenter tout ce qui aura le mérite de faire l'objet d'une question formulée par quelqu'un qui veut se donner la peine de comprendre ce que j'ai trouvé.

Je ne me suis pas lancé dans des explications préliminaire parce que ça n'aurait fait qu

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#40

Message par ivanwfr »

J'ajouterai que je ne vois aucun inconvénient à commenter tout ce qui aura le mérite de faire l'objet d'une question.

Si je ne me suis pas lancé dans plus d'explications. c'est justement parce que ça n'aurait fait que rallonger inutilement la sauce. Mais si quelqu'un veut bien se donner la peine de comprendre ce que j'ai trouvé, je n'en demande pas plus. C'est juste histoire de ne pas être seul à bricoler dans mon coin.
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#41

Message par jakare »

@ IvanWfr : Ta solution me semble effectivement meilleure. Mais n'ayant, pour l'instant, pas trop de temps pour assimiler le scriptage sous Target, j'ai voulu essayer une méthode qui me paraissait plus accessible pour moi.
hellfrog a écrit :...la seule chose compliquée c'est de comprendre comment marche son script "à tiroirs" avec des fichiers qui s'apellent les uns les autres... ]
Pour l'instant j'ai pas encore pigé :)
Ceci dit, dès que je peux, je me penche plus en détail sur les scripts target et essaierais de mettre un place une solution suivant la méthode décrite par ivanwfr.
ivanwfr a écrit :..... je ne vois aucun inconvénient à commenter tout ce qui aura le mérite de faire l'objet d'une question.
Je ne manquerais surement pas de te questionner !

En tous cas merci a vous deux pour vos réponses.
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#42

Message par jakare »

@ IvanWfr : Ta solution me semble effectivement meilleure. Mais n'ayant, pour l'instant, pas trop de temps pour assimiler le scriptage sous Target, j'ai voulu essayer une méthode qui me paraissait plus accessible pour moi.
hellfrog a écrit :...la seule chose compliquée c'est de comprendre comment marche son script "à tiroirs" avec des fichiers qui s'apellent les uns les autres... ]
Pour l'instant j'ai pas encore pigé :)
Ceci dit, dès que je peux, je me penche plus en détail sur les scripts target et essaierais de mettre un place une solution suivant ta méthode.
ivanwfr a écrit :..... je ne vois aucun inconvénient à commenter tout ce qui aura le mérite de faire l'objet d'une question.
Je ne manquerais surement pas de te questionner !

En tous cas, merci a vous deux pour vos réponses.
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#43

Message par ivanwfr »

A mon avis le point de départ le plus commode consiste à:
1/2 lancer DCSW_PNP_main.tmc avec Script Editor -- sans chercher à comprendre dans un premier temps.
2/2 Importer Combined_ivanwfr.lua qui va avec.

Tout ça pour arriver à boucher le trou que TM a laissé dans les configurations par défaut de DCS:
  • CH PRO PEDALS USB.lua
  • F16 MFD 1.lua
  • F16 MFD 2.lua
  • Joystick - HOTAS Warthog.lua
  • Saitek X52 Pro Flight Control System.lua
  • Saitek X52 Pro Flight Controller.lua
  • Throttle - HOTAS Warthog.lua
  • default.lua
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#44

Message par jakare »

@ivanwfr :
J'ai essayer tes scripts DCS_ivanwfr_11052 sans pousser les tests a fond.
Les boutons du Warthog fonctionnent normalement 4ceux que j'ai testé, les snapviews s'affichent bien en mode shifté.

J'ai commencé à me plonger dans les fichiers, si j'ai compris la fonction de presque tous les fichiers, il reste beaucoup de points d'interrogations.
En premier comment basculer les layers U/M/D.

Autre chose, j'ai testé avec event tester et device analyser, et il me semble que le MSD (Micro Switch Down)n'est pas affecté.


En tout cas bravo ! c'est un super job !
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#45

Message par ivanwfr »

Si tu tombes ne serait-ce que sur un dixième des questions que je me suis posées, ça va faire un sacré thread...

Mais surtout n'hésites pas car je pourrais sans doute te répondre sans problème parce que le but de ma démarche actuelle est justement de chercher des solutions en tout genre pour pousser au max les limites de ce que j'arrive à comprendre à TARGET.

Pour basculer UMD, c'est justement le Micro switch Up et Down ... celui qui marche pas ;) (j'ai légèrement caché le fait que j'avais échangé MS_Push-MS_Down!)

Mais, là aussi, j'ai un argumentaire que j'ai construit après avoir bien pesé les patattes:
  • MSU n'est pas utilisé par défaut... du coup ça fait un bon candidat pour le U-layer dans SetShiftButton()!
    ...
  • MSP n'est pas utilisé non plus par défaut... une raison supplémentaire pour utiliser aussi MS pour le D-layer... tout ça avec le pouce, ce qui n'est pas trop mal pour activer l'un des 2 modifiers exclusif l'un de l'autre que sont ces deux layers.
    ...
  • A l'usage, je me suis rendu compte que MSD pour faire Layer-Down c'est tout de même encore vachement mieux!... alors j'ai pensé que prendre MSP pour activer la radio UHF c'est pas si mal que ça!
    ...
  • Du coup l'utilisation du switch MS donne ça dans util/th_MO.tmc et mon profile Combined avec DX-Input pour le Throttle:
    [VHF2 UHF VHF1] == [MSL MSP MSR] == [Left Push Right]
    ...
    Avec ça dans le main, tu actives IO avec S4 et et UMD avec MSU MSD:
    SetShiftButton(&Joystick, S4, &Throttle, MSU, MSD, 0);
Tu peux voir ce mapping dans mon (gros) Document HTML:
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#46

Message par jakare »

ivanwfr a écrit :.....
Pour basculer UMD, c'est justement le Micro switch Up et Down ... celui qui marche pas ;) (j'ai légèrement caché le fait que j'avais échangé MS_Push-MS_Down!)
En fait j'avais vu hier soir après avoir écrit mon post précédent.
ivanwfr a écrit :....
[*]Du coup l'utilisation du switch MS donne &#231] == [MSL MSP MSR] == [Left Push Right]
...
Ça j'avais pas vu !

Questions :
As tu laissé un bouton libre ou prévu un bouton (en couche MO) pour servir de push-to-talk avec les programmes de communication comme TS3 ?
Quelle fonction est programmée sur le slider du throttle ? ( pas trouvé le mapping dans ton doc HTML)
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#47

Message par ivanwfr »

Concernant le Slider du Throttle (Friction Control), ça se passe dans axis/axis_THR_FC.tmc:

- Pour l'instant j'ai pompé une idée qui consiste à manipuler le train (Landing Gear Up/Down) en jouant avec KeyAxis() et AXMAP2() pour le I-Layer (S4 enfoncé). Ce choix n'a été qu'un prétexte pour la mise en oeuvre de KeyAxis() et il se pourrait bien qu'on puisse lui trouver un meilleur usage.

- Mais j'ai tout de même ajouté une fonction particulière pour la couche MO, toujours dans axis_THR_FC.tmc. Le 2eme KeyAxis() appelle les fonctions slew_key_zoom_set() et slew_mouse_zoom_set() qui ajustent en temps réel la sensibilité du TrackPoint SC. Ça se passe dans le fichier axis/axis_THR_SC_KEYS.tmc pour keyboard turn speed et axis/axis_THR_SC_MOUSE.tmc pour ajuster le zoom pour SCX et SCY à coup de SetSCurve().

Mais on n'est pas obligé de piger tout ce qu'il y a là dedans pour s'en servir, y'a qu'a faire marcher le trackpoint et jouer avec le slider pour voir ce que ça donne. Actuellement, il faut appuyer sur SCP MI-layer, ce qui fait (SCP = Push) avec (S4 enfoncé) pour basculer entre TrackPoint (pointeur de la souris) et Slew Control (TAD et HUD cursor).

Une dernière astuce dans tout ça: Les fonctions set_turn_speed[FAST NORMAL SLOW] sont appelées en cliquant SCP avec Micro-Switch en haut ou en bas (couche UO et DO) pour accélerer ou ralentir la vitesse des curseurs (TrackPoint ou Slew keys en fonction du choix courant). La vitesse NORMAL est restaurée en même temps que le basculement entre TrackPoint et Slew Control (click SCP + S4) (économie d'un bouton).

Si ça paraît bien compliqué, ça l'est tout de même moins que certaines fonctions du cockpit! Il suffit de s'en servir pour se rendre compte qu'on s'y fait très bien ;)

A propos de TeamSpeak:
Je ne me suis pas encore lancé dans une synthèse ergonomique d'ensemble mais dans mon raisonnement actuel, la couche MO (couche par défaut Middle Out), pour le Joystick autant que pour le Throttle devrait rester aussi proche du fonctionnement plug-and-play que possible. L'idée étant de faciliter le basculement [USB HID RÉEL Plug & Play] -- [HID COMBINED VIRTUEL avec TARGET]. J'ai donc réservé mes fantaisies pour les layers optionnels.

Mais on a largement de quoi faire! Je n'ai pas fait le compte de tous les boutons disponibles mais par exemple pour la couche UI, je n'en ai mappé que 2 pour l'instant (Alt-Tab LEFT et Alt-Tab RIGHT).

Mai je vois bien où tu veux an venir pour TeamSpeak. Une activation directe sans modifier est bien commode mais, malgré les apparences, il nous reste plein d'autres couches au delà de IOUMD!

Custom Modes:
Si TARGET propose d'activer une fonction particulière selon qu'on se trouve dans l'un des 6 modes possibles (IOUMD), on peut facilement surenchérir en disant par exemple que si on maintient S3 enfoncé, certaines de nos fonctions en tiendront compte même si on n'en a rien dit à TARGET dans SetShiftButton(&Joystick, S4, &Throttle, MSU, MSD, 0).

Et bah m'en fallait pas plus pour que je saute sur l'occasion et j'ai validé l'idée dans js/js_MO.tmc. Si on clique S3 en moins de 200ms, il fait simplement son boulot qui consiste à envoyer INSERT (Nosewheel Steering).
Par contre, si on le maintient appuyé, INSERT ne sera pas envoyé mais ma fonction slew_mouse_zoom_freeze() est appelée pour calmer le pointeur Slew Control (... axis/axis_THR_SC_MOUSE.tmc). On peut alors cliquer sur SC sans pisser à côté de la cuvette ;).
Et voilà une couche de plus! Ça n'a rien à voir avec IOUMB et on peut en faire autant avec n'importe quel bouton. Il suffit de gérer MapKeyR() pour ces touches de façon a sortir du mode correspondant à ce bouton (slew_mouse_zoom_unfreeze() dans mon cas).

Même si ça apparaît compliqué quand on entre dans le détail, je cherche toujours m'assurer que l'utilisation de ces fonctions puisse devenir reflex. Il faut bien s'attendre à un temps d'assimilation mais si ça ne vient pas assez rapidement, ça veut dire qu'il faut reconsidérer l'ensemble.
Avatar de l’utilisateur

jakare
Apprenti-Mécano
Apprenti-Mécano
Messages : 299
Inscription : 28 août 2004

#48

Message par jakare »

ivanwfr a écrit :je vois bien où tu veux an venir pour TeamSpeak. Une activation directe sans modifier est bien commode
Pour la fonction push-to-talk il est préférable de n'avoir qu'un seul bouton a presser, presser 2 boutons pourrait être gênant car bien souvent on doit communiquer tout en jouant sur les commandes..
ivanwfr a écrit :Même si ça apparaît compliqué quand on entre dans le détail, je cherche toujours m'assurer que l'utilisation de ces fonctions puisse devenir reflex. Il faut bien s'attendre à un temps d'assimilation mais si ça ne vient pas assez rapidement, ça veut dire qu'il faut reconsidérer l'ensemble.
J'ai essayer tes scripts, et je maitrise effectivement déjà bien les fonctions de base, ainsi que les fonctions snapviews et Track-IR. Pour les autres, il me faudra un peu plus de temps.

Je continue a piocher, pour plus tard tuner le script a ma convenance.
Je ne maîtrise pas ce language de programmation, Mais en m'y collant je devrait arriver a faire le peu de modif qui me conviendraient. En fait, il n'y a pas grand chose à changer tellement tu as approfondi la question.
Bon Vols a Tous

Alain "Jakare"
Image

http://guyaneaventure.free.fr

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#49

Message par ivanwfr »

Il me vient une idée pour TeamSpeak ou d'autre fonctions prioritaires. Ça consisterait à libérer la couche MO des boutons qui servent le moins (APU, ligths, ...) en basculant leurs fonctions par défaut sur une autre couche. Elles seraient donc toujours disponibles moyennant l'utilisation d'un modifier tout en libérant son utilisation pour un usage plus fréquent.

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#50

Message par ivanwfr »

Il me vient une idée pour TeamSpeak ou d'autre fonctions prioritaires. Ça consisterait à libérer la couche MO des boutons qui servent le moins (APU, lights, ...) en basculant leurs fonctions par défaut sur une autre couche. Elles seraient donc toujours disponibles moyennant l'utilisation d'un modifier tout en libérant son utilisation pour un usage plus fréquent.
Répondre

Revenir à « Support technique »