Fr:Manuel:Config:Avancé:Liaisons:Joystick

From VsWiki
Jump to: navigation, search

Ce site dans d'autres langues:   DeutschEnglishFrançaisEspañolPolskiItalianoNederlandsРуccкий简体中文


arrow_left.png Contrôles souris arrow_up.png Configuration avancée : contrôles et raccourcis Configuration avancée : couleurs arrow_right.png

Configuration du Joystick

Cette page fournit des exemples testés de différentes configurations de joysticks, montrant comment chaque bouton a été lié à une fonction unique de Vega Strike.

Si une configuration de joystick correspond à vôtre joystick, vous pouvez copier la configuration ci-présente dans le fichier de configuration de votre Vega Strike.

JOYSTICK: liaisons

Échantillon

<bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />

Description

  • joystick - Numéro du joystick.
  • player - Les commandes sont spécifiées pour chaque joueur? (c'est utile lorsque vous avez plusieurs joysticks que vous voulez configurer pour le même utilisateur)
  • button - Numéro du bouton sur le joystick.
  • modifier - FIXME ? aucune idée ?
  • command - Spécifie la commande à lancer quand le bouton est pressé. Voir Keyboard layout pour des descriptions et une liste de commandes.

JOYSTICK: axes

Échantillon

<axis name="x" joystick="0" axis="0" inverse="false" />

Description

  • name - Nom de l'axe (dans le jeu) à lier (x,y,z,throttle)
  • joystick - Numéro du joystick.
  • axis - Numéro de l'axe sur le joystick.
  • inverse - Régler ceci sur true si vous voulez inverser la direction des axes, sinon régler le sur false.

Coolie Hat/ou Hatswitch analogiques

forum link 1 Les boutons de type coolie hat (en forme de chapeau chinois, habituellement sur le sommet du joystick, que l'on peut pousser sur 4 ou 8 directions) sont maintenant souvent présents sur les joysticks.

Échantillon

<axis name="hatswitch" nr="0" margin="0.15" joystick="1" axis="2">
  <hatswitch value="-1.0"/>
  <hatswitch value="-0.6"/>
  <hatswitch value="-0.19"/>
  <hatswitch value="0.1"/>
</axis>

<bind hatswitch="0" button="0" modifier="none" command="ABKey" />
<bind hatswitch="0" button="1" modifier="none" command="AccelKey" />
<bind hatswitch="0" button="2" modifier="none" command="DecelKey" />
<bind hatswitch="0" button="3" modifier="none" command="StopKey" />

Une fois définis, les hatswitch analogiques ont leur propre numéro, et leurs "boutons" (positions) sont définis indépendamment des joysticks. Lorsque vous créez vos <bind> balises, assurez-vous de ne pas spécifier un numéro de joystick (i.e. joystick="0"); cela lierait des boutons du joystick plutôt que des positions du hatswitch.

Coolie Hat/ou Hatswitch digitaux

forum link

Échantillon

<bind joystick="0" digital-hatswitch="0" direction="up" command="ABKey"/>

Description

  • joystick - Numéro du joystick.
  • digital-hatswitch - Numéro du hatswitch digital.
  • direction - Position (-bouton) du hatswitch digital.
    • Valeurs possible : "center", "up", "right", "left", "down", "rightup", "rightdown", "leftup", "leftdown"
  • command - Spécifie la commande à lancer quand le bouton est pressé. Voir Keyboard layout pour des descriptions et une liste de commandes.


Note: Les hatswitches digitaux vont "résonner". Si vous fournissez des commandes pour "left", "up", et "leftup", bouger le hatswitch en haut à gauche activera les trois commandes.

Note (2): Le support des hatswitch digitaux est désactivé pas défaut dans l'arbre CVS. Pour l'activer, éditez votre vegastrike.config et réglez "debug_digital_hatswitch" à "true". Soyez avertis que cela enverra beaucoup de textes de débuggage à la console. Sachez aussi que vous ne pouvez actuellement pas lier de commande à "center". Les deux bugs ont été soumis avec un patch et devraient être bientôt résolus.


Axes D-PAD Digitaux utilisés comme Hatswitchs

Ceci peut permettre d'utiliser un axe (habituellement digital) tel un D-Pad, comme des boutons de commande, tels que les touches de caméra, etc.

Échantillon

<axis name="hatswitch" nr="0" margin="0.26" joystick="0" axis="2">
  <hatswitch value="-0.75"/>
  <hatswitch value="0.75"/>
</axis>
<axis name="hatswitch" nr="1" margin="0.26" joystick="0" axis="3">
  <hatswitch value="-0.75"/>
  <hatswitch value="0.75"/>
</axis>

<bind hatswitch="0" button="0" command="Cockpit::YawLeft" />
<bind hatswitch="0" button="1" command="Cockpit::YawRight" />
<bind hatswitch="1" button="0" command="Cockpit::PitchDown" />
<bind hatswitch="1" button="1" command="Cockpit::PitchUp" />

Description

Dans les balises <axis> :

  • axis - Numéro des axes du joystick axes pour haut/bas et gauche/droite.
  • margin - En gros, vous voulez y inclure 1.0 et -1.0, mais pas 0.0 lorsque vous ajoutez la marge +/- des valeurs du hatswitch.
  • joystick - 0=bas/gauche, 1=haut/droite

Dans les balises <bind>:

  • hatswitch et nr - Numéros des deux "hatswitchs" définis.
  • button - 0=bas/gauche, 1=haut/droite
  • command - Spécifie la commande à lancer quand le bouton est pressé. Voir Keyboard layout pour des descriptions et une liste de commandes.

Exemples de joystick

Vous pouvez insérer vos configuration qui fonctionnent ici.

Microsoft SideWinder Force Feedback Pro

(doit fonctionner aussi pour d'autres joysticks sidewinder)

Ajouter le nom du joystick au menu déroulant

Ajoutez joy_ffp à la ligne

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev

comme ceci

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_ffp

Ajouter le texte de description

#desc joy_ffp Microsoft SideWinder Force Feedback Pro

Faire du joystick celui par défaut

éditez la ligne #set Joystick xxxx pour donner celle-ci :

#set Joystick joy_ffp

Code de liaisons

Placez le code ci-dessous au-dessus de la ligne </bindings> dans le fichier vegastrike.config. Si vous le modifiez, assurez-vous de ne pas inclure de commentaires entre les marqueurs de vssetup (#joy_ffp and #end), au risque de le casser.

FIXME Attention: Ces liaisons ne fonctionnent peut-être pas sous linux ... en tout cas ça ne fonctionne plus chez moi depuis que j'y suis passé. De l'aide est toujours bienvenue.

<!-- Joystick:Microsoft SideWinder Force Feedback Pro:BEGIN-->
<!-- buttons:BEGIN -->
<!-- #joy_ffp -->
 <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />  <!-- stick:fire key -->
 <bind joystick="0" button="1" modifier="none" command="MissileKey" />          <!-- stick:left key -->
 <bind joystick="0" button="2" modifier="none" command="TargetKey" />           <!-- stick:top right key -->
 <bind joystick="0" button="3" modifier="none" command="PickTargetKey" />       <!-- stick:bottom right key -->
 <bind joystick="0" button="4" modifier="none" command="ABKey" />               <!-- socket:"A" key -->
 <bind joystick="0" button="5" modifier="none" command="MisSelKey" />           <!-- socket:"B" key -->
 <bind joystick="0" button="6" modifier="none" command="WeapSelKey" />          <!-- socket:"C" key -->
 <bind joystick="0" button="7" modifier="none" command="AccelKey" />            <!-- socket:"D" key -->
 <bind joystick="0" button="8" modifier="none" command="SheltonKey" />          <!-- not used? -->
 <bind joystick="0" button="9" modifier="none" command="DecelKey" />            <!-- socket:shift key -->
<!-- #end -->
<!-- buttons:END -->

<!-- axes:BEGIN -->
<!-- #joy_ffp -->
 <axis name="x"        joystick="0" axis="0" inverse="false" /> <!-- stick:left/right -->
 <axis name="y"        joystick="0" axis="1" inverse="false" /> <!-- stick:up/down -->
 <axis name="z"        joystick="0" axis="3" inverse="true" />  <!-- stick:roll left/right -->
 <!-- <axis name="throttle" joystick="0" axis="2" inverse="false" /> not working in 0.4.x -->   <!-- socket:throttle -->
 <!--vvv throttle axis vvvv-->
 <axis name="hatswitch" nr="0" margin="0.25" joystick="0" axis="2" inverse="false"> <!-- socket:throttle -->
   <hatswitch value="-1.0"/>
   <hatswitch value="-0.5"/>
   <hatswitch value="0.5"/>
   <hatswitch value="1.0"/>
 </axis>
<!-- #end -->
<!-- axes:END -->

<!-- throttle-bindings:BEGIN -->
<!-- #joy_ffp -->
 <bind hatswitch="0" button="0" modifier="none" command="ABKey" />
 <bind hatswitch="0" button="1" modifier="none" command="AccelKey" />
 <bind hatswitch="0" button="2" modifier="none" command="DecelKey" />
 <bind hatswitch="0" button="3" modifier="none" command="StopKey" />
<!-- #end -->
<!-- throttle-bindings:END -->

<!-- hatswitch:BEGIN -->
<!-- #joy_ffp -->
 <bind joystick="0" digital-hatswitch="0" direction="up"     command="Cockpit::Inside"/>
 <bind joystick="0" digital-hatswitch="0" direction="left"   command="Cockpit::InsideLeft"/>
 <bind joystick="0" digital-hatswitch="0" direction="center" command="Cockpit::Inside"/>
 <bind joystick="0" digital-hatswitch="0" direction="right"  command="Cockpit::InsideRight"/>
 <bind joystick="0" digital-hatswitch="0" direction="down"   command="Cockpit::InsideBack"/>
<!-- #end -->
<!-- hatswitch:END -->
<!-- Joystick:Microsoft SideWinder Force Feedback Pro:END-->

Microsoft SideWinder Force Feedback 2 (USB)

Linux 2.4

(kernels testés: 2.4.27)

Ce modèle se présente sous linux comme possédant 11 axes et 20 buttons, mais seulement 6 axes et 9 boutons sont utilisés, dont 2 sont pour le hatstick pseudo-analogique (qui est en réalité digital).

La configuration du hatswitch est spéciale ici. La configuration ci-dessous utilise un système "retourner au centre" :lorsqu'il est relâché, le hatswitch retourne à la vue standard du cockpit. Par conséquent, le moyen le plus évident serait de définir un axe centré sur (0) comme retournant à Cockpit::Inside. Mais lorsque cela a été défini pour les deux axes, ça n'a pas marché ; presser "gauche" ou "droite" clignotait seulement dans cette direction, retournant instantanément au centre même si le hatswitch était maintenu. C'est dû au fait que le mouvement horizontal du hatswitch (en partant du centre) déclenche aussi en quelque-sorte des événements de mouvement vertical, même si l'axe vertical n'a pas changé. Le centrage vertical venait annuler le mouvement gauche-droite.

En définissant le comportement "retourner au centre" seulement sur le mouvement horizontal, tout fonctionne parfaitement: le mouvement horizontal est libéré des événements de mouvement vertical, et renvoyer l'axe vertical au centre déclenche aussi en quelque sorte un événement de centrage horizontal, redéfinissant la vue à l'intérieur du vaisseau. La cause de cette incohérence est inconnue, mais l'effet est exactement celui qui est voulu.

Une fois les problèmes d'axes résolus, la configuration des boutons est extrêmement simple; les 8 premiers boutons (de 0 à 7) correspondent directement aux boutons du manche. Le bouton #11 est un bouton spécial virtuel qui est "pressé" quand la main quitte le manche (via un senseur optique). Atterrir dans une station spatiale est l'utilisation la plus logique de ce "bouton", car c'est à ce moment que l'utilisateur va de toute façon vouloir lâcher le joystick ; aside from saving a keypress, it's also good for amazing any onlookers with the user's "magic" joystick.

 <!-- Trigger button (1) and labelled buttons 2 through 8, in order. -->
 <!-- #joy_ff2 -->
  <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />
  <bind joystick="0" button="1" modifier="none" command="MissileKey" />
  <bind joystick="0" button="2" modifier="none" command="TargetKey" />
  <bind joystick="0" button="3" modifier="none" command="PickTargetKey" />
  <bind joystick="0" button="4" modifier="none" command="MisSelKey" />
  <bind joystick="0" button="5" modifier="none" command="WeapSelKey" />
  <bind joystick="0" button="6" modifier="none" command="SheltonKey" />
  <bind joystick="0" button="7" modifier="none" command="ABKey" />
 <!-- #end -->

 <!-- The special button triggered when the hand leaves the stick. -->
 <!-- #joy_ff2 -->
  <bind joystick="0" button="11" modifier="none" command="DockKey" />
 <!-- #end -->

 <!-- The axes aren't sequential; many are unused. -->
 <!-- #joy_ff2 -->
  <axis joystick="0" axis="0" name="x" inverse="false" />
  <axis joystick="0" axis="1" name="y" inverse="false" />
  <axis joystick="0" axis="4" name="z" inverse="true" />
  <axis joystick="0" axis="5" name="throttle" inverse="false" />
 <!-- #end -->

 <!-- Hatswitch left-right movement. -->
 <!-- #joy_ff2 -->
  <axis joystick="0" axis="6" name="hatswitch" nr="0" margin="0.5" inverse="false">
    <hatswitch value="-1.0"/>
    <hatswitch value="1.0"/>
    <hatswitch value="0"/>
  </axis>
  <bind hatswitch="0" button="0" modifier="none" command="Cockpit::InsideLeft" />
  <bind hatswitch="0" button="1" modifier="none" command="Cockpit::InsideRight"/>
  <bind hatswitch="0" button="2" modifier="none" command="Cockpit::Inside" />
 <!-- #end -->

 <!-- Hatswitch up-down movement. -->
 <!-- #joy_ff2 -->
  <axis joystick="0" axis="7" name="hatswitch" nr="1" margin="0.5" inverse="false">
    <hatswitch value="-1.0"/>
    <hatswitch value="1.0"/>
  </axis>
  <bind hatswitch="1" button="0" modifier="none" command="Cockpit::Behind" />
  <bind hatswitch="1" button="1" modifier="none" command="Cockpit::InsideBack" />
 <!-- #end -->

Linux 2.6

(kernels testés : 2.6.10, 2.6.11, 2.6.12)

Les choses deviennent beaucoup plus simples dans Linux 2.6. Le hatswitch est en fait reconnu comme un hatswitch digital, et le bouton virtuel "joystick non tenu" devient le bouton 8, juste après les 8 boutons physiques. D'un autre côté, les numéros de la poussée et des axes tournants bougent vers des nombres plus hauts. Pourtant, les choses deviennent globalement plus simples.

Les propriétés du joystick détectées par le jeu varient grandement entre les versions de kernel :

  • 2.6.10: 18 axes, 15 boutons, 1 hatswitch
  • 2.6.12: 12 axes, 9 boutons, 1 hatswitch

Apparemment, le code concernant les périphériques est toujours en construction, mais la détection semble être de plus en plus proche de la réalité.

Ci-dessous se trouve exactement la même configuration qu'au dessus, mais adaptée pour la série de kernels 2.6 :

<!-- #joy_ff2 -->
 <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />
 <bind joystick="0" button="1" modifier="none" command="MissileKey" />
 <bind joystick="0" button="2" modifier="none" command="TargetKey" />
 <bind joystick="0" button="3" modifier="none" command="PickTargetKey" />
 <bind joystick="0" button="4" modifier="none" command="MisSelKey" />
 <bind joystick="0" button="5" modifier="none" command="WeapSelKey" />
 <bind joystick="0" button="6" modifier="none" command="SheltonKey" />
 <bind joystick="0" button="7" modifier="none" command="ABKey" />
 <bind joystick="0" button="8" modifier="none" command="DockKey" />

 <axis joystick="0" axis="0" name="x" inverse="false" />
 <axis joystick="0" axis="1" name="y" inverse="false" />
 <axis joystick="0" axis="5" name="z" inverse="true" />
 <axis joystick="0" axis="6" name="throttle" inverse="false" />

 <bind joystick="0" digital-hatswitch="0" direction="up" command="Cockpit::Behind"/>
 <bind joystick="0" digital-hatswitch="0" direction="down" command="Cockpit::InsideBack"/>
 <bind joystick="0" digital-hatswitch="0" direction="left" command="Cockpit::InsideLeft"/>
 <bind joystick="0" digital-hatswitch="0" direction="right" command="Cockpit::InsideRight"/>
 <bind joystick="0" digital-hatswitch="0" direction="center" command="Cockpit::Inside"/>
<!-- #end -->

Microsoft SideWinder Precision 2 (USB)

Testé sous Windows XP Home. Coolihat/hatswitch digital laissé sans assignations.

Ajouter le nom du joystick au menu déroulant

ajoutez joy_msswp2 comme ceci

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_msswp2

Ajouter le texte de description

#desc joy_msswp2 Microsoft SideWinder Precision 2

Faire du joystick celui par défaut

#set Joystick joy_msswp2

Placez le code ci-dessous au-dessus de la ligne </bindings> dans le fichier vegastrike.config.

   <!-- Joystick:Microsoft SideWinder Precision 2:BEGIN-->
      <!-- buttons:BEGIN -->
        <!-- #joy_msswp2 -->
         <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />  
         <bind joystick="0" button="1" modifier="none" command="MissileKey" />          
         <bind joystick="0" button="2" modifier="none" command="PickTargetKey" />       
         <bind joystick="0" button="3" modifier="none" command="LockTargetKey" />       
         <bind joystick="0" button="4" modifier="none" command="TargetKey" />           
         <bind joystick="0" button="5" modifier="none" command="MisSelKey" />           
         <bind joystick="0" button="6" modifier="none" command="WeapSelKey" />          
         <bind joystick="0" button="7" modifier="none" command="SheltonKey" />         
        <!-- #end -->
      <!-- buttons:END -->
                        
      <!-- axes:BEGIN -->
        <!-- #joy_msswp2 -->
         <axis name="x"        joystick="0" axis="0" inverse="false" /> 
         <axis name="y"        joystick="0" axis="1" inverse="false" /> 
         <axis name="z"        joystick="0" axis="3" inverse="true" />  
         <axis name="throttle" joystick="0" axis="2"/> 
        <!-- #end -->
      <!-- axes:END -->

   <!-- Joystick:Microsoft SideWinder Precision 2:END-->

USB Saitek Cyborg 3D

4-axes/8-boutons/1-manette hatswitch + pédales CH sur un port de jeu

http://forums.vega-strike.org/viewtopic.php?p=12580#12580 lien vers le forum

<!-- Joystick:USB Saitek Cyborg 3D (4 axis 10 button 1 hatswitch):BEGIN -->
<!-- buttons:BEGIN -->
<!-- #joy_cyborg3d -->
  <bind joystick="1" player="0"  button="0" modifier="none" command="FireKey" />
  <bind joystick="1" button="1"  modifier="none" command="ABKey" />
  <bind joystick="1" button="2"  modifier="none" command="StopKey" />
  <bind joystick="1" button="3"  modifier="none" command="TargetKey" />
  <bind joystick="1" button="4"  modifier="none" command="PickTargetKey" />
  <bind joystick="1" button="5"  modifier="none" command="DecelKey" />
  <bind joystick="1" button="6"  modifier="none" command="SheltonKey" />
  <bind joystick="1" button="7"  modifier="none" command="AccelKey" />
  <bind joystick="1" button="8"  modifier="none" command="Cockpit::NavScreen" />
  <bind joystick="1" button="9"  modifier="none" command="MisSelKey" />
  <bind joystick="1" button="10" modifier="none" command="Cockpit::Inside" />
  <bind joystick="1" button="11" modifier="none" command="Cockpit::InsideLeft" />
  <bind joystick="1" button="12" modifier="none" command="Cockpit::InsideRight" />
  <bind joystick="1" button="13" modifier="none" command="Cockpit::InsideBack" />
<!-- #end -->
<!-- buttons:END -->

<!-- axes:BEGIN -->
<!-- #joy_cyborg3d -->
  <axis name="x" joystick="1" axis="0" inverse="false" />
  <axis name="y" joystick="1" axis="1" inverse="false" />
  <!-- <axis name="throttle" joystick="1" axis="2"/> -->
<!-- #end -->
<!-- axes:END -->
<!-- Joystick:USB Saitek Cyborg 3D (4 axis 10 button 1 hatswitch):END -->

<!-- gameport CH pedals:BEGIN -->
<!-- axes:BEGIN -->
<!-- #joy_cyborg3d -->
  <axis name="z" joystick="0" axis="3" inverse="true"/>
<!-- #end -->
<!-- axes:END -->
<!-- gameport CH pedals:END -->

USB Saitek Cyborg 3DII

Cette configuration a seulement été testée sous Linux, mais devrait fonctionner partout ailleurs.

Voir : http://forums.vega-strike.org/viewtopic.php?t=8620 (GordonShomway)

J'ai un vieux Saitek Cyborg 3DII USB. Quand j'ai configuré le Joystick comme étant "2 axis and throttle" ou "3 axis (and throttle)", la poussée (throttle) était sur l'axe z et les virages sur le levier destiné à la poussée.

Pour résoudre cela, j'ai dû changer les numéros des axes comme présenté ci-dessous:

throttle de 2 à 3.

Voici la configuration pour "3 axis and throttle"

<axis name="x" joystick="0" axis="0" inverse="false" />
<axis name="y" joystick="0" axis="1" inverse="false" />
<axis name="z" joystick="0" axis="2" inverse="false" />
<axis name="throttle" joystick="0" axis="3" inverse="false" />

USB Saitek AV8R-01

4 axes/12 boutons/8-hatswitch digital/2 contrôles rotatifs/poussée double.

Voici la configuration pour tangage/roulis sur les axes primaires, lacet sur le contrôle tournant, et poussée principale sur le contrôle de gauche.

	<axis name="x" joystick="0" axis="3" inverse="false" />
	<axis name="y" joystick="0" axis="1" inverse="false" />
	<axis name="z" joystick="0" axis="0" inverse="true" />
	<axis name="throttle" joystick="0" axis="2" />

voici de bons contrôles de boutons

	<bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />
	<bind joystick="0" button="1" modifier="none" command="MissileKey" />
	<bind joystick="0" button="2" modifier="none" command="NearestDangerousHostileKey" />
	<bind joystick="0" button="3" modifier="none" command="ABKey" />

	<bind joystick="0" button="4" modifier="none" command="ThrustUp" />
	<bind joystick="0" button="5" modifier="none" command="ThrustDown" />

	<bind joystick="0" button="6" modifier="none" command="MissionTargetKey" />
	<bind joystick="0" button="7" modifier="none" command="ThrustLeft" />

	<bind joystick="0" button="8" modifier="none" command="SigTargetKey" />
	<bind joystick="0" button="9" modifier="none" command="ThrustRight" />

	<bind joystick="0" button="10" modifier="none" command="Cockpit::SwitchLVDU" />
	<bind joystick="0" button="11" modifier="none" command="Cockpit::SwitchRVDU" />

	<bind joystick="0" button="12" modifier="none" command="StopKey" />
	<bind joystick="0" button="13" modifier="none" command="" />

La suite est un contrôle hatswitch "gluant"

	<bind joystick="0" digital-hatswitch="0" direction="up" command="Cockpit::Inside"/>
	<bind joystick="0" digital-hatswitch="0" direction="left" command="Cockpit::InsideLeft"/>
	<bind joystick="0" digital-hatswitch="0" direction="right" command="Cockpit::InsideRight"/>
	<bind joystick="0" digital-hatswitch="0" direction="down" command="Cockpit::InsideBack"/>

Ajouter ceci pour faire revenir le hatswitch à la vue normale après qu'il ait été relâché

   	<bind joystick="0" digital-hatswitch="0" direction="center" command="Cockpit::NavScreen"/>

USB Saitek X45

4-axes/7-boutons/4-hatswitch/2 contrôles rotatifs, 2 switchs de mode (M1,M2,M3 and AUX0-1) manche/système de contrôle de vol.

3 des 4 hatswitchs opnt pu être appelés comme des boutons. Je les ai donc configurés pour l'affichage du cockpit et la sélection des armes. Jusqu'à maintenant les deux contrôles rotatifs ne sont pas utilisés. Les switchs de mode sont configurés pour les moteurs SPEC et le masque de dissimulation (cloak).

<!-- Joystick:USB Saitek X45 (4 axis, 7 buttons, 4 hatswitches):BEGIN -->
<!-- buttons:BEGIN -->
    <!-- #joy_saitek_x45 -->
	<bind joystick="0" player="0"  button="0" modifier="none" command="FireKey" />
	<bind joystick="0" button="3"  modifier="none" command="MissileKey" />
	<bind joystick="0" button="4"  modifier="none" command="ABKey" />
	<bind joystick="0" button="5"  modifier="none" command="Cockpit::SwitchRVDU" />
	<bind joystick="0" button="1"  modifier="none" command="UnitTargetKey" />
	<bind joystick="0" button="2"  modifier="none" command="SigTargetKey" />
	<bind joystick="0" button="7"  modifier="none" command="NearestTargetKey" />
    <!-- #end -->

<!-- button 6 is originally intended as Shift button -->
<!--	<bind joystick="0" button="6"  modifier="none" command="Cockpit::NavScreen" /> -->

    <!-- #joy_saitek_x45 -->
	<bind joystick="0" button="8"  modifier="none" command="CloakKey" />
	<bind joystick="0" button="9"  modifier="none" command="CloakKey" />
	<bind joystick="0" button="10" modifier="none" command="CloakKey" />

	<bind joystick="0" button="11" modifier="none" command="ToggleWarpDrive" />
	<bind joystick="0" button="12" modifier="none" command="ToggleWarpDrive" />
	<bind joystick="0" button="13" modifier="none" command="ToggleWarpDrive" />
    <!-- #end -->

<!-- Joystick: HatSwitch 2 (left) -->
    <!-- #joy_saitek_x45 -->
	<bind joystick="0" button="14" modifier="none" command="WeapSelKey" />
	<bind joystick="0" button="15" modifier="none" command="MisSelKey" />
	<bind joystick="0" button="16" modifier="none" command="ReverseWeapSelKey" />
	<bind joystick="0" button="17" modifier="none" command="ReverseMisSelKey" />
    <!-- #end -->

<!-- ThrottleSystem: HatSwitch 3 (back)-->
    <!-- #joy_saitek_x45 -->
	<bind joystick="0" button="18" modifier="none" command="Cockpit::PitchDown" />
	<bind joystick="0" button="19" modifier="none" command="Cockpit::YawLeft" />
	<bind joystick="0" button="20" modifier="none" command="Cockpit::PitchUp" />
	<bind joystick="0" button="21" modifier="none" command="Cockpit::YawRight" />
    <!-- #end -->

<!-- ThrottleSystem: MouseCursorControl (front)-->
    <!-- #joy_saitek_x45 -->
	<bind joystick="0" button="22" modifier="none" command="Cockpit::InsideLeft" />
	<bind joystick="0" button="23" modifier="none" command="Cockpit::Inside" />
	<bind joystick="0" button="24" modifier="none" command="Cockpit::InsideRight" />
	<bind joystick="0" button="25" modifier="none" command="Cockpit::InsideBack" />
    <!-- #end -->
<!-- buttons:END -->

<!-- axes:BEGIN -->
    <!-- #joy_saitek_x45 -->
	<axis name="x" joystick="0" axis="0" inverse="false" />
	<axis name="y" joystick="0" axis="1" inverse="false" />
	<axis name="throttle" joystick="0" axis="4"/>
	<axis name="z" joystick="0" axis="3"/>
    <!-- #end -->
<!-- axes:END -->
<!-- Joystick:USB Saitek X45 (4 axis, 25 buttons, 4 hatswitches):END -->

Gamepad duel analogique Logitech

Ajouter le nom du joystick au menu déroulant

Ajoutez joy_log_dual_gp à la ligne

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev

comme ceci

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_log_dual_gp

Ajouter le texte de description

#desc joy_log_dual_gp Logitech Dual Analog Gamepad

Faire du joystick celui par défaut

Éditez la ligne #set Joystick xxxx pour donner celle-ci :

#set Joystick joy_log_dual_gp

Code de liaisons

Placez le code ci-dessous au-dessus de la ligne </bindings> dans le fichier vegastrike.config.

<!-- #joy_log_dual_gp -->
                <axis name="x" joystick="0" axis="0" inverse="false" />
                <axis name="y" joystick="0" axis="1" inverse="true" />
                <axis name="z" joystick="0" axis="2" inverse="true"/>
                <!-- (Not Working) axis name="throttle" joystick="0" axis="3"/-->
<!-- #end -->
<!-- The digital pad has axis 4 and 5 and values of -1,0,1 -->
<!-- They Can be mapped to button imputs as so: -->
<!-- #joy_log_dual_gp -->
                <axis name="hatswitch" nr="0" margin="0.26" joystick="0" axis="4">
                    <hatswitch value="-0.75"/>
                    <hatswitch value="0.75"/>
                </axis>
                <axis name="hatswitch" nr="1" margin="0.26" joystick="0" axis="5">
                    <hatswitch value="-0.75"/>
                    <hatswitch value="0.75"/>
                </axis>
<!-- #end -->
<!-- One way to use them is for attitude control thrusters for tight docking spaces. -->
<!-- #joy_log_dual_gp -->
        <bind hatswitch="0" button="0" command="ThrustLeft" />
        <bind hatswitch="0" button="1" command="ThrustRight" />
        <bind hatswitch="1" button="1" command="ThrustDown" />
        <bind hatswitch="1" button="0" command="ThrustUp" />
<!-- #end -->

<!--The Buttons on this Joypad are clearly marked with numbers -->
<!--Unfortunately they start with 1 and system starts with 0 -->
<!-- #joy_log_dual_gp -->
        <bind joystick="0" button="0" modifier="none" command="ABKey" />
        <bind joystick="0" button="1" modifier="none" command="DecelKey" />
        <bind joystick="0" button="2" modifier="none" command="DockKey" />
        <bind joystick="0" button="3" modifier="none" command="AccelKey" />
        <bind joystick="0" button="4" modifier="none" command="TargetKey" />
        <bind joystick="0" button="5" player="0" modifier="none" command="FireKey" />
        <bind joystick="0" button="6" modifier="none" command="PickTargetKey" />
        <bind joystick="0" button="7" modifier="none" command="MissileKey" />
        <bind joystick="0" button="8" modifier="none" command="WeapSelKey" />
        <bind joystick="0" button="9" modifier="none" command="AutoKey" />
<!-- #end -->

Contrôleur Playstation 2 (en utilisant un adaptateur USB couramment disponible)

Ajouter le nom du joystick au menu déroulant

Ajoutez joy_ps2 à la ligne

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev

comme ceci

#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_ps2

Ajouter le texte de description

#desc joy_ps2 Playstation 2 Joypad

Faire du joystick celui par défaut

Éditez la ligne #set Joystick xxxx pour donner celle-ci :

#set Joystick joy_ps2

Code de liaisons

Placez le code ci-dessous au-dessus de la ligne </bindings> dans le fichier vegastrike.config.

<!-- #joy_ps2 -->
                <axis name="x" joystick="0" axis="0" inverse="false" />
                <axis name="y" joystick="0" axis="1" inverse="false" />
                <axis name="z" joystick="0" axis="2" inverse="true" />

                <axis name="hatswitch" nr="0" margin="0.26" joystick="0" axis="4">
                    <hatswitch value="-0.75"/>
                    <hatswitch value="0.75"/>
                </axis>
                <axis name="hatswitch" nr="1" margin="0.26" joystick="0" axis="5">
                    <hatswitch value="-0.75"/>
                    <hatswitch value="0.75"/>
                </axis>

                <bind hatswitch="0" button="0" command="ReverseTargetKey" />
                <bind hatswitch="0" button="1" command="TargetKey" />
                <bind hatswitch="1" button="1" command="DecelKey" />
                <bind hatswitch="1" button="0" command="AccelKey" />

		<bind joystick="0" button="0" modifier="none" command="JumpKey" />
		<bind joystick="0" button="1" modifier="none" command="ToggleWarpDrive" />
		<bind joystick="0" button="2" modifier="none" command="ABKey" />
		<bind joystick="0" button="3" modifier="none" command="SwitchCombatMode" />
		<bind joystick="0" button="4" modifier="none" command="MissileKey" />
		<bind joystick="0" button="5" player="0" modifier="none" command="FireKey" />
		<bind joystick="0" button="6" modifier="none" command="MisSelKey" />
		<bind joystick="0" button="7" modifier="none" command="WeapSelKey" />
		<bind joystick="0" button="8" modifier="none" command="PauseKey" />
		<bind joystick="0" button="9" modifier="none" command="MissionTargetKey" />
		<bind joystick="0" button="10" modifier="none" command="Cockpit::SwitchLVDU" />
		<bind joystick="0" button="11" modifier="none" command="Cockpit::SwitchRVDU" />
<!-- #end -->

Cela fait correspondre le -

Manche analogique gauche au contrôle des attitudes (Nez - haut, bas, gauche, droite)

Manche analogique droit au roulis gauche et droite (Je n'ai pas pu trouver de fonction utile aux directions analogiques haut et bas sur ce manche. j'ai donc laissé tomber.)


Bouton arrière R1 = Sélectionner une arme

Bouton arrière R2 = Tirer avec l'arme sélectionnée

Bouton arrière L1 = Sélectionner un missile

Bouton arrière L2 = Lancer le missile sélectionné


Triangle = Moteur de saut (Jump drive - si équipé)

Square = Change le mode de combat (entre la vitesse de combat et la vitesse illimitée)

X = Postcombustion (Afterburner)

O = Bascule le moteur SPEC / le pilote automatique


Dpad (si la lumière analogique sur votre pad est éteinte (mode digita)l) a la même fonction que le manche analogique gauche, de toute façon -)

Up = Accélère

Down = Décélère

L & R = Sélectionne les cible parmi toutes


Select = Sélectionne la cible de mission

Start = Pause


Clics bas sur les joysticks

L3 (joystick gauche) = Sélectionne un affichage pour l'affichage tête haute (HUD) gauche

R3 (joystick droite)= Sélectionne un affichage pour l'affichage tête haute (HUD) droit

Sondage du joystick

Si vous n'arrivez pas à lier correctement les différents axes, boutons et hatswitchs de votre joystick, ce dernier doit reporter ses différentes fonctions de façon inattendue. Sonder votre joystick vous permet de tester chaque partie du joystick, et de voir quels événements sont envoyés à votre ordinateur.

Linux

Pour sonder un joystick sous Linux, vous avez besoin de l'utilitaire "jstest". (Dans Debian, il fait partie du paquet "joystick".) Localisez le périphérique représentant votre joystick (habituellement /dev/js0) et lancez "jstest" dessus, en ne touchant pas le joystick. Vous allez voir une série de positions d'axes et d'états de boutons.

Une fois que "jstest" est lancé, saisissez le joystick et actionnez toutes les fonctions que vous n'avez pas pu lier. Regardez le log de sortie et déterminez quel axe ou bouton sont déclenchés par vos actions. Muni de ces connaissances, vous devriez être capable d'utiliser l'une des recettes ci-dessus (ou une entrée existante dans le fichier vegastrike.config) pour configurer pleinement votre joystick.

Normalement, "jstest" vous montrera toutes les informations sur une seule ligne et continuera à mettre à jour cette ligne, sans défilement vers le bas. Si "jtests" ajoute des lignes multiples au lieu de mettre à jour la seule existante, vous avez beaucoup d'axes et de boutons (ou une fenêtre de terminal très étroite). Certains joysticks USB peuvent même sortir des lignes tenant sur deux écrans sans même que vous touchiez le joystick. Ignorez tout jusqu'à ce que le défilement s'arrête; Il s'agit juste du joystick qui "démarre". Après cela, vous pouvez saisir le joystick et faire les tests comme indiqué au dessus.

NOTE: Si votre joystick est à /dev/input/js0, vous aurez peut-être besoin de créer un lien symbolique comme suit: ln -s /dev/input/js0 /dev/js0

Voir aussi



arrow_left.png Contrôles souris arrow_up.png Configuration avancée : contrôles et raccourcis Configuration avancée : couleurs arrow_right.png