Bridge Command - Using external controls
Introduction
To increase the realism of the simulation, it is possible to use physical throttle levers and a wheel to control your vessel in Bridge Command. In principle, any three axis analog joystick can be used, but in practice suitable joysticks are not readily available, and it is quite simple to construct one to your own requirements. How to do this is explained at How to make a set of throttles and wheel.
In order to enable Bridge Command's joystick support, you will also need to make small changes to one configuration file. It may be worth reading the general introduction to Bridge Command's ini file format: The .ini file format.
joystick.ini
Enable Bridge Command's joystick support
Open the file joystick.ini in the Bridge Command root directory (Usually "C:\Program files\Bridge Command 4.3GPL\"). In this file, change the line "use_joystick=0" to "use_joystick=1" to enable Bridge Command's joystick capabilities.
You may also need to change a few more values, depending on how your joystick is set up. If the controller you want to use is not the only joystick connected to your system, you may have to change the 'joystick_no' value to the correct one.
More options
If your set-up doesn't work with the default options, or you want more control over how the throttles and wheel work, you can edit all of the options in the file. A complete example is geven below, and the options are:
- use_joystick: Sets if Bridge Command uses a joystick as the input device. 1 to use a joystick/throttle set, 0 for normal mouse control.
- joystick_no: This sets which joystick on your system Bridge Command uses. If you only have one, this will be 0.
- port_throttle_channel: This sets which joystick channel is used to control the port throttle. This will normally be 1,2 or 3.
- stbd_throttle_channel: This sets which joystick channel is used to control the starboard throttle. This will normally be 1,2 or 3.
- rudder_channel: This sets which joystick channel is used to control the rudder. This will normally be 1,2 or 3.
-
The following section sets the mapping between the joystick input value and the proportion of engine revs. It allows for fixed steps, such as slow ahead and half ahead, as well as different sensitivities for continuous control. This is set with fixed points that define the mapping of throttle to engine revs (see the image below)
- joystick_map_points: The number of points in the mapping between the joystick input and the proportion of engine revs.
- For each point, 1 to joystick_map_points, the following must be defined:
- joystick_map(point,1): The joystick input value
- joystick_map(point,2): The proportion of max engine revs
- If the joystick input is outside the defined range, the first or last output value will be used as appropriate.
- port_multiplier: This is used to calibrate your port throttle lever, and should almost always be left as 1.
- port_offset: This is used to calibrate your port throttle lever, and should almost always be left as 0.
- stbd_multiplier: This is used to calibrate your starboard throttle lever, and should almost always be left as 1.
- stbd_offset: This is used to calibrate your starboard throttle lever, and should almost always be left as 0.
- rudder_multiplier: This is used to calibrate your rudder, and should almost always be left as 1.
- rudder_offset: This is used to calibrate your rudder, and should almost always be left as 0.
Example joystick mapping
This is the mapping in the example below. Each point is indicated, and the map gives fixed slow and half ahead and astern positions, and then the engines can be controlled up to full power. Half of the joystick input range is used.
Example
This maps the full engine range to half of the joystick range, and has the following mapping, which gives the fixed positions of slow ahead and half ahead, and then allows continuous control up to full ahead, and is the same going astern.
use_joystick=1 joystick_no=0 port_throttle_channel=1 stbd_throttle_channel=2 rudder_channel=3 joystick_map_points=12 joystick_map(1,1)=-0.5 joystick_map(1,2)=-1 joystick_map(2,1)=-0.25 joystick_map(2,2)=-0.5 joystick_map(3,1)=-0.125 joystick_map(3,2)=-0.5 joystick_map(4,1)=-0.125 joystick_map(4,2)=-0.25 joystick_map(5,1)=-0.0625 joystick_map(5,2)=-0.25 joystick_map(6,1)=-0.0625 joystick_map(6,2)=0 joystick_map(7,1)=0.0625 joystick_map(7,2)=0 joystick_map(8,1)=0.0625 joystick_map(8,2)=0.25 joystick_map(9,1)=0.125 joystick_map(9,2)=0.25 joystick_map(10,1)=0.125 joystick_map(10,2)=0.5 joystick_map(11,1)=0.25 joystick_map(11,2)=0.5 joystick_map(12,1)=0.5 joystick_map(12,2)=1 port_multiplier=1 port_offset=0 stbd_multiplier=1 stbd_offset=0 rudder_multiplier=1 rudder_offset=0