home *** CD-ROM | disk | FTP | other *** search
- ----------------------------------------------------------------------------------------------------
- INPUT MAPPING HELP TEXT
- ----------------------------------------------------------------------------------------------------
-
- The purpose of this document is explain how to use StarSiege's input mapping utility.
- It will allow complete control over how you control your HERC.
-
- SECTIONS:
-
- 1. CHANGES
- 2. CREATING A CUSTOM KEYMAPPING
- 3. USING MAKES AND BREAKS
- 4. USING PARAMETERS
- 5. LOADING A CUSTOM KEYMAPPING
- 6. INPUT
- 7. ACTION DEFINITIONS
- 8. EXAMPLES
-
-
-
-
- 1. CHANGES
- ---------------------------------------------------------------------------------------
-
- Since the first ATR, there have been several changes with keymapping. The syntax has been changed slightly to look
- more like a C function call. For example, the statement "bindAction keyboard make p TO ACTION_FIRE 1.0"
- now would look like:
-
- bindAction( keyboard, make, p, TO, IDACTION_FIRE, 1.0);
-
- Note that after each bindAction call, you must include a ";". This is true in for all *.cs files.
- Additionally, almost all previous action tags (e.g.,ACTION_FIRE), have been preserved,
- except now all action tags start with "ID".
-
- Another change is the firing system. The current system is based around weapon groups and firing chains.
- There are 3 weapon groups to which a weapon can belong ( a weapon can belong to multiple groups). When you fire,
- the currently selected weapon group executes in 1 of 2 modes, either Series, or All. The Series mode will fire all weapons
- in the group sequentially, while the All mode fires all weapons in unison. Additionally you can fire only one particular
- weapon by using IDACTION_WEAPON_SELECT. When this tag is used, you will continue to fire that weapon until you select
- a group.
-
- Weapon Linking and the Alpha Strike feature (bug) have both been removed, as the new weapon system makes them obsolete.
-
- IDACTION_WEAPON_SELECT Selects weapon, number selects weapon
- IDACTION_WEAPON_GROUP_SELECT Selects weapon group, numbers range from 0.0 to 2.0
- IDACTION_WEAPON_ADJ Cycles through all weapons, number is added to current weapon selection
- IDACTION_WEAPON_GROUP_ADJ Cycles through weapon groups, number is added to current group selection
- IDACTION_WEAPON_MODE_SELECT Toggles mode of fire, 0.0 = fire series, 1.0 = fire all
- IDACTION_WEAPON_GROUP_TOGGLE Toggles weapon in/out of selected weapon group, number indicates weapon
-
- The way Starsiege handles joystick hat input has changed also. The original x, y axes can still be used, but the hat can
- also be treated like a set of 4 buttons labeled (upov,dpov,rpov,lpov). The hat isn't automatically centered.
- This means that if you were using the hat to zoom in/out, or some other action that requires a postive and negative value,
- include center in the bindAction call.
-
-
- 2. CREATING A CUSTOM KEYMAPPING
- ------------------------------------------------------------------------------------------------------
-
- The easiest way to get started is to open one of the included keymaps in ..\es3Alpha\keymaps directory,
- and use that keymap file as reference. Once you've modified the file to your liking,
- save the *.cs file in ..\es3Alpha\keymaps directory.
-
- The Keymapping files can be nested, or "included" within each other. In the Joystick.cs file,
- the following lines indicate other keymap files that are combined with the joystick.cs
- file to create a complete keymap for multiple input devices and functions:
-
- #------------------------------------------------------------------------------
- # include generic camera controls
- exec _defCamera.cs
-
-
- #------------------------------------------------------------------------------
- # include generic keyboard controls
- exec _defKeyboard.cs
-
-
- This is done mainly for convenience. If you wish to create a single file that contains
- "everything" you can do so.
-
-
- 3. USING MAKES AND BREAKS
- -------------------------------
-
- It is crucial to use the "make" and "break" keywords correctly. When binding input to actions such as
- firing, moving, or looking ( actions that should generally occur only when holding down a key or button ),
- use the "make" to initiate the action, and "break" to turn it off.
- Example:
-
- "bindAction( keyboard, make, space, TO, IDACTION_FIRE, 1.0);"
- "bindAction( keyboard, break, space, TO, IDACTION_FIRE 0.0);"
-
- The value at the end represents a toggle, where 1.0 is on and 0.0 is off.
-
- 4. USING PARAMETERS
- --------------------------------
-
- Most actions require a value at the end of a binding statement ( see ACTION DEFINITIONS below for more info ).
- There are five additional parameters that you have the option of using. They are:
-
- flip: Reverses the coordinate system for the chosen action (ACTION_YAW -1.0 would turn left instead of right)
- Example : "bindAction( joystick, yaxis, TO, IDACTION_LOOK_Y, flip);"
-
- deadzone: Kills all input that lies within the specified range.
- (e.g.,If you enter 'deadzone 0.1', the deadzone will be 10% of your total axis ).
- Example: "bindAction( joystick, xaxis, TO, IDACTION_YAW, deadzone, 0.1);"
-
- center: Centers your the coordinate system of your control device from (0.0, 1.0) to (-1.0,1.0)
- Example: "bindAction( joystick, yaxis, TO, IDACTION_SPEED, center);"
-
- square: Changes the growth rate of constant input (e.g., pulling down on a joystick)from linear to parabolic.
- Example: "bindAction( joystick, yaxis, TO, IDACTION_SPEED, square);"
-
- scale: Scales the sensitivity of an input signal, based on the value you give it.
- Example:"bindAction( joystick, zaxis, TO, IDACTION_SPEED, scale, 0.2);"
-
- Note that it is possible to string five of these parameters onto the end of one action. For example,
- you could enter a line that looked like this:
-
- "bindAction( joystick, yaxis, TO, IDACTION_SPEED, deadzone, 0.2, center, square, scale, 0.1);".
-
- This would have the effect of giving a deadzone of 20% in the center the yaxis of your joystick,
- while scaling the input signal by a factor of 0.1. Pushing forward would increase your HERC's forward throttle
- at a parabolic rate, and pulling back would do the same thing, in reverse.
-
- 5. LOADING A CUSTOM KEYMAP FILE
- --------------------------------
-
- In order to load a custom keymap file, it needs to be located in the ..\es3Alpha\keymaps directory.
- At the Player Setup Menu, click on the Input Configuration field. This will call up a list of the
- available KeyMap files. Highlight the one you want to load.
-
-
- 6. INPUT
- --------------------------------------------------------------------------------------------
-
-
- JOYSTICK INPUT( keyword is "joystick" ):
-
- "zaxis" Throttle control
- "yaxis" Up/down
- "xaxis" Left/right
- "rzaxis" Twist left right (e.g., sidewinder joysticks)
- "rxaxis" extra input
- "ryaxis" extra input
- "slider0" extra input
- "slider1" extra input
- "xpov" left/right on joystick hat
- "ypov" up/down on hat
- "upov" up direction on hat
- "dpov" down direction on hat
- "rpov" right direction on hat
- "lpov" left direction on hat
-
- "button0" varies per joystick
- "button1"
- "button2"
- "button3"
- "button4"
- "button5"
- "button6"
- "button7"
- "button8"
- "button9"
- "button10"
- "button11"
- "button12"
-
- MOUSE INPUT( keyword is "mouse" ):
-
- "xaxis"
- "yaxis"
- "zaxis"
- "button0"
- "button1"
- "button2"
- "button3"
-
- KEYBOARD INPUT( keyword is "keyboard" ):
-
- Note that key modifiers( alt, shift, control) are supported,
- but the modifier must come before the key (e.g., "shift s").
- Any key not listed below is represented by it's direct keyboard character.
-
- "escape" Esc
- "backspace" BackSpace
- "tab" Tab
- "enter" Enter
- "control" Control
- "shift" Shift
- "alt" Alt
- "capslock" Caps Lock
- "numlock" Num Lock
- "numpad1" Numpad1
- "numpad2" Numpad2
- "numpad3" Numpad3
- "numpad4" Numpad4
- "numpad5" Numpad5
- "numpad6" Numpad6
- "numpad7" Numpad7
- "numpad8" Numpad8
- "numpad9" Numpad9
- "numpad0" Numpad0
- "numpad+" Numpad plus
- "numpad-" Numpad minus
- "numpad/" Numpad slash
- "numpad*" Numpad star
- "scroll" Scroll Lock
- "numpadequals" Numpad Equals
- "stop" Stop
- "numpadenter" Numpad Enter
- "numpadcomma" Numpad Comma
- "sysreq" Print Screen/ Sys Req
- "home" Home
- "up" Up Arrow
- "down" Down Arrow
- "left" Left Arrow
- "right" Right Arrow
- "end" End
- "next" Next
- "insert" Insert
- "delete" Delete
- "win" Windows
- "app" Apps
-
-
- 7. ACTION DEFINITIONS
- ------------------------------------------------------------------------------
-
- ACTIONS PARAMETER DEFINITIONS
-
- IDACTION_FIRE Fires weapon, 1.0 = true, 0.0 = false
- IDACTION_WEAPON_SELECT Selects weapon, number selects weapon
- IDACTION_WEAPON_GROUP_SELECT Selects weapon group, numbers range from 0.0 to 2.0
- IDACTION_WEAPON_ADJ Cycles through all weapons, number is added to current weapon selection
- IDACTION_WEAPON_GROUP_ADJ Cycles through weapon groups, number is added to current group selection
- IDACTION_WEAPON_MODE_SELECT Toggles mode of fire, 0.0 = fire series, 1.0 = fire all
- IDACTION_WEAPON_GROUP_TOGGLE Toggles weapon in/out of selected weapon group, number indicates weapon
-
- IDACTION_REACTOR Toggles reactor, no number required
-
- IDACTION_LOOK_X Looks left/right, -1.0 = left, 1.0 = right
- IDACTION_LOOK_Y Looks up/down, -1.0 = down, 1.0 = up
- IDACTION_LOOK_CENTER Look center, No number required
-
- IDACTION_MOVE_X Move left/right, -1.0 = left, 1.0 = right
- IDACTION_MOVE_Y Move forward/backward, 1.0 = forward, 1.0 = back
- IDACTION_MOVE_Z Move up/down, -1.0 = down, 1.0 = up
-
- IDACTION_PITCH Pitch rotation
- IDACTION_YAW Yaw rotation
- IDACTION_ROLL Roll rotation
-
- IDACTION_STOP Stops HERC, no Number needed
- IDACTION_SPEED Speed, 1.0 = positive acceleration, -1.0 = negative acceleration
- IDACTION_TURBO Toggles turbo mode
-
- IDACTION_CROUCH Toggle Crouch, no number needed
- IDACTION_CAMOUFLAGE Toggle Camouflage, no number needed
-
- IDACTION_TARGET_ADJ_ENEMY next/prev enemy target, -1.0 = cycle back, 1.0 = cycle forward
- IDACTION_TARGET_ADJ_FRIENDLY next/prev friendly, -1.0 = cycles back, 1.0 = cycles forward
- IDACTION_TARGET_CLOSEST_ENEMY targets closest enemy, no number needed
- IDACTION_TARGET_CLOSEST_FRIENDLY targets closest friendly, no number needed
- IDACTION_TARGET_SELECTED targets object currently under aiming reticle, no number needed
-
- IDACTION_USE_PROJECTILE_CAM Sets projectile cam for next shot
-
- IDACTION_SENSOR_MODE_TOGGLE Toggles between active and passive radar, no number needed
- IDACTION_SENSOR_RANGE_TOGGLE Cycles through ranges, no number needed
- IDACTION_SENSOR_RANGE_SET Sets range, number indicates something
-
- IDACTION_SHIELD Toggles Shield on/off, no number needed
- IDACTION_SHIELD_TRACK Shield tracking on/off, no number needed
- IDACTION_SHIELD_FOCUS_ADJ Adjusts shield balance, number is added to current shield focus
- IDACTION_SHIELD_FOCUS_SET Set shield balance, number sets shield focus
- IDACTION_SHIELD_ROTATION_ADJ Adjusts shield rotation, number is added to current shield rotation
- IDACTION_SHIELD_ROTATION_SET Set shield rotation, number sets shield rotation
-
- IDACTION_NAVPOINT_NEXT Selects next navpoint, no number needed
- IDACTION_NAVPOINT_PREV Selects previous navpoint, no number needed
- IDACTION_NAVPOINT_SET Selects navpoint, number indicates which navpoint is selected
-
- IDACTION_DAMAGE_ROTATE Toggles HUD damage indicator rotation
- IDACTION_DAMAGE_ANIMATE Toggles HUD damaga indicator animation
-
- IDACTION_NEXT Selects next HERC while in OrbitCam
- IDACTION_PREV Selects previous HERC while in OrbitCam
-
- IDACTION_REVERSE_THROTTLE Toggle forward/reverse throttle
-
- IDACTION_ZOOM_SET Set zoom factor, number indicates zoom factor
- IDACTION_ZOOM_ADJ Adjust zoom factor, number is added to current zoom factor
- IDACTION_CENTER_TURRET Centers Turret
- IDACTION_CENTER_BODY Centers Body
-
- IDACTION_AUTOTARGET Autotargets enemy, no number needed
-
-
- 8. EXAMPLES
- -----------------------------------------------------------------------------------
- These examples are some of the more commonly asked questions about creating a custom keymapping:
-
- Q: How do I use my joystick axis to look?
-
- A: bindAction( joystick, xaxis, TO, IDACTION_LOOK_X, deadzone, 0.1, center, square);
- bindAction( joystick, yaxis, TO, IDACTION_LOOK_Y, deadzone, 0.1, center, square);
-
-
- Q: How do I use the joystick hat to look?
-
- A: bindAction( joystick, xpov, TO, IDACTION_LOOK_X, center, flip);
- bindAction( joystick, ypov, TO, IDACTION_LOOK_Y, center);
-
-
- Q: How do I reconfigure the throttle ?
-
- A: It depends on which device you want to use as input. For keyboard, you might want something like this:
-
- bindAction( keyboard, make, up, TO, IDACTION_SPEED, +1.0);
- bindAction( keyboard, break, up, TO, IDACTION_SPEED, 0.0);
-
- For joystick zaxis ( throttle ):
-
- bindAction (joystick, zaxis, TO, IDACTION_SPEED, deadzone, 0.1, center, square);
-
-
- Q: When I look with my mouse/ joystick/ keyboard, the HERC response seems backwards. How do I fix this ?
-
- A: Simply add the flip parameter at the end of the appropriate action in your custom keymap file.
- If flip is already there, remove it. This will flip the response of your HERC.
-
-
- Q: I added a keyboard command, but it dosn't seem to work. What's the deal?
-
- A: Make sure you typed 'make' or 'break' before the specific key you wanted to bind. Otherwise nothing will happen.
- Also, key combinations involving more than two keys will not work.
-
-
- Q: Whenever I try to use the joystick hat, my HERC fires or does some other incorrect action.
-
- A: Most likely you need to recalibrate your joystick. To do this, select Start menu/settings/control panel/Game Controllers.
- and calibrate.