You are on page 1of 5

Keybinding Basics

The easiest most efficient way to keybind is to setup an external file that can run all your binds at one time. This ensures that you will be able to retrieve y our binds after an update. To get started. Create a simple .txt file. Save this file in AA:PG binaries folder and name it whatever. For example "myBinds.txt" Common Directory Location: C:\Program Files\Steam\steamapps\common\America's Army\AAPG\Binaries C:\Program Files (x86)\Steam\SteamApps\common\America's Army\AAPG\Binaries The syntax to add a keybind in this file (and in-game) is... setbind "KEY" "COMMAND" Execute this file in-game using the following command in your console. "exec myBinds.txt"

So, say that you normally have F for "use" and 2 for "grenade" in every other ga me but now AA:PG has F as throw a grenade. You could remedy it like by adding th e following two lines to your myBinds.txt setbind "f" "GBA_Use" setbind "2" "GBA_Grenade2"

As a second basic example I will show you how to bind the arrow keys to the same as your w,a,s,d keys. Setbind "Up" "GBA_MoveForward" Setbind "Down" "GBA_Backward" Setbind "Left" "GBA_StrafeLeft" Setbind "Right" "GBA_StrafeRight"

That is the basic idea. A single file that executes ALMOST every command/bind yo u use. It takes a bit of time to setup in the beginning, but after that it's pre tty much smooth sailing for the rest of your AA gaming experience. I've made a d efault .txt file that has all the default binds added so you can easily re-arran ge and keep track of your bindings. Code: Below is the myBinds.txt.... ;Save this as a .txt file and put it in your AAPG binaries folder. ;Then use "exec filename.txt" to run the file ;<---Remove the semicolon to activate bind. ;A-Z ;setbind "a" "GBA_StrafeLeft" ;setbind "b" "GBA_VoiceChat" ;setbind "c" "GBA_Crouch" ;setbind "d" "GBA_StrafeRight" ;setbind "e" "GBA_Use" ;setbind "f" "GBA_Grenade2" ;setbind "g" "GBA_Grenade1" ;setbind "h" ""

;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;Numbers ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;Numpad ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;F1-F12 ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind

"i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "z"

"" "" "" "GBA_StaunchBleeding" "" "" "" "" "GBA_SpotEnemy" "GBA_Reload" "GBA_Backward" "GBA_TeamChat" "" "GBA_TeamVoiceChat" "GBA_MoveForward" "GBA_Prone" "GBA_Chat" "GBA_Anchor" ;Shift False "GBA_ShowHUD" ;Alt True

"ONE" "GBA_NextWeapon | SpectatorModeOne" "TWO" "SpectatorModeTwo" "THREE" "SpectatorModeThree" "FOUR" "SpectatorModeFour" "FIVE" "" "SIX" "" "SEVEN" "" "EIGHT" "" "NINE" "" "ZERO" "" "Underscore" "" "Equals" "" "NumLock" ;(Leave blank) "NumPadONE" "" "NumPadTWO" "" "NumPadTHREE" "" "NumPadFOUR" "overpressure 0.5" "NumPadFIVE" "crack" "NumPadSIX" "stun 0.5" "NumPadSEVEN" "UseNormalGrenadeInSlot ASlot_Grenade1" "NumPadEIGHT" "UseNormalGrenadeInSlot ASlot_Grenade2" "NumPadNINE" "PressingCheatButton" "NumPadZERO" "" "Divide" "" "Multiply" "" "Subtract" "" "Add" "" "Delete" ""

"F1" "F2" "F3" "F5" "F6" "F7"

"OnRelease OnShowDeployMenu" "" "" "" "" ""

;setbind ;setbind ;setbind ;setbind ;setbind ;Arrows ;setbind ;setbind ;setbind ;setbind

"F8" "" "F9" "" "F10" "" "F11" "" "F12" "" "Up" "GBA_MoveForward" "Down" "GBA_Backward" "Left" "GBA_StrafeLeft" "Right" "GBA_StrafeRight"

;Modifier's (SHIFT, ALT, CTRL Note: This does NOT overide modifiers placed in BaseInput.ini) ;setbind "leftshift" "GBA_Run" ;setbind "rightshift" "" ;setbind "leftcontrol" "GBA_Melee" ;setbind "rightcontrol" "" ;setbind "leftalt" "GBA_Run_Alt" ;setbind "rightalt" "" ;Others. ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;Mouse ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind ;setbind "Enter" "GBA_ReopenChat" "ScrollLock" "" "CapsLocK" "" "Tab" "GBA_Scoreboard" "SpaceBar" "GBA_Jump" "BackSpace" "GBA_DropObjective" "Comma" "GBA_Vote1" "Period" "GBA_Vote2" "Slash" "" "semicolon" "" "Quote" "" "LeftbBacket" "" "RightBracket" "" "BackSlash" "Insert" "" "Delete" "" "Home" "" "End" "" "PageUp" "" "PageDown" "" "Pause" "" "Escape" "OnRelease OnShowPauseMenu" "RightMouseButton" "GBA_Sight" "LeftMouseButton" "GBA_Fire" "MiddleMouseButton" "GBA_ChangeFireMode" "MouseScrollUp" "GBA_ScrollUp" "MouseScrollDown" "GBA_ScrollDown" "ThumbMouseButton" "" "ThumbMouseButton2" ""

