UN SIMULATEUR DE B200

UN SIMULATEUR DE B200

Programmation de l'interrupteur INVERTER

                         

 

 

 

J’ai tellement galéré à comprendre le synoptique de fonctionnement de Autohotkey que je vous livre ce que j’en ai compris sous forme d’un guide pas à pas.

Le but de cet article est de vous emmener vers la programmation complète à titre d’exemple de l’interrupteur de l'inverter du B200.

En effet pour cet interrupteur il n’y a pas de commande directe dans FS et le seul moyen c’est d’amener la jauge correspondante à l’écran et de pouvoir cliquer dessus pour déclencher l’inverter.

Comment fonctionne ce système ?

- On programme la jauge dans une fenêtre, cachée derrière le tableau de bord dans une partie non visible.

- Dans le programme SIOC.ssi on déclare une variable keys et on code l’interrupteur pour qu’il affecte une valeur à cette variable keys.

- Dans SIOC.ini on affecte à cette valeur keys une affectation de touche.

- Dans le programme autohotkey (.ahk) on substitue ce code par un clic de souris à la position désirée.

 

En pratique maintenant c’est un peu moins simple voyons cela en détail et pas à pas.

 

Programmation de la jauge à l’écran.

 

Cette partie va vous permettre de comprendre également comment agencer votre tableau de bord sans faire appel à un logiciel tiers.

Toute cette programmation manuelle de la position des jauges est dans le fichier panel.cfg de votre avion, je ne parlerai ici que du B200 Aeroworx.

Ce fichier est sous c:\program files\ Microsoft Games Flight Simulator 9 \Aircraft \Aerosoft Super King Air B200\panel.cfg

Avant de toucher à ce fichier faites en impérativement une sauvegarde.

 

Pour programmer cette jauge, trouvez la fenêtre dans laquelle il faut la placer, cette fenêtre est indiquée sous la forme [Windows 5] par exemple, c’est en fait une section du panel.cfg

Une fois la section trouvée il faut y mettre une ligne qui référencera le numéro de la jauge, le nom du fichier de la jauge,sa taille et sa position à l’écran.

 

Exemple de ligne pour le gps

 

Gauge00=fs9gps!gps_500,200,280,195,250

 

Gauge00       référence de la jauge pour la fenêtre de la section

Fs9gps !gps_500      nom du fichier qui est dans le répertoire gauge de fs

200        point de départ de l’écran en largeur, à partir de la gauche

280        point de départ de l’écran en hauteur à partir du haut

195        largeur de la jauge à partir du point de départ en largeur

250        hauteur de la jauge à partir du point de départ en hauteur

 

Cette ligne rajoutée dans la section va donc faire apparaître le gps500 quasiment au milieu de l’écran.

 

Voici la ligne pour l'inverter

 

gauge37=awb2006!sp1_inverter_sw,  170,380,30,50,picifr


 

 

Le code SIOC

 

Dans le programme qui pilote notre avion on déclare la variable keys qui est liée à l’émulation de clavier SIOC.

 

Var 0025, name KEYS, Link KEYS

 

 

Ensuite on programme l'inter pour qu'il affecte une valeur à KEYS

 

Var 0402, name INVERTER_SW, Link IOCARD_SW, Input 2     // Commande Inverter

{

 IF &BATTERY = 1     // Si général on

 {

  IF &INVERTER_SW = 1

  {

    &KEYS = 1         // génère un shift + s pour Inverter ON

    &KEYS = 0         // ré-initialisation

  }

  ELSE

  {

    &KEYS = 1         // génère un shift + s pour Inverter OFF

    &KEYS = 0   

  }

 }

}

 

 

Modification de SIOC.ini

 

Je l’ai dit plus haut, pour pouvoir déclencher une combinaison de touches en fonction de la valeur de la variable KEYS, il faut modifier la section keys du sioc.ini

Encore une fois faites une sauvegarde de sioc.ini avant d’intervenir.

Les numéros sont prédéclarés, dans notre exemple la variable keys va prendre la valeur 1 lorsque qu’on manipule l’inter.

On va déclencher alors une combinaison shift + s pour cette valeur.

 


[ Asignación de teclas ]
[ assign youe keys ]

#1=1S2 

 

 

Une fois que tout cela est fait il ne se passe encore rien de visible il faut maintenant attaquer la partie programmation autohotkey pour que cette combinaison de touches soit récupérée et traité par autohotkey afin d’être transformée en un clic de souris au bon endroit.

Si vous me suivez encore on passe à la suite, ou bien on va boire un petit coup en attendant.

 

Programmation AutoHotkey

 Je vous donne ci dessous mon programme .ahk pour la sustitution de la combinaison shift +s pour le clic de la souris

 

WinWait, Radio Stack,
IfWinNotActive, Radio Stack, , WinActivate, Radio Stack,
WinWaitActive, Radio Stack,
+s::MouseClick, left,  2274,  869

 

Une fois que tout cela est saisi par un bloc note, on le sauvegarde en .ahk, vous lancez le programme par un double click, puis vous lancez le simu et cela doit fonctionner.

 

Mise à jour pour Windows 7

 

 

Sous Windows 7 et vraisemblablement à cause de Direct X le code que j'avais fait ne fonctionne plus, ou tout du moins présente des anomalies.

D'après ce que j'ai compris, pour que ce code fonctionne il faut d'une part que la fenêtre principale de FsX soit active et d'autre part il faut mettre un delay à 0 pour la souris

 

D'où ce code pour la partie interrupteur inverter


SetWindelay,0

SetMouseDelay,0

 

+s::MouseClick, left, 2373,918

sleep, 150

MouseClick, left,1700,500

return

 

 

La ligne MouseClick, left, 1700,500 replace la souris dans la fenêtre principale de FsX et active cette fenêtre sinon la manipulation suivante de l'inter ne se fait pas aux bonnes coordonnées et elle échoue puisqu'elle ne clique plus sur la jauge

 

 

Pour compiler le fichier, il suffit de faire un click droit sur l'icone de ce fichier et de cliquer sur la ligne compiler.

Le fichier compilé prend alors l'extension .exe

 

Modification de FSUIPC.ini

Pour qu'il soit lancé automatiquement au démarrage de Fs on rajoute cette ligne dans Fsuipc.ini dans la section [programs], il faut créer cette section si elle n'éxiste pas

 

runif2=kill,ready,c:\Program Files\autohotkey\b200.exe





25/08/2011
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 72 autres membres