Table of Contents

Support de la manette de jeu par Rocview

SommaireRocview Général



Rocrail supporte jusqu'à 4 manette de jeu connectées pour contrôler les locomotives.
Le support de la manette de jeu doit être activé.
Dans le cas ou une manette de jeu est connectée, une locomotive peut être sélectionnée avec la fonction 10 qui fait apparaître une fenêtre de sélection (voir au-dessous).
Avec la croix directionnelle de la manette une locomotive de la liste peut être sélectionnée qui sera activée avec le bouton de fonction 10.

Fenêtre de dialogue Sélection d'une locomotive


Cartographie prédéfinis des actions

Bouton Action
1 to 4 fonctions du décodeur de 1 à 4
5 changer de direction
6 feux Marche/arrêt
7 arrêt (pas arrêt d'urgent)
8 arrêt de l'alimentation de la voie
9 Mise en service de l'alimentation de la voie
10 sélectionner une locomotive (fenêtre ouverte/fermée)
croix directionnelle augmenter/diminuer la vitesse, ou se déplacer à travers la liste de loco

Ce sont les définitions de boutons prédéfinies.
Les valeurs sont indexées sur le zéro. (le configuration 0 est le bouton 1)


Comment "cartographier" une manette de jeu

Après que la manette soit connectée et que l'on ai pressé sur les boutons et l'axe, vous recevrez un message dans la fenêtre de suivi comme celui-ci:

JsEvent dev=0, type=1, number=0, value=1, msec=50766908
JsEvent dev=0, type=1, number=1, value=1, msec=50773640
JsEvent dev=0, type=1, number=2, value=1, msec=50774584
JsEvent dev=0, type=1, number=3, value=1, msec=50775384
JsEvent dev=0, type=2, number=5, value=-32767, msec=50778792
JsEvent dev=0, type=2, number=5, value=0, msec=50779824

Type 1 est un bouton, type 2 sont les axes.


Configuration dans Rocview

Entrées possible:


Problèmes

Essayer de faire le test suivant sous Linux:

  cat /dev/input/js0
or
  cat /dev/js0

La console devrait afficher quelque chose comme ceci(dépend du apramétrage du codepage de la console):

La manette de jeux n'est pas utilisable si il n'y a pas quelque chose qui s'affiche lorsque l'on presse sur un bouton ou sur les directions.

Maintenant démarrer Rocview dans une console:

./rocview -debug

Tout est une question de mapping:

http://www.rocrail.net/doc/rocrail-wrappers/wrapper-en.html#jsmap

Si votre pad de direction génère des valeurs comme celles-ci (suivi rocview avec lignes de debug)

20071219.173903.558 g9999D js-reade OJS      0110 handle=9, devnr=0, type=2, number=4, value=0, msec=27128764
20071219.173903.559 g9999I main     js       0162 JsEvent dev=0, type=2, number=4, value=0, msec=27128764
20071219.173903.640 g9999D js-reade OJS      0110 handle=9, devnr=0,type=2,number=3, value=0, msec=27128844
20071219.173903.641 g9999I main     js       0162 JsEvent dev=0, type=2, number=3, value=0, msec=27128844

Mapping des boutons de fonction: (suivi rocview)

20071224.090542.371 g9999I js-reade Logitech 0069 JS 1(Logitech Logitech Dual Action) has 6 axes and 12 buttons. Driver version is 2.1.0.
20071224.090543.529 g9999I main     js       0162 JsEvent dev=0, type=1, number=0, value=1, msec=3162540
20071224.090543.720 g9999I main     js       0162 JsEvent dev=0, type=1, number=0, value=0, msec=3162724
20071224.090553.122 g9999I main     js       0162 JsEvent dev=0, type=1, number=1, value=1, msec=3172132
20071224.090553.313 g9999I main     js       0162 JsEvent dev=0, type=1, number=1, value=0, msec=3172316
20071224.090556.663 g9999I main     js       0162 JsEvent dev=0, type=1, number=2, value=1, msec=3175668
20071224.090556.824 g9999I main     js       0162 JsEvent dev=0, type=1, number=2, value=0, msec=3175828
20071224.090557.689 g9999I main     js       0162 JsEvent dev=0, type=1, number=3, value=1, msec=3176692
20071224.090557.852 g9999I main     js       0162 JsEvent dev=0, type=1, number=3, value=0, msec=3176860

Le numéro correspond au numéro du bouton de la manette soustrait de 1. Dans cet exemple, les boutons 1 à 4 ont été pressé et ont renvoyé leur valeur par défaut dans jsmap.

Ajuster le jsmap dans le fichier rocgui.ini pour rencontrer les besoins de votre manette de jeux. Exemple:

<jsmap step="1" updown="5" repeat="500" reverse="4" stop="6" light="5" f1="0" f2="1" f3="2" f4="3" poweron="8" poweroff="7"/>