If the joystick you are using isn’t available as a selection in the joystick configuration list, or if you want to customize your joystick configuration, the joystick configuration files can be manually edited to support virtually any setup.  
 
First select your joystick or the closest match to your joystick in the joystick selection screen of the shell. Then edit the corresponding configuration file with an editor that can read and write DOS text files. The joystick configuration files are in the “GIDDI” sub directory of the Battlezone directory. The joystick selected in the shell is translated in to a configuration file name as follows:  
 
Disable Joystick - none
Default Joystick Map - “giddi\joystick.std”
Standard 2 button 2 axis Joystick - “giddi\jsticka.std "
Standard 4 button 2 axis Joystick - "giddi\jstickb.std "
Standard 4 button 2 axis Joystick with Hat - "giddi\jstickc.std "
Standard 4 button 3 axis Joystick - "giddi\jstickd.std "
Standard 4 button 3 axis Joystick with Hat - " giddi\jsticke.std "
Logitech Wingman Warrior - "giddi\wingw.std "
Logitech Wingman Extreme - "giddi\wingwex.std"
Microsoft Sidewinder - " giddi\sidew.std"
Microsoft Sidewinder Pro and Force Feedback Pro - “giddi\sidewpro.std"

 
 
The configuration file is a collection of control descriptions. The order of these descriptions is not important  
 
Example 1: 
# ACTIVATE TURBO
turbo {
	+ joystick1	Button4
}

The ‘#’ starts a comment line. The “turbo” is the name of a control. In between the “{“ and the “}” are the keys, buttons, or joystick axis required to activate that control. The “joystick1” means the first, and often only, joystick, and “Button4” means the fourth button of that joystick. So this control says that if you press the forth button on the first joystick you will activate the turbo control.  
 
Example 2:  
 
# EJECT FROM VEHICLE
eject {
	+ keyboard	B
	+ keyboard	LeftControl
}

 
 
Controls can require multiple keys to activate. In this case, press control and B to eject.  
 
Example 3:  
 
jump {
	+ keyboard	B
	- keyboard	LeftControl
}

 
 
Controls can require some keys and deny other keys to activate. In this case, press B but don’t press ‘control’ to jump. The ‘-‘ before the ‘keyboard’ means, don’t activate the control if this key is pressed.  
 
Example 4:  
 
# ANALOG THROTTLE
throttle {
	- joystick1	Throttle
}

 
 
This is a “throttle” control. The main difference here is that the ‘-‘ before the ‘joystick1’ here means that the sense (or direction) of the control is reversed. If you go backwards when you mean to go forwards or turn left when you mean to turn right try changing a ‘+’ to a ‘-‘ or visa versa. This only applies to analog controls like ‘throttle’, ‘pitch’, ‘steer’, and ‘strafe’.  
 
Look at input.map and the rest of the files in the ‘giddi’ directory for more examples. Mouse buttons can be reconfigured in input.map  
 
Supported Controls  
 
The following is a list of controls.  
 
