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 20/11/2018 16:08:18

denis_06
Membre
Lieu : Nice
Inscription : 3/12/2017
Messages : 31

Fichier joystick.

bonjour,


Je change d'avions, et j'aimerai avoir un fichier joystick adapté à mes avions.  FG lit par exemple systématiquement le fichier

.fgfs/Input/Joysticks/Thrustmaster-T16000M.xml   

J'aimerai indiquer au lancement dans les commandes le chemin et le nom du fichier joystick propre à chaque avion.

Y'aurait il un équivalent de l'option   --fg-aircraft =chemin ver avions    pour le joystick.

./run_fgfs.sh  --fg-aircraft=//home/denis/.fgfs/Avion_perso --aircraft=Cap10B --airport=LFMN  --timeofday=noon --disable-auto-coordination --disable-terrasync


Sinon méthode classique :
1) copier le     

cp   joytisck_Cap10B.xml   Thrustmaster-T16000M.xml

puis
2)

 ./run_fgfs.sh  [b]--fg-aircraft=//home/denis/.fgfs/Avion_perso[/b] --aircraft=Cap10B --airport=LFMN  --timeofday=noon --disable-auto-coordination --disable-terrasync

Ou plus fréquent :
Etape 2, puis on se rend compte que le joystick ne correspond pas,  donc Etape 1   puis re Etape 2 !

Merci d'avance pour vos traditionnels conseils avisés.

Denis.

Dernière modification par denis_06 (20/11/2018 16:08:51)


Denis PC portable.   Systeme Linux Mint 19     64 bits
carte graphique de base : Intel Corporation 4th Gen Core Processor Integrated Graphics Controller
Flight gear 2018.3.0
Intel(R) Celeron(R) CPU 2970M @ 2.20GHz     RAM : 4GiB

Hors ligne

#2 20/11/2018 17:29:06

ctesc356
Membre
Inscription : 18/05/2010
Messages : 2 565

Re : Fichier joystick.

Bonjour,
je pense qu'il faut voir du côté de "fgdata/joysticks.xml"

Pour remplacer ou ajouter des pilotes de manette de jeu "nommés", répertoriez-les dans
<js-named> entrées avec des chemins relatifs au répertoire où
le fichier joysticks.xml réside (premier exemple). Tel "nommé"
les pilotes ne sont récupérés que si l’un des matchs de leur <nom>
le joystick (voir la sortie de l’application js_demo).
Ces pilotes ont la priorité sur les pilotes existants
avec le même <nom>. (Vous pouvez également ajouter un <name> default </ name>
entrée dans le pilote pour en faire le choix par défaut.)

Le deuxième exemple montre comment charger un pilote directement sur
position 0. Ceci sera alors utilisé pour le premier joystick sur
votre système et FlightGear ne l’écrasera pas.

Si je comprends bien avec "<js n="0" include= chemin vers ton fichier "/>" il sera prioritaire.


Intel i5 3570 3.4Mhz, Nvidia GTX 660, 8Go Ram, Linux Mint

Hors ligne

#3 21/11/2018 12:35:09

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 2 854

Re : Fichier joystick.

Bonjour Denis, bonjour ctesc356.

J'ai rencontré quelque part que les axes (et les boutons ?) pouvaient être affectés conditionnellement.  (sans l'avoir mis en œuvre personnellement, donc non essayé)
Cette forme

<axis n="1">
    <desc type="string">Elevator</desc>

    <binding> <!--EC135-->      
      <condition>	
            <equals>
                <property>/sim/aircraft</property>
                <value type="string">ec135p2</value>
            </equals>	    
       </condition>       
      <command type="string">property-scale</command>
      <property type="string">/controls/flight/elevator</property>
      <dead-band type="double">0</dead-band>
      <factor type="double">-0.4</factor>
      <offset type="double">0</offset>
    </binding>    
    
    <binding> <!--autres-->      
      <condition>	
              <not-equals>
                  <property>/sim/aircraft</property>
                  <value type="string">ec135p2</value>
              </not-equals>	     
      </condition>      
      <command type="string">property-scale</command>
      <property type="string">/controls/flight/elevator</property>
      <dead-band type="double">0</dead-band>
      <factor type="double">-1</factor>
      <offset type="double">0</offset>
    </binding>   
</axis>

