Advanced Throttle Control
Keyboard Control of the Standard Throttle
You can operate your JMRI Throttle from the keyboard in addition to using a mouse.Throttle Windows : Shift + left/right
You can operate the Throttle using your keyboard (the Control Panel in the Throttle Window has to be selected):
Speed
- Numeric Keypad +
- Increase Speed
- Numeric Keypad -
- Decrease Speed
- Left Arrow
- Increase Speed
- Right Arrow
- Decrease Speed
- Page Up
- Big Increase Speed (approximately 10% for each press of the key)
- Page Down
- Big Decrease Speed (approximately 10% for each press of the key)
- Numeric Pad *
- Idle (set speed to 0, any speed momentum is enabled)
- Numeric Pad /
- Emergency Stop! (instantly halts the locomotive)
Direction
- Up Arrow
- Reverse
- Down Arrow
- Forward
Functions
- Numeric Keypad 0 - 9
- Functions 0 to 9
- Numeric Keypad .
- Function 10
- F11 - F24
- Function 11 to Function 24
Custom Throttle with Jynstruments
Jynstruments are powerful tools for creating custom JMRI Throttles. There's much more information on creating and customizing them on a separate page. Here, we focus on using the customized Throttles.Both Jynstruments provided below are for controlling already assigned Throttles, the Throttle pane you will control has to be set up before. Then it's only a matter of drag'n dropping a folder on the Throttle Window toolbar.
Note that Throttle Window content is Jynstrumentable too, so here we drop the Jynstruments on the toolbar itself, not on the window content.
USB Joypad (USBControl.jyn)
There is a Jynstrument named USBControl.jyn to be dropped on a Throttle Window toolbar to get control of that Window with a joypad. See the .py files for default button settings, and possible customizations.Particularly you might want to define a "driver" file for your own device, start from default.py, copy it, rename it with the name of the device as seen by JMRI without any space or ".", then use the JMRI Jinput USB Input Control window (accessible from Debug menu) to get your Components names and value,
Note that a classic Jython file exists to take control of a Throttle Window with a USB device, this one is more complex but easier to use (imho).
Default controls:
Browsing throttles:
Speed:
Note that buttons 0 to 3 (or 1 to 4) are assigned to some speed presets, from idle (speed 0), to slow (speed 0,3), to cruise (speed 0,8), to max (speed 1). A double tap on the button for speed 0 will send an emergency stop.
Direction:
Functions buttons:
Note that joypads buttons layout, and even sticks events differ from one manufacturer to another, hence you should customize a driver.py for your own hardware.
Nintendo Wiimote (WiimoteThrottle.jyn)
There is a Jynstrument named WiimoteThrottle.jyn to be dropped on a Throttle Window toolbar to get control of that Window with a Nintendo Wiimote device. See the .py file for default button settings and set up (some jars are to be downloaded and copied in JMRI lib folder).At the moment, none of the accelerometers of the Wiimote are used, hence it's only a kind of deluxe remote as we only use the buttons. But it fits very well in one hand and once you know the settings, you don't even have to look at it to use it.
Default controls:
Browsing throttles:
Speed:
Note that buttons 1 and 2 are used for some speed presets, from idle (speed 0 - button 2 twice), to slow (speed 0,3 - button 2 once), to cruise (speed 0,8 - button 1 once), to max (speed 1 - button 1 twice). Pressing buttons 1 and 2 will send an emergency stop and vibrate the Wiimote.
Direction:
Functions buttons:
And as there is no more buttons available, no other function can be controlled by default, but as this is a Jython script, feel free to customize, and if somebody is able to do something with the accelerometers, you're very welcome!
RailDriver
See the RailDriver Hardware Help.iPhone and iPod Touch
There's a third-party application called WiThrottle that works with JMRI to let you control trains with your iPhone or iPod Touch.You can also browse the JMRI webserver from Safari on your iPhone or iPod Touch.