Support
Wiki Documentation
Support Forum
Mobile
- andRoc Android
- Rocweb Browser
- WIO-Control ESP32
- Rocview Tablet
DIY
User
Wiki writer
Special
Legal
Support
Wiki Documentation
Support Forum
Mobile
DIY
User
Wiki writer
Special
Legal
Rocrail supporta fino a 4 gamepad per controllare 4 locomotive indipendenti. Se un gamepad è connesso, può essere associata una locomotiva tramite la finestra di selezione visualizzabile premendo il tasto 10 del gamepad. Con il D-pad (frecce di direzione) si può scorrere l'elenco delle locomitive presenti nella finestra di selezione.
Pulsante | Azione |
1 - 4 | funzione decoder 1 - 4 |
5 | cambio direzione |
6 | luci on/off |
7 | ferma loco (porta la velocità a 0) |
8 | dai alimentazione al tracciato |
9 | togli alimentazione al tracciato |
10 | seleziona locomotiva (apre/chiude finestra di selezione) |
D-pad | aumenta/diminuisce velocità, scorre elenco locomotive |
I pulsanti predefiniti possono essere modificati nella sezione <jsmap> del file rocrail.ini, http://www.rocrail.net/doc/rocgui-wrappers/wrapper-en.html#jsmap. L'indice dei valori parte da 0. (mapping 0 è il pulsante 1)
Dopo aver connesso il GamePad, alla pressione dei tasti e delle direzioni otterrete i seguenti messaggi nel registro eventi:
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 è un pulsante, type 2 è una direzione. Il numero è il valore che dovrebbe essere inserito nel jsmap. Dalla versione 966 è possibile impostare quei valori nella finestra proprietà di Rocview: http://rocrail.sourceforge.net/rocguiini.mpg
In questo modo, qualora si volesse associare una azione ad un tasto, immettere in jmap il numero mostrato nella finestra degli eventi.
Provare il seguente test in linux:
cat /dev/input/js0 oppure cat /dev/js0
L'output della console dovrebbe mostrare qualcosa del genere (dipende dalle impostazioni della console):
Il Gamepad non è utilizzabile se non ci sono output alla pressione di un tasto o del D-Pad.
Eseguire Rocview in una console:
./rocview -debug
Problemi di mappatura:
http://www.rocrail.net/doc/rocrail-wrappers/wrapper-en.html#jsmap
Se il D-Pad genera differenti valori come i seguenti: (eventi rocview con linee di 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
Mappatura dei tasti funzione: (eventi 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
Il numero corrisponde al numero dei tasti del gamepad button ridotto di 1. Nell'esempio i tasti da 1 a 4 erano premuti e riportano i valori di default del jsmap.
Impostare jsmap nel rocgui.ini per riconoscere il vostro gamepad. Esempio:
<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"/>