Rocview: Gamepad-Unterstützung

InhaltRocviewKonfiguration und Einstellungen



Rocview unterstützt bis zu 4 angeschlossene Gamepads, die jeweils eine Lokomotive steuern können.
Die Gamepad-Unterstützung muss aktiviert sein.
Wenn ein Gamepad angeschlossen ist, dann kann mit der Gamepad-Taste 10 der Dialog “Lok Selektion” aufgerufen werden, in welchem alle bedienbaren Lokomotiven in einer Liste zu sehen sind.
Mit dem D-Pad kann eine Lokomotive ausgewählt werden. Mit erneutem Druck auf Taste 10 wird diese Auswahl aktiv.


Vordefinierte Aktionen

Tasten Aktion
0 bis 3 Dekoder-Funktionen 1 bis 4
4 Fahrtrichtung ändern
5 Licht an/aus
6 Stopp (kein Notstopp)
7 Gleisspannung aus
8 Gleisspannung ein
10 Lokomotivauswahl-
Dialog öffnen/schließen
D-pad Geschwindigkeit (hoch/runter)
bzw. durch die Lokliste blättern

Dies sind die voreingestellten Tastenzuweisungen. Sie können in der rocview.ini geändert werden. Achtung! Diese beginnen mit Null. (mapping 0 ist also Taste 1)

Definition eines eigenen Gamepads in Rocview

Nachdem das Gamepad angeschlossen ist, werden die Knöpfe gedrückt und das D-Pad verwendet und im Trace von Rocview sollten folgende oder ähnliche Meldungen erscheinen:

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 entspricht einem Knopf, Type 2 ist eine Rückmeldung vom D-Pad (Achse).

Einstellungen in Rocview


Geschwindigkeit

V Tasten zum beschleunigen / bremsen (D-Pad)
Wiederholrate Wiederholrate bei betätigter Beschleunigungstaste in ms (0=Wiederholrate aus, kleinerer Wert –> höhere Wiederholrate)
Richtung Taste zum Ändern der Fahrrichtung
Stopp Taste zum anhalten der Lok
Fahrstufen Anzahl der Fahrstufen pro Tastendruck beim beschleunigen / bremsen

Funktionen

Beleuchtung Taste zum ein-/ ausschalten der Beleuchtung F0
F1 - F12 Taste zu steuern der Funktionen F1 - F12
Gleisspannung Tasten zum ein- / ausschalten der Gleisspannung


Problembehebung

Unter Linux sollte der folgende Test durchgeführt werden:

  • Öffnen einer Konsole
  • Anschließen des Gamepads
  • Eingabe des folgenden Kommandos
  cat /dev/input/js0
oder
  cat /dev/js0
  • Drücken aller Knöpfe beginnend mit Knopf 1
  • Bewegen des D-Pads in alle Richtungen

Die Ausgabe der Konsole sollte in etwa folgendermaßen aussehen (hängt ab von den Codepage-Einstellungen).

Das Gamepad ist nicht zu gebrauchen, wenn keine Ausgabe in der Konsole bei der Verwendung der Knöpfe oder des D-Pads erfolgt.

Jetzt wird Rocview von einer Konsole gestartet:

./rocview -debug
  • Anschließen des Gamepads
  • Drücken aller Knöpfe und Bewegen des D-Pads wie im vorherigen Test

Es ist eine Frage der Einstellung:

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

Wenn das D-Pad unterschiedliche Werte generiert, wie im folgenden Beispiel: (Rocview Trace mit Debug-Ausgabe)

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

Abbildung der Funktionsknöpfe: (Rocview Trace)

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

Die number korrespondiert zur Nummer des Gamepad-Knopfes minus 1. Im oberen Beispiel wurden die Knöpfe 1 bis 4 am Gamepad betätigt und diese stimmen mit den Standard-Einstellungen der jsmap überein.

Die jsmap in der rocview.ini muss entsprechend dem eingesetzten Gamepad angepasst werden. Beispiel:

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

Personal Tools