Notes: 1. To combine multiple commands use the verticle separator --> | setbind "LeftMouseButton" "GBA_Fire | GBA_SpotEnemy"

2. To add one command when pushed down, then another when release use the OnRele ase command setbind "KEY" "SetSensitivity 5 | Onrelease SetSensitivity 15" 3. Use the semicolon to comment/skip a line ;Setbind "Key" "This bind will be skipped" 4. Capitalization does not matter. ________________________________________________________________________________ __ Editing Game Files There are some advantages to editing keybinds via game files, but unless done co rrectly you may run into issues. There are several "input" files that interact w ith each other and changing one wrong line may effect your game in unexpected wa ys. Point being... ALWAYS KEEP A BACKUP OF YOUR FILES!!! The file I found best to control keybinds is... C:\ProgramFiles\Steam\steamapps\common\America'sArmy\AAPG\AAGame\Config\DefaultI nput.ini

From my testing this is the file that the controls what your AAInput.ini sees as "Default". I'm not yet sure what exactly the BaseInput.ini file is there for, b ut it has no effect on the game IMO. The ONLY other input file that actually eff ects a users input is AAInput.ini (In the My Documents folder). But this file ap parently depends on other files and will reset periodically. So stick with the D efaultInput.ini. And also stick to using the external .txt file approach above f or everything except creating aliases.

What are these aliases you speak of? If you look closely at your DefaultInput.in i file you can actually break it into three sections. -Bindings= (Removed Keyboard/Mouse Bindings) .Bindings= (Game Bindable Actions - Aliases for use with things like UI) +Bindings= (New Keyboard/Mouse Bindings)

If you've already set your keybind's in an external file (recommended) the only section you really need to look at is the .Bindings Notice every "alias" starts with GBA. Let's dissect the alias GBA_Fire... .Bindings=(Name="GBA_Fire",Command="StartFire | OnRelease StopFire") The "GBA_Fire" executes the command "StartFire" when pressed then "Onrelease Sto pFire" the when button is released. This command is easily keybound using... setbind "KEY" "GBA_Fire"

But say you want to add a report enemy command to this alias. (Which would be ad ded to your fire button automatically) You would simply format the command to th e alias in your DefaultInput.ini .Bindings=(Name="GBA_Fire",Command="GBA_SpotEnemy | StartFire | OnRelease StopFi re")

Or even better yet. Let's create our own alias. The following alias will lower t he sensitivity when the button is held (while holding breath). But then when but ton is released everything returns to normal. In your DefaultInput.ini file crea te the following line in the .Bindings section. Notice how I name the alias "Sen siBind"? .Bindings=(Name="GBA_SensiBind",Command="SetSensitivity 5 | Onrelease SetSensiti vity 20 | Jump | OnRelease StopHoldBreath") Then you can easily bind this alias to a key using... setbind "KEY" "GBA_SensiBind" I call them aliases, but they could be better described as predefined actions se t to a single command. This is usually done by the developers, but you can actua lly define your own as well.

Now, the above binds can easily be done by the myBinds.txt file so it's not real ly practical to use. But what you can do is add key modifiers. For example, say you want your LeftMouseButton to fire normally. But if you hold LeftControl it d oes something else. Find the LeftMouseButton bind. Make sure it's the line that starts with a plus sign. The change would look like the following. +Bindings=(Name="LeftMouseButton",Command="GBA_Fire",Control=False,bIgnoreCtrl=T rue) +Bindings=(Name="LeftMouseButton",Command="COMMAND",Control=True,bIgnoreCtrl=Fal se) Notice both lines need to have the TRUE/FALSE statements. Also notice each butto n has a bIgnoreCtrl= command. This is new AFAIK and I'm really glad it was added . In the past there were conflicts with key modifiers, this ensures there is non e. The following are the key modifiers you can apply. Control= Shift= Alt= bIgnoreCtrl= bIgnoreShift= bIgnoreAlt= This should get you started in editing your keys to fit your personal preference s. If this is too confusing please let me know. Enjoy :)