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 |
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)
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.
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"/>