Forum Flightgear France

Une communauté prend son envol

Vous n'êtes pas identifié(e).

Annonce

Futur nouvel inscrit, tu dois au préalable lire l'intégralité des 10 articles des règles, s'il te plaît. Tout nouveau compte qui ne respecte pas les règles sera supprimé par l'administration.

#1 3/07/2014 22:38:19

Darkvad
Membre
Lieu : LFBO
Inscription : 26/06/2014
Messages : 34

Besoin d'aide pour ma programmation du joystick Thrumaster stick X

Je débute en XML et je bidouille donc pour adapter ce joystick à ma sauce afin de me passer un maximun du clavier pour le pilotage du 777-200ER
Je mettrais le fichier final en accés libre sur le forum.
Pour l'instant j'ai affecté les touches via l'aide>prog joystick
Ensuite j'ai affecté les 2 boutons mapping
1 pour l'ouverture de la MAP et l'autre pour l'ouverture du PILOTE AUTO.
Pour fermer ces fenetres,j'ai besoin via un bouton du joystick affecter la touche ESCAPE du clavier.

Je met un bout de code
Merci de le modifier afin d'agir sur la touche escape
ce code ouvre la map via la touche 10

<button n="10">
    <desc type="string">Custom</desc>
    <binding>
      <command type="string">dialog-show</command>
      <dialog-name type="string">map</dialog-name>
    </binding>
  </button>


Flightgear 3.00
PC Toshiba Satellite  (portable 17'')      Processeur : Intel® Core™ i7-3630QM      Windows 8 64 bit
DDR3 RAM (1 600 MHz) 4giga de ram x2           controleur graphique   AMD Radeon™ HD 7670M Graphics (1GB dedicated memory)

Hors ligne

#2 4/07/2014 1:04:27

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Besoin d'aide pour ma programmation du joystick Thrumaster stick X

Je suppose que tu avais vu ce message

Ensuite, je te préviens, j'improvise..
Je te donne ma méthodologie, c'est toujours plus instructif que des recettes.

D'après "Internal Properties", /device/status/keyboard/event, la touche "Escape" envoie le code 27.

D'autre part, extrait du fichier Flightgear/data/keyboard.xml, lignes 294 à 320 :

  <key n="27">
    <name>ESC</name>
    <desc>Prompt and quit FlightGear</desc>
    <binding>
      <condition>
       <not>
        <property>/sim/freeze/replay-state</property>
       </not>
      </condition>
      <command>dialog-show</command>
      <dialog-name>exit</dialog-name>
    </binding>
  <binding>
    <condition>
      <property>/sim/freeze/replay-state</property>
    </condition>
    <command>property-assign</command>
    <property>/sim/replay/disable</property>
    <value type="bool">true</value>
  </binding>
  <mod-shift>
   <desc>Reset FlightGear</desc>
   <binding>
    <command>reset</command>
   </binding>
  </mod-shift>
 </key>

D'après ce que je vois et si j'interprète bien :
- le 1er bloc (<binding> ... au prochain </binding>) ferme une fenêtre, c'est ce que tu veux,
- le 2ème sort du Replay,
- le 3ème ( = Shift-Escape) fait un reset de FG.

J'essaierais donc les lignes ci-dessous (1er bloc)

  <button n="11">
    <name>ESC</name>
    <desc>Close dialog</desc>
    <binding>
      <condition>
       <not>
        <property>/sim/freeze/replay-state</property>
       </not>
      </condition>
      <command>dialog-show</command>
      <dialog-name>exit</dialog-name>
    </binding>
  </button>

Je n'ai pas testé... hmm

Tu as sans doute vu qu'il y a en général un décalage de 1 entre numéros d'étiquettes boutons JS (1 à N) et numéros dans le fichier xml (0 à N-1).

Dernière modification par dany93 (4/07/2014 11:13:54)


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

#3 4/07/2014 22:46:33

Darkvad
Membre
Lieu : LFBO
Inscription : 26/06/2014
Messages : 34

