RO2 Controller Support

From Tripwire Interactive Wiki
Jump to navigation Jump to search

While controllers are not officially support (future support is a possibility), players are able to enable the feature by manually adding controls to their ROInput.ini file.

Setting Up Controls

Players will need to navigate to:

C:\Users\UserName\Documents\my games\RedOrchestra2\ROGame\Config

Once there, they must open up their ROinput.ini file. Next they will need to locate the [Engine.PlayerInput] subsection of the config document. By default it is at the top of the document and looks like this:

[Engine.PlayerInput]
MoveForwardSpeed=1200
MoveStrafeSpeed=1200
LookRightScale=300
LookUpScale=-250
MouseSensitivity=18.0
DoubleClickTime=0.250000
Bindings=(Name="Fire",Command="Button bFire | StartFire | OnRelease StopFire")
Bindings=(Name="AltFire",Command="StartAltFire | OnRelease StopAltFire")
Bindings=(Name="MoveForward",Command="Axis aBaseY Speed=1.0")
Bindings=(Name="MoveBackward",Command="Axis aBaseY Speed=-1.0")
Bindings=(Name="StrafeLeft",Command="Axis aStrafe Speed=-1.0")
Bindings=(Name="StrafeRight",Command="Axis aStrafe Speed=+1.0")
Bindings=(Name="TurnLeft",Command="Axis aBaseX Speed=-200.0 AbsoluteAxis=100")
Bindings=(Name="TurnRight",Command="Axis aBaseX  Speed=+200.0 AbsoluteAxis=100")
Bindings=(Name="Jump",Command="Jump | Axis aUp Speed=+1.0 AbsoluteAxis=100 | onrelease cancelmatinee")
Bindings=(Name="Duck",Command="Button bDuck | Axis aUp Speed=-1.0  AbsoluteAxis=100")
Bindings=(Name="Look",Command="Button bLook")
Bindings=(Name="LookToggle",Command="Toggle bLook")
Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=100")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=100")
Bindings=(Name="CenterView",Command="Button bSnapLevel")
Bindings=(Name="Walking",Command="Button bRun")
Bindings=(Name="Strafe",Command="Button bStrafe")
Bindings=(Name="ViewTeam",Command="ViewClass Pawn")
Bindings=(Name="TurnToNearest",Command="Button bTurnToNearest")
Bindings=(Name="Turn180",Command="Button bTurn180")
Bindings=(Name="W",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="A",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")
Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY")
Bindings=(Name="LeftMouseButton",Command="Fire")
Bindings=(Name="Escape",Command="CloseEditorViewport | onrelease ShowMenu")
Bindings=(Name="Up",Command="MoveForward")
Bindings=(Name="Down",Command="MoveBackward")
Bindings=(Name="Left",Command="StrafeLeft")
Bindings=(Name="Right",Command="StrafeRight")
Bindings=(Name="---",Command="TurnLeft")
Bindings=(Name="---",Command="TurnRight")
Bindings=(Name="F9",Command="shot")
Bindings=(Name="Delete",Command="Camera Default")
Bindings=(Name="End",Command="Camera FirstPerson")
Bindings=(Name="PageDown",Command="Camera ThirdPerson")
Bindings=(Name="PageUp",Command="Camera Fixed")
Bindings=(Name="Home",Command="Camera FixedTracking")
Bindings=(Name="Insert",Command="Camera FreeCam")
Bindings=(Name="Interact",Command="Use")
Bindings=(Name="LeftControl",Command="Interact")
Bindings=(Name="UseKey",Command="UseBasic")
Bindings=(Name="---",Command="UseKey")
Bindings=(Name="Bandage",Command="UseBandage")
Bindings=(Name="---",Command="Bandage")
Bindings=(Name="Cover_Toggle",Command="ToggleCover")
Bindings=(Name="---",Command="Cover_Toggle")
Bindings=(Name="Cover_Hold",Command="StartCover | OnRelease StopCover")
Bindings=(Name="---",Command="Cover_Hold")
Bindings=(Name="Pause",Command="Pause")
Bindings=(Name="Prev_Weapon",Command="PrevWeapon")
Bindings=(Name="Next_Weapon",Command="NextWeapon")
Bindings=(Name="Quick_Save",Command="QuickSave")
Bindings=(Name="Quick_Load",Command="QuickLoad")
Bindings=(Name="Ironsights",Command="Ironsights | onrelease Toss",Control=False,Shift=False,Alt=False)
Bindings=(Name="Ironsights_Hold",Command="StartIronsights | OnRelease StopIronsights | OnRelease Toss",Control=False,Shift=False,Alt=False)
Bindings=(Name="---",Command="Ironsights_Hold")
Bindings=(Name="RightMouseButton",Command="Ironsights")
Bindings=(Name="Sprint",Command="button bSprint")
Bindings=(Name="LeftShift",Command="Sprint")
Bindings=(Name="Crouch_Toggle",Command="ToggleCrouch | Button bDuckHeld")
Bindings=(Name="C",Command="Crouch_Toggle")
Bindings=(Name="Crouch_Hold",Command="Crouch | OnRelease UnCrouch | Button bDuckHeld")
Bindings=(Name="---",Command="Crouch_Hold")
Bindings=(Name="Prone_Toggle",Command="ToggleProne")
Bindings=(Name="LeftAlt",Command="Prone_Toggle")
Bindings=(Name="Prone_Hold",Command="Prone | OnRelease UnProne")
Bindings=(Name="---",Command="Prone_Hold")
Bindings=(Name="Team_Select",Command="ShowTeamSelect")
Bindings=(Name="Comma",Command="Team_Select")
Bindings=(Name="Role_Select",Command="ShowRoleSelect")
Bindings=(Name="Period",Command="Role_Select")
Bindings=(Name="Toggl_Scoreboard",Command="ToggleScoreboard")
Bindings=(Name="F1",Command="Toggl_Scoreboard")
Bindings=(Name="Show_Scoreboard",Command="ShowScoreboard | OnRelease HideScoreboard");
Bindings=(Name="Tab",Command="Show_Scoreboard")
Bindings=(Name="Communication",Command="ShowCommunicationWidget | OnRelease HideCommunicationWidget")
Bindings=(Name="V",Command="Communication")
Bindings=(Name="Orders_Widget",Command="Show3DWidget | OnRelease Hide3DWidget")
Bindings=(Name="F",Command="Orders_Widget")
Bindings=(Name="Orders",Command="ShowOrdersWidget | OnRelease HideOrdersWidget")
Bindings=(Name="B",Command="Orders")
Bindings=(Name="Next_Unit",Command="SelectNextUnit")
Bindings=(Name="F2",Command="Next_Unit")
Bindings=(Name="Confirm",Command="ConfirmOrder | ConfirmKickVote | ConfirmRoleVote")
Bindings=(Name="F4",Command="Confirm")
Bindings=(Name="Deny",Command="DenyOrder | DenyKickVote | DenyRoleVote")
Bindings=(Name="F5",Command="Deny")
Bindings=(Name="Chat",Command="OnRelease StartSay")
Bindings=(Name="Y",Command="Chat")
Bindings=(Name="Team_Chat",Command="OnRelease StartTeamSay")
Bindings=(Name="U",Command="Team_Chat")
Bindings=(Name="Squad_Chat",Command="OnRelease StartSquadSay")
Bindings=(Name="I",Command="Squad_Chat")
Bindings=(Name="Drop_Weapon",Command="ThrowWeapon")
Bindings=(Name="BackSpace",Command="Drop_Weapon")
Bindings=(Name="Toggl_Map",Command="ShowOverheadMap")
Bindings=(Name="M",Command="Toggl_Map")
Bindings=(Name="Force_Respawn",Command="ForceReinforcement")
Bindings=(Name="N",Command="Force_Respawn")
Bindings=(Name="Lean_Right",Command="LeanRight | OnRelease LeanRightReleased")
Bindings=(Name="E",Command="Lean_Right")
Bindings=(Name="Lean_Left",Command="LeanLeft | OnRelease LeanLeftReleased")
Bindings=(Name="Q",Command="Lean_Left")
Bindings=(Name="Scuttle",Command="ScuttleTank")
Bindings=(Name="K",Command="Scuttle")
Bindings=(Name="Throw_Grenade",Command="Button bGrenade | StartQuickGrenade | OnRelease StopQuickGrenade")
Bindings=(Name="G",Command="Throw_Grenade")
Bindings=(Name="F12",Command="ShowMyScore")
Bindings=(Name="MiddleMouseButton",Command="AltFire",Control=False,Shift=False,Alt=False)
Bindings=(Name="Give_Reload_Command",Command="Button bReload | Reload | OnRelease ReloadUnPress")
Bindings=(Name="Give_Follow_Command",Command="Button bFollow | CommandFollow | OnRelease CommandFollowUnPress")
Bindings=(Name="X",Command="Give_Follow_Command",Control=False,Shift=False,Alt=False)
Bindings=(Name="R",Command="Give_Reload_Command",Control=False,Shift=False,Alt=False)
Bindings=(Name="Public_Voice_Chat",Command="StartVoiceChat | OnRelease StopVoiceChat")
Bindings=(Name="O",Command="Public_Voice_Chat")
Bindings=(Name="Team_Voice_Chat",Command="StartTeamVoiceChat | OnRelease StopVoiceChat")
Bindings=(Name="CapsLock",Command="Team_Voice_Chat")
Bindings=(Name="Squad_Voice_Chat",Command="StartSquadVoiceChat | OnRelease StopVoiceChat")
Bindings=(Name="P",Command="Squad_Voice_Chat")
Bindings=(Name="SpaceBar",Command="Jump")
Bindings=(Name="Toggl_Fire_Mode",Command="SwitchFireMode")
Bindings=(Name="six",Command="Toggl_Fire_Mode")
Bindings=(Name="MouseScrollUp",Command="Next_Weapon")
Bindings=(Name="MouseScrollDown",Command="Prev_Weapon")
Bindings=(Name="Tactical_Display",Command="ShowTacticalDisplay | onrelease HideTacticalDisplay")
Bindings=(Name="T",Command="Tactical_Display")
Bindings=(Name="Spot_Enemy",Command="Button bEnemySpotted | EnemySpotted | OnRelease EnemySpottedUnPress")
Bindings=(Name="Z",Command="Spot_Enemy")
Bindings=(Name="Switch_Weapon_1",Command="switchweapon 1")
Bindings=(Name="Switch_Weapon_2",Command="switchweapon 2")
Bindings=(Name="Switch_Weapon_3",Command="switchweapon 3")
Bindings=(Name="Switch_Weapon_4",Command="switchweapon 4")
Bindings=(Name="Switch_Weapon_5",Command="switchweapon 5")
Bindings=(Name="one",Command="Switch_Weapon_1")
Bindings=(Name="two",Command="Switch_Weapon_2")
Bindings=(Name="three",Command="Switch_Weapon_3")
Bindings=(Name="four",Command="Switch_Weapon_4")
Bindings=(Name="five",Command="Switch_Weapon_5")
Bindings=(Name="Reopen_Spawn_Select",Command="ReOpenSpawnSelect")
Bindings=(Name="Semicolon",Command="Reopen_Spawn_Select")
Bindings=(Name="ExclusiveFocus",Command="Button bExclusiveFocus")
Bindings=(Name="H",Command="ExclusiveFocus")
bEnableMouseSmoothing=false
bInvertMouse=false

Once they have located the end of this section, they will need to add the following additional lines:

Bindings=(Name="XboxTypeS_Y",Command="Interact")
Bindings=(Name="XboxTypeS_A",Command="Jump")
Bindings=(Name="XboxTypeS_X",Command="Give_Reload_Command")
Bindings=(Name="XboxTypeS_B",Command="Crouch_Toggle")
Bindings=(Name="XboxTypeS_LeftTrigger",Command="Ironsights_Hold")
Bindings=(Name="XboxTypeS_LeftShoulder",Command="Tactical_Display")
Bindings=(Name="XboxTypeS_RightTrigger",Command="Fire")
Bindings=(Name="XboxTypeS_RightShoulder",Command="Throw_Grenade")
Bindings=(Name="XboxTypeS_DPad_Left",Command="Prev_Weapon")
Bindings=(Name="XboxTypeS_DPad_Right",Command="Next_Weapon")
Bindings=(Name="XboxTypeS_DPad_Down",Command="Prone_Toggle")
Bindings=(Name="XboxTypeS_DPad_Up",Command="Toggl_Fire_Mode")
Bindings=(Name="XboxTypeS_LeftX",Command="Axis aStrafe Speed=1.0 DeadZone=0.4")
Bindings=(Name="XboxTypeS_LeftY",Command="Axis aBaseY Speed=1.0 DeadZone=0.4")
Bindings=(Name="XboxTypeS_RightX",Command="Axis aTurn Speed=1.0 DeadZone=0.1")
Bindings=(Name="XboxTypeS_RightY",Command="Axis aLookup Speed=1.0 DeadZone=0.1")
Bindings=(Name="XboxTypeS_LeftThumbStick",Command="Sprint")
Bindings=(Name="XboxTypeS_RightThumbStick",Command="AltFire")
Bindings=(Name="XboxTypeS_Back",Command="ToggleScoreboard")
Bindings=(Name="XboxTypeS_Start",Command="OnRelease ShowMenu")

Known Issues

Disable Controller Rumble

By default the Unreal Engine has rumble support enabled by default with no option to turn it off. Players with a controller plugged in that do not want this on need to add the following line to the "Set Launch Options" box within Steam for Red Orchestra 2.

-NOFORCEFEEDBACK

To set this, players need to right click on RO 2 within steam, and go to properties. On the first tab (named General), there is a selectable button with the name "Set Launch Options". Clicking on this button will provide players with a text box to add launch options.