"cmd_x" - overview mouse position X
"cmd_y" - overview mouse position Y
"cmd_lclick" - command menu left mouse click
"cmd_rclick" - command menu right mouse click
"cmd_lhold" - command menu left mouse hold
"cmd_rhold" - command menu right mouse hold
"cmd_delete" - edit mode unit deletion
"cmd_multi" - command menu multiple selection
"center_player" - center the overview on the player
"center_recycler" - center the overview on the recycler
"mode_select_0" - press first command menu button [1]
"mode_select_1" - press second command menu button [2]
"mode_select_2" - press third command menu button [3]
"mode_select_3" - press fourth command menu button [4]
"mode_select_4" - press fifth command menu button [5]
"mode_select_5" - press sixth command menu button [6]
"mode_select_6" - press seventh command menu button [7]
"mode_select_7" - press eighth command menu button [8]
"mode_select_8" - press ninth command menu button [9]
"mode_select_9" - press tenth command menu button [0]
"menu_pos" - analog command menu highlight position
"menu_up" - command menu highlight position up
"menu_down" - command menu highlight position down
"menu_next" - press the highlighted command menu item
"menu_back" - return to the main menu
"menu_cycle" - enable the command menu highlight
"menu_press" - perform smart reticle action
"alt_press" - perform targeted object action
"group_select_0" - select first bound group (bind in conjunction with cmd_multi)
"group_select_1" - select second bound group
"group_select_2" - select third bound group
"group_select_3" - select fourth bound group
"group_select_4" - select fifth bound group
"group_select_5" - select sixth bound group
"group_select_6" - select seventh bound group
"group_select_7" - select eighth bound group
"group_select_8" - select ninth bound group
"group_select_9" - select tenth bound group
"strafe" - analog strafe control
"strafe_right" - strafe to the right
"strafe_left" - strafe to the left
"throttle" - analog throttle control
"throttle_up" - drive forward
"throttle_down" - drive backward
"steer" - analog steering control
"steer_right" - turn to the right
"steer_left" - turn to the left
"pitch" - analog pitch control
"pitch_up" - pitch nose up
"pitch_down" - pitch nose down
"weapon_fire" - fire currently selected weapons
"weapon_cycle" - cycle selected weapons
"weapon_link" - toggle between linking identical and similar weapons
"weapon_select_0" - select first hardpoint (toggle in conjunction with cmd_multi)
"weapon_select_1" - select second hardpoint
"weapon_select_2" - select third hardpoint
"weapon_select_3" - select fourth hardpoint
"weapon_select_4" - select fifth hardpoint
"turbo" - maximum speed forwards
"jump" - engage jump thrusters
"eject" - eject from the vehicle (destroys the vehicle)
"deploy" - toggle deployment of the vehicle
"abandon" - hop out of the vehicle (does not destroy the vehicle)
"frontal_target" - target the object closest to the reticle
"cycle_beacon" - cycle through nav beacons
"drop_beacon" - drop a nav beacon
"track_pitch_delta" - tracking view analog pitch control
"track_pitch_plus" - increase tracking view pitch
"track_pitch_minus" - decrease tracking view pitch
"track_yaw_delta" - tracking view analog yaw control
"track_yaw_plus" - increase tracking view yaw
"track_yaw_minus" - decrease tracking view yaw
"zoom_factor_plus" - increase zoom factor
"zoom_factor_minus" - decrease zoom factor
"zoom_factor_reset" - reset zoom factor

 
 
The following is a list of all the joystick inputs…  
 
"HorizPos" - Joystick analog horizontal position
"VertPos" - Joystick analog vertical position
"Throttle" - Joystick analog throttle position
"Rudder" - Joystick analog rudder position
"5thAxis" - Joystick analog fifth axis
"6thAxis" - Joystick analog sixth axis
"HeadRoll" - Head tracker head roll
"HatUp" - Joystick hat switch up
"HatRight" - Joystick hat switch right
"HatDown" - Joystick hat switch down
"HatLeft" - Joystick hat switch left
"Button1" - Joystick button 1
"Button2" - Joystick button 2
"Button3" - Joystick button 3
"Button4" - Joystick button 4
"Button5" - Joystick button 5
"Button6" - Joystick button 6
"Button7" - Joystick button 7
"Button8" - Joystick button 8
"Button9" - Joystick button 9
"Button10" - Joystick button 10

 
 
(there may be more buttons - use the DirectX Viewer tool to check)  
 
Here are all of the mouse input controls:  
 
"HorizPos" - horizontal mouse position
"HorizVel" - horizontal mouse velocity
"VertPos" - vertical mouse position
"VertVel" - vertical mouse velocity
"LeftBtn" - left mouse button
"MiddleBtn" - middle mouse button
"RightBtn" - right mouse button

 