Re : Besoin d'aide pour ma programmation du joystick Thrumaster stick X

Merci bien pour cette méthode.
Le code donne l'ouverture de la boite exit trop tôt sans fermer les fenetres ouvertes (pilote auto,map...).Normalement en passant par le clavier la boite exit ne s'ouvre que si aucune autre fenetre n'est ouverte (pilote auto,map...)
J'essaie de comprendre les codes mais je suis trop débutant encore.


Flightgear 3.00
PC Toshiba Satellite  (portable 17'')      Processeur : Intel® Core™ i7-3630QM      Windows 8 64 bit
DDR3 RAM (1 600 MHz) 4giga de ram x2           controleur graphique   AMD Radeon™ HD 7670M Graphics (1GB dedicated memory)

Hors ligne

#4 5/07/2014 11:51:37

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Besoin d'aide pour ma programmation du joystick Thrumaster stick X

J'ai essayé, tu as malheureusement raison.

Je ne comprends pas comment FG traite ces instructions, le même code envoyé par le clavier ou le JS ne donne pas le même effet.
Si on s'en tient aux instructions conditionnelles qu'on voit, ça devrait fonctionner.
J'ai essayé en mettant tout le bloc d'instructions correspondant à key=27 (ESC) de keyboard.xml ==> c'est pareil.

Pourtant, du clavier, 5 actions ferment la Map ou toute boîte de dialogue :
- Ctrl-M (code = 13)
- Enter du Numpad  (code = 13)
- Ctrl-J  (code = 10)
- Enter du clavier alphabétique (code 10)
- ESC (code 27).

C'est bourré d'incohérences.
Au clavier, Ctrl-J ouvre la Map, Crl-J la referme (et non Ctrl-M comme marqué partout... hmm ). Enfin, admettons, ça fonctionne si on le sait.
On prend donc les instructions correspondant au code 10 dans keyboard.xml, en espérant qu'il va ouvrir et fermer....
Si on envoie ces instructions via le JS, la Map s'ouvre bien mais elle ne se referme pas au 2 ème appui. sad

Envoi d'un code :
Le code 13 :
- par Enter du Numpad ==> Rudder, right
- par Ctrl-M ==> Rudder, right
Le code 10 :
- par Enter du clavier alphabétique ==> Rudder, right
- par Ctrl-J ==> Open Map / Close Map (toggle)
Même code, deux actions différentes...

Désolé, je constate mais ne trouve pas. sad


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

#5 5/07/2014 21:28:44

Darkvad
Membre
Lieu : LFBO
Inscription : 26/06/2014
Messages : 34

Re : Besoin d'aide pour ma programmation du joystick Thrumaster stick X

L'idéal serait par exemple
1er appui touche 11 >>>ouverture map
2éme appui touche 11>>>fermeture map


Flightgear 3.00
PC Toshiba Satellite  (portable 17'')      Processeur : Intel® Core™ i7-3630QM      Windows 8 64 bit
DDR3 RAM (1 600 MHz) 4giga de ram x2           controleur graphique   AMD Radeon™ HD 7670M Graphics (1GB dedicated memory)

Hors ligne

#6 5/07/2014 23:22:40

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Besoin d'aide pour ma programmation du joystick Thrumaster stick X

Eh oui bien sûr, compte tenu du fonctionnement clavier, c'est ce que j'aurais cru avoir quand j'ai passé le petit bout de code pour Papy, mais ça ne fonctionne pas comme ça.
Et même avec une 2ème touche, on ne trouve même pas pour fermer.
De mon point de vue, presser Echap n'est pas bien contraignant, mais cette bizarrerie me laisse perplexe...
Et je comprends que pour toi, ton esprit étant de tout commander par un boîtier externe, c'est gênant.

Il y a sans doute une possibilité pour quelqu'un qui connaît le code de FG. Ou par du nasal, mais toujours à condition de connaître le code nécessaire. Pas forcément compliqué, mais il faut connaître ou simplement penser à la bonne formulation.
Forum US ou les développeurs ?


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

Pied de page des forums