Si ce que j'écris fonctionne, cela reviendrait à un seul fichier JS.xml mais avec des conditions pour chaque avion, plus une pour <autres> sous les <binding>. Un peu lourd mais peut-être à voir... Par contre, une fois codé, c'est automatique.


FG 2018.4.0, Linux Mint 18 (64b), Quad Q6600 (2.4 GHz), RAM 4Go DDR2, GEFORCE GTX 650 1GB, OSG 3.2.0
Boeing 787-8 (YASim, avec nickyivyca, aco)
DR400 JSBSim (PAF)
DC3 JSBSim (PAF)

Hors ligne

#4 21/11/2018 12:51:53

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 2 854

Re : Fichier joystick.

Pour les  "<js n="0" include= chemin vers ton fichier "/>",

Mes souvenirs (pas utilisé depuis longtemps...):

Les JS actuels semblent presque tous envoyer un nom spécifique (autre que quelque chose ou rien qui donne un générique). C'est ce nom qui sert à sélectionner le fichier JS.xml qui sera actif. Si un fichier JS.xml contient ce nom

  <name type="string">Thrustmaster T.16000M</name>

il sera chargé. Peu importe son nom de fichier.

La sélection en l'absence d'autres informations est (évidemment) un fichier de fgdata.

Si tu mets un fichier (personnalisé) dans /home/<user-name>/.fgfs/Input/Joysticks, c'est celui-ci qui sera chargé, s'il contient bien le nom envoyé par ton JS.

<js n="0" include="chemin vers ton fichier.xml"/> était surtout utilisé pour forcer l'adresse quand les JS envoyaient trop souvent un nom générique (qui pouvait aboutir au même pour deux JS). On peut toujours l’utiliser pour forcer, mais je ne vois pas encore si ça peut t'aider de manière commode.

[EDIT]
Je vois ce que ctesc356 veut dire.
Dans le fichier flightgear/fgdata/joysticks.xml, ajouter des lignes pour chaque avion1, avion2,...

    <js n="0" include="chemin/vers/joystick_avion1.xml"/>
    <!-- <js n="0" include="chemin/vers/joystick_avion2.xml"/> -->
    <!-- <js n="0" include="chemin/vers/joystick_avion3.xml"/> -->

On a ainsi un fichier de config par avion (fichier plus simple, mais largement dupliqué).
Les tags commentaires servent à désélectionner les fichiers non souhaités.
Mais ça t'oblige à modifier ce fichier joysticks.xml avant de lancer chaque avion.

Attention : tu modifies un fichier créé et entretenu par la compilation. Fais bien une sauvegarde par précaution, je ne sais pas comment git réagira.
[/EDIT]

Dernière modification par dany93 (21/11/2018 23:42:37)


FG 2018.4.0, Linux Mint 18 (64b), Quad Q6600 (2.4 GHz), RAM 4Go DDR2, GEFORCE GTX 650 1GB, OSG 3.2.0
Boeing 787-8 (YASim, avec nickyivyca, aco)
DR400 JSBSim (PAF)
DC3 JSBSim (PAF)

Hors ligne

#5 21/11/2018 13:23:18

Clm76
Membre
Lieu : LFOH
Inscription : 22/10/2012
Messages : 932

Re : Fichier joystick.

dany93 a écrit :

Si ce que j'écris fonctionne, cela reviendrait à un seul fichier JS.xml mais avec des conditions pour chaque avion, plus une pour <autres> sous les <binding>. Un peu lourd mais peut-être à voir... Par contre, une fois codé, c'est automatique.

Je confirme que ça fonctionne, j'utilise ce code pour les vols avec divers hélicos dont l'EC135.


Fg 2018.3.0 - LinuxMint 18.3 Sylvia - CM Asus P8H67 MLE - CPU i3 2100T - 12 Go Ram - Nvidia Geforce GTX 770 - Driver Nvidia 384.130

Hors ligne

#6 21/11/2018 20:12:10

jano
Moderateur
Inscription : 13/11/2007
Messages : 864

Re : Fichier joystick.

pareil, j'utiilisais ça pour une manette des gaz avec un cran de PC, qu'il fallait adapter a chaque avion ...

regarde si il est possible de charger un fichier de config conditionnellement sur le nom de l'avion (avec un include ?) comme ça ça simplifie le fichier de joystick, plutot que de tout avoir dans un seul fichier.

jano

Hors ligne

Pied de page des forums