Keybindings file?

Why can’t we backup and manage our keybindings by ourselves, why does it have to be saved in the cloud?

Just let us edit a config file so we can easily make backups.

Cloud storage has many benefits, but when there are so many configurations for every single hero, doing it by a config file rather than the slow GUI would be much better.

5 Likes

Giving players options is always a great idea.

2 Likes

If you want to edit bindings via file you must learn how the game engine names things like commands.

Not all of them is Left, Right, Up, Down, Ect.
When it comes to keybind names.

I have seen different names for the same key.
Ralt, R Alt, Num Alt, Gray Alt, ect.
You need to know the correct key name for the correct bind.

With overwatch allowing you to adjust binding for each hero as well as a global setting will not make editing a text file easy by any means.

Here is the keybind file for borderlands 2
Not really easy when you see the scale of it.

[Engine.PlayerInput]
MoveForwardSpeed=1200
MoveStrafeSpeed=1200
LookRightScale=300
LookUpScale=-250
MouseSensitivity=60.0
DoubleClickTime=0.250000
bEnableMouseSmoothing=true
Bindings=(Name="Pause",Command="Pause")
Bindings=(Name="F9",Command="shot")
Bindings=(Name="Comma",Command="BugIt")

[Engine.DebugCameraInput]
Bindings=(Name="MoveUp",Command="Axis aUp Speed=1.0")
Bindings=(Name="MoveDown",Command="Axis aUp Speed=-1.0")
Bindings=(Name="MoveForward",Command="Axis aBaseY Speed=1.0")
Bindings=(Name="MoveBackward",Command="Axis aBaseY 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="StrafeLeft",Command="Axis aStrafe Speed=-1.0")
Bindings=(Name="StrafeRight",Command="Axis aStrafe Speed=+1.0")
Bindings=(Name="Q",Command="MoveDown")
Bindings=(Name="E",Command="MoveUp")
Bindings=(Name="W",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="A",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")
Bindings=(Name="F",Command="FreezeRendering")
Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY")
Bindings=(Name="Left",Command="TurnLeft")
Bindings=(Name="Right",Command="TurnRight")
Bindings=(Name="c",Command="ToggleDebugCamera",Control=False,Shift=False,Alt=True)
Bindings=(Name="LeftShift",Command="MoreSpeed | OnRelease NormalSpeed",Control=False,Shift=False,Alt=False)
Bindings=(Name="XboxTypeS_LeftThumbstick",Command="ToggleDebugCamera")
Bindings=(Name="XboxTypeS_LeftX",Command="Axis aStrafe Speed=1.0 DeadZone=0.3")
Bindings=(Name="XboxTypeS_LeftY",Command="Axis aBaseY Speed=1.0 DeadZone=0.3")
Bindings=(Name="XboxTypeS_RightX",Command="Axis aTurn Speed=1.0 DeadZone=0.2")
Bindings=(Name="XboxTypeS_RightY",Command="Axis aLookup Speed=0.8 DeadZone=0.2")
Bindings=(Name="XboxTypeS_LeftTrigger",Command="MoveDown")
Bindings=(Name="XboxTypeS_RightTrigger",Command="MoveUp")
Bindings=(Name="XboxTypeS_A",Command="SetFreezeRendering")
Bindings=(Name="XboxTypeS_B",Command="MoreSpeed | OnRelease NormalSpeed")

[UnrealEd.EditorViewportInput]
Bindings=(Command="MODE WIDGETMODECYCLE",Name=SpaceBar)
Bindings=(Command="MODE WIDGETCOORDSYSTEMCYCLE",Name=Tilde)
Bindings=(Command="DELETE",Name=Delete)
Bindings=(Command="SELECT BUILDERBRUSH",Name=F2)
Bindings=(Command="EDCALLBACK SELECTEDPROPS",Name=F4)
Bindings=(Command="QUIT_EDITOR",Name=F4,Alt=True)
Bindings=(Command="EDCALLBACK SURFPROPS",Name=F5)
Bindings=(Command="EDCALLBACK LEVELPROPS",Name=F6)
Bindings=(Command="ACTOR SELECT ALL",Name=A,Shift=True)
Bindings=(Command="POLY SELECT MATCHING BRUSH",Name=B,Shift=True)
Bindings=(Command="POLY SELECT ADJACENT COPLANARS",Name=C,Shift=True)
Bindings=(Command="DUPLICATE",Name=D,Shift=True)
Bindings=(Command="ACTOR SELECT MATCHINGSTATICMESH",Name=E,Shift=True,Control=False)
Bindings=(Command="ACTOR SELECT MATCHINGSTATICMESHANDSCALE",Name=E,Shift=True,Control=True)
Bindings=(Command="POLY SELECT ADJACENT FLOORS",Name=F,Shift=True)
Bindings=(Command="EDCALLBACK FITTEXTURETOSURFACE",Name=F,Control=True,Shift=True)
Bindings=(Command="POLY SELECT MATCHING GROUPS",Name=G,Shift=True)
Bindings=(Command="POLY SELECT MATCHING ITEMS",Name=I,Shift=True)
Bindings=(Command="POLY SELECT ADJACENT ALL",Name=J,Shift=True)
Bindings=(Command="POLY SELECT MEMORY SET",Name=M,Shift=True)
Bindings=(Command="ACTOR LEVELCURRENT",Name=M)
Bindings=(Command="ACTOR MOVETOCURRENT",Name=M,Control=True)
Bindings=(Command="SELECT NONE",Name=N,Shift=True)
Bindings=(Command="POLY SELECT MEMORY INTERSECT",Name=O,Shift=True)
Bindings=(Command="POLY SELECT REVERSE",Name=Q,Shift=True)
Bindings=(Command="POLY SELECT MEMORY RECALL",Name=R,Shift=True)
Bindings=(Command="POLY SELECT ALL",Name=S,Shift=True)
Bindings=(Command="POLY SELECT MATCHING TEXTURE",Name=T,Shift=True)
Bindings=(Command="POLY SELECT MEMORY UNION",Name=U,Shift=True)
Bindings=(Command="POLY SELECT ADJACENT WALLS",Name=W,Shift=True)
Bindings=(Command="POLY SELECT MEMORY XOR",Name=X,Shift=True)
Bindings=(Command="POLY SELECT ADJACENT SLANTS",Name=Y,Shift=True)
Bindings=(Command="ACTOR SELECT MATCHINGSTATICMESH ALLCLASSES",Name=Z,Shift=True)
Bindings=(Command="EDIT COPY",Name=C,Control=True)
Bindings=(Command="EDIT PASTE",Name=V,Control=True)
Bindings=(Command="DUPLICATE",Name=W,Control=True)
Bindings=(Command="EDIT CUT",Name=X,Control=True)
Bindings=(Command="TRANSACTION REDO",Name=Y,Control=True)
Bindings=(Command="TRANSACTION UNDO",Name=Z,Control=True)
Bindings=(Command="BRUSH ADD",Name=A,Control=True)
Bindings=(Command="BRUSH SUBTRACT",Name=S,Control=True)
Bindings=(Command="BRUSH FROM INTERSECTION",Name=I,Control=True)
Bindings=(Command="BRUSH FROM DEINTERSECTION",Name=D,Control=True)
Bindings=(Command="PREFAB SELECTACTORSINPREFABS",Name=P,Shift=True)
Bindings=(Command="ACTOR ALIGN SNAPTOFLOOR ALIGN=0",Name=End)
Bindings=(Command="ACTOR ALIGN MOVETOGRID",Name=End,Control=True)
Bindings=(Command="CAMERA ALIGN",Name=Home)
Bindings=(Command="CAMERA ALIGN ACTIVEVIEWPORTONLY",Name=Home,Shift=True)
Bindings=(Command="MAP BRUSH GET",Name=P,Control=True)
Bindings=(Command="ACTOR FIND KISMET",Name=K,Control=True)
Bindings=(Command="ACTOR SELECT ALL FROMOBJ",Name=A,Control=True,Shift=True)
Bindings=(Command="ACTOR SYNCBROWSER",Name=B,Control=True)
Bindings=(Command="ACTOR SYNCBROWSERMATERIAL",Name=B,Control=True,Shift=True)
Bindings=(Command="ACTOR DESELECT",Name=Escape)
Bindings=(Command="CTRLTAB SHIFTDOWN=FALSE",Name=Tab,Control=True)
Bindings=(Command="CTRLTAB SHIFTDOWN=TRUE",Name=Tab,Control=True,Shift=True)
Bindings=(Command="ACTOR LINKSELECTED",Name=L,Control=True,Shift=True)
Bindings=(Command="ACTOR UNLINKSELECTED",Name=U,Control=True,Shift=True)
Bindings=(Command="BUILDLIGHTING",Name=Semicolon,Control=True,Shift=True)
Bindings=(Command="RECOMPILESHADERS CHANGED",Name=Period,Control=True,Shift=True)
Bindings=(Command="ACTOR ATTACH",Name=B,Alt=True)
Bindings=(Command="ACTOR ADDTOATTACHEDITOR",Name=A,Alt=True)
Bindings=(Command="PARTICLE RESET SELECTED",Name=Slash)
Bindings=(Command="PARTICLE RESET ALL",Name=Slash,Shift=True)
Bindings=(Command="ACTOR RESETROTATION",Name=Home,Control=True)
Bindings=(Command="MODE GRIDTOGGLE",Name=G,Alt=True)
Bindings=(Command="MODE ROTGRIDTOGGLE",Name=V,Alt=True)
Bindings=(Command="EDCALLBACK OPENEDITOR",Name=F5)
Bindings=(Command="ACTOR SYNCBROWSER", Name=F3)
Bindings=(Command="EDCALLBACK PROPERTYCOORDINATOR", Name=F6)

[UnrealEd.ObjectEditorViewportInput]
Bindings=(Command="TRANSACTION REDO",Name=Y,Control=True)
Bindings=(Command="TRANSACTION REDO",Name=Z,Control=True,Shift=True)
Bindings=(Command="TRANSACTION UNDO",Name=Z,Control=True)

[Engine.Console]
ConsoleKey=Undefine
TypeKey=Undefine
MaxScrollbackSize=1024
HistoryBot=-1
ManualAutoCompleteList=(Command="Exit",Desc="Exit (Exits the game)")
ManualAutoCompleteList=(Command="DebugCreatePlayer 1",Desc="")
ManualAutoCompleteList=(Command="FreezeAt",Desc="Locks the player view and rendering time.")
ManualAutoCompleteList=(Command="SSSwapControllers",Desc="")
ManualAutoCompleteList=(Command="Open",Desc="Open <MapName> (Opens the specified map)")
ManualAutoCompleteList=(Command="DisplayAll",Desc="DisplayAll <ClassName> <PropertyName> (Display property values for instances of classname)")
ManualAutoCompleteList=(Command="DisplayAllState",Desc="DisplayAllState <ClassName> (Display state names for all instances of classname)")
ManualAutoCompleteList=(Command="DisplayClear",Desc="DisplayClear (Clears previous DisplayAll entries)")
ManualAutoCompleteList=(Command="FlushPersistentDebugLines",Desc="FlushPersistentDebugLines (Clears persistent debug line cache)")
ManualAutoCompleteList=(Command="GetAll ",Desc="GetAll <ClassName> <PropertyName> <Name=ObjectInstanceName> <OUTER=ObjectInstanceName> <SHOWDEFAULTS> <SHOWPENDINGKILLS> <DETAILED> (Log property values of all instances of classname)")
ManualAutoCompleteList=(Command="GetAllState",Desc="GetAllState <ClassName> (Log state names for all instances of classname)")
ManualAutoCompleteList=(Command="Obj List ",Desc="Obj List <Class=ClassName> <Type=MetaClass> <Outer=OuterObject> <Package=InsidePackage> <Inside=InsideObject>")
ManualAutoCompleteList=(Command="Obj ListContentRefs",Desc="Obj ListContentRefs <Class=ClassName> <ListClass=ClassName>")
ManualAutoCompleteList=(Command="Obj Classes",Desc="Obj Classes (Shows all classes)")
ManualAutoCompleteList=(Command="Obj Refs",Desc="Name=<ObjectName> Class=<OptionalObjectClass> Lists referencers of the specified object")
ManualAutoCompleteList=(Command="EditActor",Desc="EditActor <Class=ClassName> or <Name=ObjectName> or TRACE")
ManualAutoCompleteList=(Command="EditDefault",Desc="EditDefault <Class=ClassName>")
ManualAutoCompleteList=(Command="EditObject",Desc="EditObject <Class=ClassName> or <Name=ObjectName> or <ObjectName>")
ManualAutoCompleteList=(Command="ReloadCfg ",Desc="ReloadCfg <Class/ObjectName> (Reloads config variables for the specified object/class)")
ManualAutoCompleteList=(Command="ReloadLoc ",Desc="ReloadLoc <Class/ObjectName> (Reloads localized variables for the specified object/class)")
ManualAutoCompleteList=(Command="Set ",Desc="Set <ClassName> <PropertyName> <Value> (Sets property to value on objectname)")
ManualAutoCompleteList=(Command="Show BOUNDS",Desc="Show BOUNDS (Displays bounding boxes for all visible objects)")
ManualAutoCompleteList=(Command="Show BSP",Desc="Show BSP (Toggles BSP rendering)")
ManualAutoCompleteList=(Command="Show COLLISION",Desc="Show COLLISION (Toggles collision rendering)")
ManualAutoCompleteList=(Command="Show COVER",Desc="Show COVER (Toggles cover rendering)")
ManualAutoCompleteList=(Command="Show DECALS",Desc="Show DECALS (Toggles decal rendering)")
ManualAutoCompleteList=(Command="Show FOG",Desc="Show FOG (Toggles fog rendering)")
ManualAutoCompleteList=(Command="Show LEVELCOLORATION",Desc="Show LEVELCOLORATION (Toggles per-level coloration)")
ManualAutoCompleteList=(Command="Show PATHS",Desc="Show PATHS (Toggles path rendering)")
ManualAutoCompleteList=(Command="Show POSTPROCESS",Desc="Show POSTPROCESS (Toggles post process rendering)")
ManualAutoCompleteList=(Command="Show SKELMESHES",Desc="Show SKELMESHES (Toggles skeletal mesh rendering)")
ManualAutoCompleteList=(Command="Show TERRAIN",Desc="Show TERRAIN (Toggles terrain rendering)")
ManualAutoCompleteList=(Command="Show VOLUMES",Desc="Show VOLUMES (Toggles volume rendering)")
ManualAutoCompleteList=(Command="Show SPLINES",Desc="Show SPLINES (Toggles spline rendering)")
ManualAutoCompleteList=(Command="Stat FPS",Desc="Stat FPS (Shows FPS counter)")
ManualAutoCompleteList=(Command="Stat UNIT",Desc="Stat UNIT (Shows hardware unit framerate)")
ManualAutoCompleteList=(Command="Stat LEVELS",Desc="Stat LEVELS (Displays level streaming info)")
ManualAutoCompleteList=(Command="Stat GAME",Desc="Stat GAME (Displays game performance stats)")
ManualAutoCompleteList=(Command="Stat MEMORY",Desc="Stat MEMORY (Displays memory stats)")
ManualAutoCompleteList=(Command="Stat XBOXMEMORY",Desc="Stat XBOXMEMORY (Displays Xbox memory stats while playing on PC)")
ManualAutoCompleteList=(Command="Stat PHYSICS",Desc="Stat PHYSICS (Displays physics performance stats)")
ManualAutoCompleteList=(Command="Stat STREAMING",Desc="Stat STREAMING (Displays basic texture streaming stats)")
ManualAutoCompleteList=(Command="Stat STREAMINGDETAILS",Desc="Stat STREAMINGDETAILS (Displays detailed texture streaming stats)")
ManualAutoCompleteList=(Command="Stat COLLISION",Desc="Stat COLLISION")
ManualAutoCompleteList=(Command="Stat PARTICLES",Desc="Stat PARTICLES")
ManualAutoCompleteList=(Command="Stat SCRIPT",Desc="Stat SCRIPT")
ManualAutoCompleteList=(Command="Stat AUDIO",Desc="Stat AUDIO")
ManualAutoCompleteList=(Command="Stat ANIM",Desc="Stat ANIM")
ManualAutoCompleteList=(Command="Stat NET",Desc="Stat NET")
ManualAutoCompleteList=(Command="Stat LIST",Desc="Stat LIST Groups/Sets/Group (List groups of stats, saved sets, or specific stats within a specified group)")
ManualAutoCompleteList=(Command="Stat splitscreen",Desc="")
ManualAutoCompleteList=(Command="Stat PhysicsGpuMem",Desc="Stat PhysicsGpuMem (Displays physics GPU memory stats)")
ManualAutoCompleteList=(Command="ListTextures",Desc="ListTextures (Lists all loaded textures and their current memory footprint)")
ManualAutoCompleteList=(Command="ListUncachedStaticLightingInteractions",Desc="ListUncachedStaticLightingInteractions (Lists all uncached static lighting interactions, which causes Lighting needs to be rebuilt messages)")
ManualAutoCompleteList=(Command="RestartLevel",Desc="RestartLevel (restarts the level)")
ManualAutoCompleteList=(Command="ListSounds",Desc="ListSounds (Lists all the loaded sounds and their memory footprint)")
ManualAutoCompleteList=(Command="ListWaves",Desc="ListWaves (List the WaveInstances and whether they have a source)")
ManualAutoCompleteList=(Command="ListSoundClasses",Desc="ListSoundClasses (Lists a summary of loaded sound collated by class)")
ManualAutoCompleteList=(Command="ListSoundModes",Desc="ListSoundModes (Lists loaded sound modes)")
ManualAutoCompleteList=(Command="ListAudioComponents",Desc="ListAudioComponents (Dumps a detailed list of all AudioComponent objects)")
ManualAutoCompleteList=(Command="ListSoundDurations",Desc="ListSoundDurations")
ManualAutoCompleteList=(Command="PlaySoundCue",Desc="PlaySoundCue (Lists a summary of loaded sound collated by class)")
ManualAutoCompleteList=(Command="PlaySoundWave",Desc="PlaySoundWave")
ManualAutoCompleteList=(Command="SetSoundMode",Desc="SetSoundMode <ModeName>")
ManualAutoCompleteList=(Command="DisableLowPassFilter",Desc="DisableLowPassFilter")
ManualAutoCompleteList=(Command="DisableEQFilter",Desc="DisableEQFilter")
ManualAutoCompleteList=(Command="IsolateDryAudio",Desc="IsolateDryAudio")
ManualAutoCompleteList=(Command="IsolateReverb",Desc="IsolateReverb")
ManualAutoCompleteList=(Command="ResetSoundState",Desc="ResetSoundState (Resets volumes to default and removes test filters)")
ManualAutoCompleteList=(Command="ModifySoundClass",Desc="ModifySoundClass <SoundClassName> Vol=<new volume>")
ManualAutoCompleteList=(Command="DisableAllScreenMessages",Desc="Disables all on-screen warnings/messages")
ManualAutoCompleteList=(Command="EnableAllScreenMessages",Desc="Enables all on-screen warnings/messages")
ManualAutoCompleteList=(Command="ToggleAllScreenMessages",Desc="Toggles display state of all on-screen warnings/messages")
ManualAutoCompleteList=(Command="CaptureMode",Desc="Toggles display state of all on-screen warnings/messages")
ManualAutoCompleteList=(Command="ShowDebug NET",Desc="")
ManualAutoCompleteList=(Command="ShowDebug PHYSICS",Desc="")
ManualAutoCompleteList=(Command="ShowDebug COLLISION",Desc="")
ManualAutoCompleteList=(Command="ShowDebug AI",Desc="")
ManualAutoCompleteList=(Command="ShowDebug CAMERA",Desc="")
ManualAutoCompleteList=(Command="ShowDebug WEAPON",Desc="")
ManualAutoCompleteList=(Command="ShowDebug ANIMATION",Desc="")
ManualAutoCompleteList=(Command="ShowDebug INPUT",Desc="")
ManualAutoCompleteList=(Command="memleakcheck",Desc="")
ManualAutoCompleteList=(Command="togglehdwarning",Desc="")
ManualAutoCompleteList=(Command="STARTMOVIECAPTURE",Desc="STARTMOVIECAPTURE")
ManualAutoCompleteList=(Command="STOPMOVIECAPTURE",Desc="STOPMOVIECAPTURE")

[Engine.DebugCameraController]
PrimaryKey=LeftMouseButton
SecondaryKey=RightMouseButton
UnselectKey=Escape
bShowSelectedInfo=true

[Engine.UIDataStore_InputAlias]
InputAliases=(AliasName="Term_Controller",PlatformInputKeys[0]=(ButtonFontMarkupString="GAMEPAD"),PlatformInputKeys[1]=(ButtonFontMarkupString="GAMEPAD_360"),PlatformInputKeys[2]=(ButtonFontMarkupString="GAMEPAD_PS3"))
InputAliases=(AliasName="Term_GamerCard",PlatformInputKeys[0]=(ButtonFontMarkupString="X BUTTON"))
InputAliases=(AliasName="CycleLeft",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="XboxTypeS_LeftShoulder"),ButtonFontMarkupString="LEFT SHOULDER"))
InputAliases=(AliasName="CycleRight",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="XboxTypeS_RightShoulder"),ButtonFontMarkupString="RIGHT SHOULDER"))
InputAliases=(AliasName="AnyKey",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="*"),ButtonFontMarkupString="ANY KEY"))
InputAliases=(AliasName="Accept",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="Enter"),ButtonFontMarkupString="ACCEPT"))
InputAliases=(AliasName="Cancel",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="Escape"),ButtonFontMarkupString="CANCEL"))
InputAliases=(AliasName="Conditional1",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_X"),ButtonFontMarkupString="X BUTTON"))
InputAliases=(AliasName="Conditional2",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_Y"),ButtonFontMarkupString="Y BUTTON"))
InputAliases=(AliasName="Start",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_Start"),ButtonFontMarkupString="START"))
InputAliases=(AliasName="Back",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_Back"),ButtonFontMarkupString="BACK"))
InputAliases=(AliasName="ShiftUp",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="Subtract"),ButtonFontMarkupString="SUBTRACT"))
InputAliases=(AliasName="ShiftDown",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="Add"),ButtonFontMarkupString="ADD"))
InputAliases=(AliasName="ShiftUpPage",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="PageUp"),ButtonFontMarkupString="PAGEUP"))
InputAliases=(AliasName="ShiftDownPage",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="PageDown"),ButtonFontMarkupString="PAGEDOWN"))
InputAliases=(AliasName="Defaults",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_LeftTrigger"),ButtonFontMarkupString="LEFT TRIGGER"))
InputAliases=(AliasName="MouseLeft",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="LeftMouseButton"),ButtonFontMarkupString="LEFT MOUSE"))
InputAliases=(AliasName="MouseRight",PlatformInputKeys[0]=(InputKeyData=(InputKeyName="RightMouseButton"),ButtonFontMarkupString="RIGHT MOUSE"))
InputAliases=(AliasName="ClickLeft",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_LeftThumbstick"),ButtonFontMarkupString="CLICK LEFT STICK"))
InputAliases=(AliasName="ClickRight",PlatformInputKeys[1]=(InputKeyData=(InputKeyName="XboxTypeS_RightThumbstick"),ButtonFontMarkupString="CLICK RIGHT STICK"))

[GFxUI.KeyMap]
FullKeyboard=1
XboxTypeS_DPad_Left=Left
XboxTypeS_DPad_Right=Right
XboxTypeS_DPad_Up=Up
XboxTypeS_DPad_Down=Down
Gamepad_RightStick_Left=GAMEPAD_RS_Left
Gamepad_RightStick_Right=GAMEPAD_RS_Right
Gamepad_RightStick_Up=GAMEPAD_RS_Up
Gamepad_RightStick_Down=GAMEPAD_RS_Down
Gamepad_LeftStick_Left=Left
Gamepad_LeftStick_Right=Right
Gamepad_LeftStick_Up=Up
Gamepad_LeftStick_Down=Down
XboxTypeS_A=Enter
XboxTypeS_B=Escape
XboxTypes_X=E
XboxTypeS_Y=GAMEPAD_Y
XboxTypeS_LeftShoulder=Comma
XboxTypeS_LeftTrigger=PageUp
XboxTypeS_LeftThumbStick=GAMEPAD_L3
XboxTypeS_RightShoulder=Period
XboxTypeS_RightTrigger=PageDown
XboxTypeS_RightThumbStick=GAMEPAD_R3
XboxTypeS_Start=LeftControl
XboxTypeS_Back=Escape

[GFxUI.GamepadMouse]
X=None
Y=None

[Engine.WikiConsole]
MaxScrollbackSize=1024
HistoryBot=-1

[Configuration]

[WillowGame.WillowPlayerInput]
ButtonHoldEventTime=0.35
bAlwaysPlayForceFeedback=false
RunWalkTransitionThreshold=0.75
DebugBindOverrideKeyName=
bDebugBindCommandsEnabled=true

[Engine.UIInputConfiguration]
WidgetInputAliases=(WidgetClassName="Engine.UIScreenObject",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))),(InputAliasName="PrevControl",LinkedInputKeys=((InputKeyName="Tab",ModifierKeyFlags=28)))))))
WidgetInputAliases=(WidgetClassName="Engine.ConsoleEntry",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIObject",WidgetStates=((StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="ShowContextMenu",LinkedInputKeys=((InputKeyName="RightMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIButton",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="Enter"),(InputKeyName="SpaceBar"),(InputKeyName="XboxTypeS_A"))),(InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UICheckbox",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="Enter"),(InputKeyName="SpaceBar"),(InputKeyName="XboxTypeS_Start"),(InputKeyName="XboxTypeS_A"))),(InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIComboBox",WidgetStates=((StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton"))))),(StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIList",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="MoveSelectionUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="Gamepad_RightStick_Up"),(InputKeyName="MouseScrollUp"))),(InputAliasName="MoveSelectionDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="Gamepad_RightStick_Down"),(InputKeyName="MouseScrollDown"))),(InputAliasName="MoveSelectionLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="Gamepad_RightStick_Left"))),(InputAliasName="MoveSelectionRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="Gamepad_RightStick_Right"))),(InputAliasName="SelectFirstElement",LinkedInputKeys=((InputKeyName="Home"))),(InputAliasName="SelectLastElement",LinkedInputKeys=((InputKeyName="End"))),(InputAliasName="PageUp",LinkedInputKeys=((InputKeyName="PageUp"),(InputKeyName="XboxTypeS_LeftShoulder"),(InputKeyName="MouseScrollUp",ModifierKeyFlags=42))),(InputAliasName="PageDown",LinkedInputKeys=((InputKeyName="PageDown"),(InputKeyName="XboxTypeS_RightShoulder"),(InputKeyName="MouseScrollDown",ModifierKeyFlags=42))),(InputAliasName="SelectAllItems",LinkedInputKeys=((InputKeyName="A",ModifierKeyFlags=42))),(InputAliasName="SubmitListSelection",LinkedInputKeys=((InputKeyName="SpaceBar"),(InputKeyName="Enter"),(InputKeyName="XboxTypeS_A"),(InputKeyName="XboxTypeS_Start"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton",ModifierKeyFlags=24))),(InputAliasName="ResizeColumn",LinkedInputKeys=((InputKeyName="MouseX",ModifierKeyFlags=0),(InputKeyName="MouseY",ModifierKeyFlags=0)))))))
WidgetInputAliases=(WidgetClassName="Engine.UIContextMenu",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="HideContextMenu",LinkedInputKeys=((InputKeyName="Escape")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIEditBox",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="SubmitText",LinkedInputKeys=((InputKeyName="Enter"),(InputKeyName="XboxTypeS_Start"),(InputKeyName="XboxTypeS_A"))),(InputAliasName="DeleteCharacter",LinkedInputKeys=((InputKeyName="Delete"))),(InputAliasName="MoveCursorLeft",LinkedInputKeys=((InputKeyName="Left",ModifierKeyFlags=0))),(InputAliasName="MoveCursorRight",LinkedInputKeys=((InputKeyName="Right",ModifierKeyFlags=0))),(InputAliasName="MoveCursorToLineStart",LinkedInputKeys=((InputKeyName="Home",ModifierKeyFlags=0))),(InputAliasName="MoveCursorToLineEnd",LinkedInputKeys=((InputKeyName="End",ModifierKeyFlags=0))),(InputAliasName="BackSpace",LinkedInputKeys=((InputKeyName="BackSpace"),(InputKeyName="XboxTypeS_X"))),(InputAliasName="Char",LinkedInputKeys=((InputKeyName="A"),(InputKeyName="B"),(InputKeyName="C"),(InputKeyName="D"),(InputKeyName="E"),(InputKeyName="F"),(InputKeyName="G"),(InputKeyName="H"),(InputKeyName="I"),(InputKeyName="J"),(InputKeyName="K"),(InputKeyName="L"),(InputKeyName="M"),(InputKeyName="N"),(InputKeyName="O"),(InputKeyName="P"),(InputKeyName="Q"),(InputKeyName="R"),(InputKeyName="S"),(InputKeyName="T"),(InputKeyName="U"),(InputKeyName="V"),(InputKeyName="W"),(InputKeyName="X"),(InputKeyName="Y"),(InputKeyName="Z"),(InputKeyName="Zero"),(InputKeyName="One"),(InputKeyName="Two"),(InputKeyName="Three"),(InputKeyName="Four"),(InputKeyName="Five"),(InputKeyName="Six"),(InputKeyName="Seven"),(InputKeyName="Eight"),(InputKeyName="Nine"),(InputKeyName="NumPadZero"),(InputKeyName="NumPadOne"),(InputKeyName="NumPadTwo"),(InputKeyName="NumPadThree"),(InputKeyName="NumPadFour"),(InputKeyName="NumPadFive"),(InputKeyName="NumPadSix"),(InputKeyName="NumPadSeven"),(InputKeyName="NumPadEight"),(InputKeyName="NumPadNine"),(InputKeyName="Multiply"),(InputKeyName="Add"),(InputKeyName="Subtract"),(InputKeyName="Decimal"),(InputKeyName="Divide"),(InputKeyName="Semicolon"),(InputKeyName="Equals"),(InputKeyName="Comma"),(InputKeyName="Underscore"),(InputKeyName="Period"),(InputKeyName="Slash"),(InputKeyName="Tilde"),(InputKeyName="LeftBracket"),(InputKeyName="Backslash"),(InputKeyName="RightBracket"),(InputKeyName="Quote"),(InputKeyName="Character"))),(InputAliasName="Consume",LinkedInputKeys=((InputKeyName="LeftShift"),(InputKeyName="RightShift"),(InputKeyName="LeftControl"),(InputKeyName="RightControl"),(InputKeyName="LeftAlt"),(InputKeyName="RightAlt"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton"))))),(StateClassName="Engine.UIState_Pressed",StateInputAliases=((InputAliasName="MouseSelect",LinkedInputKeys=((InputKeyName="MouseX",ModifierKeyFlags=0)))))))
WidgetInputAliases=(WidgetClassName="Engine.UILabelButton",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="Enter"),(InputKeyName="SpaceBar"),(InputKeyName="XboxTypeS_A"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UINumericEditBox",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="SubmitText",LinkedInputKeys=((InputKeyName="Enter"),(InputKeyName="XboxTypeS_Start"),(InputKeyName="XboxTypeS_A"))),(InputAliasName="DeleteCharacter",LinkedInputKeys=((InputKeyName="Delete"))),(InputAliasName="MoveCursorLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="Gamepad_RightStick_Left"))),(InputAliasName="MoveCursorRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="Gamepad_RightStick_Right"))),(InputAliasName="MoveCursorToLineStart",LinkedInputKeys=((InputKeyName="Home"))),(InputAliasName="MoveCursorToLineEnd",LinkedInputKeys=((InputKeyName="End"))),(InputAliasName="BackSpace",LinkedInputKeys=((InputKeyName="BackSpace"),(InputKeyName="XboxTypeS_X"))),(InputAliasName="Char",LinkedInputKeys=((InputKeyName="A"),(InputKeyName="B"),(InputKeyName="C"),(InputKeyName="D"),(InputKeyName="E"),(InputKeyName="F"),(InputKeyName="G"),(InputKeyName="H"),(InputKeyName="I"),(InputKeyName="J"),(InputKeyName="K"),(InputKeyName="L"),(InputKeyName="M"),(InputKeyName="N"),(InputKeyName="O"),(InputKeyName="P"),(InputKeyName="Q"),(InputKeyName="R"),(InputKeyName="S"),(InputKeyName="T"),(InputKeyName="U"),(InputKeyName="V"),(InputKeyName="W"),(InputKeyName="X"),(InputKeyName="Y"),(InputKeyName="Z"),(InputKeyName="Zero"),(InputKeyName="One"),(InputKeyName="Two"),(InputKeyName="Three"),(InputKeyName="Four"),(InputKeyName="Five"),(InputKeyName="Six"),(InputKeyName="Seven"),(InputKeyName="Eight"),(InputKeyName="Nine"),(InputKeyName="NumPadZero"),(InputKeyName="NumPadOne"),(InputKeyName="NumPadTwo"),(InputKeyName="NumPadThree"),(InputKeyName="NumPadFour"),(InputKeyName="NumPadFive"),(InputKeyName="NumPadSix"),(InputKeyName="NumPadSeven"),(InputKeyName="NumPadEight"),(InputKeyName="NumPadNine"),(InputKeyName="Multiply"),(InputKeyName="Decimal"),(InputKeyName="Divide"),(InputKeyName="Semicolon"),(InputKeyName="Equals"),(InputKeyName="Comma"),(InputKeyName="Underscore"),(InputKeyName="Period"),(InputKeyName="Slash"),(InputKeyName="Tilde"),(InputKeyName="LeftBracket"),(InputKeyName="Backslash"),(InputKeyName="RightBracket"),(InputKeyName="Quote"),(InputKeyName="Character"))),(InputAliasName="Consume",LinkedInputKeys=((InputKeyName="LeftShift"),(InputKeyName="RightShift"),(InputKeyName="LeftControl"),(InputKeyName="RightControl"),(InputKeyName="LeftAlt"),(InputKeyName="RightAlt"))),(InputAliasName="IncrementNumericValue",LinkedInputKeys=((InputKeyName="Gamepad_RightStick_Up"),(InputKeyName="Add"))),(InputAliasName="DecrementNumericValue",LinkedInputKeys=((InputKeyName="Gamepad_RightStick_Down"),(InputKeyName="Subtract"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIOptionListBase",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="MoveSelectionLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="MoveSelectionRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))),(InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="SpaceBar",ModifierKeyFlags=0),(InputKeyName="Enter",ModifierKeyFlags=0))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton",ModifierKeyFlags=0)))))))
WidgetInputAliases=(WidgetClassName="Engine.UIPanel",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIScene",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="CloseScene",LinkedInputKeys=((InputKeyName="Escape"),(InputKeyName="XboxTypeS_B"))))),(StateClassName="Engine.UIState_Enabled",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton",ModifierKeyFlags=0),(InputKeyName="RightMouseButton",ModifierKeyFlags=0),(InputKeyName="MiddleMouseButton",ModifierKeyFlags=0)))))))
WidgetInputAliases=(WidgetClassName="Engine.UIScrollbar",WidgetStates=((StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIScrollbarButton",WidgetStates=((StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIScrollbarMarkerButton",WidgetStates=((StateClassName="Engine.UIState_Pressed",StateInputAliases=((InputAliasName="DragSlider",LinkedInputKeys=((InputKeyName="MouseX"),(InputKeyName="MouseY")))))))
WidgetInputAliases=(WidgetClassName="Engine.UIScrollFrame",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="ScrollUp",LinkedInputKeys=((InputKeyName="MouseScrollUp"),(InputKeyName="Up"))),(InputAliasName="ScrollDown",LinkedInputKeys=((InputKeyName="MouseScrollDown"),(InputKeyName="Down"))),(InputAliasName="ScrollTop",LinkedInputKeys=((InputKeyName="Home"))),(InputAliasName="ScrollBottom",LinkedInputKeys=((InputKeyName="End"))),(InputAliasName="PageUp",LinkedInputKeys=((InputKeyName="PageUp"),(InputKeyName="MouseScrollUp",ModifierKeyFlags=42))),(InputAliasName="PageDown",LinkedInputKeys=((InputKeyName="MouseScrollDown",ModifierKeyFlags=42),(InputKeyName="PageDown")))))))
WidgetInputAliases=(WidgetClassName="Engine.UISlider",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab"))),(InputAliasName="NavFocusUp",LinkedInputKeys=((InputKeyName="Up"),(InputKeyName="XboxTypeS_DPad_Up"),(InputKeyName="Gamepad_LeftStick_Up"))),(InputAliasName="NavFocusDown",LinkedInputKeys=((InputKeyName="Down"),(InputKeyName="XboxTypeS_DPad_Down"),(InputKeyName="Gamepad_LeftStick_Down"))),(InputAliasName="NavFocusLeft",LinkedInputKeys=((InputKeyName="Left"),(InputKeyName="XboxTypeS_DPad_Left"),(InputKeyName="Gamepad_LeftStick_Left"))),(InputAliasName="NavFocusRight",LinkedInputKeys=((InputKeyName="Right"),(InputKeyName="XboxTypeS_DPad_Right"),(InputKeyName="Gamepad_LeftStick_Right"))),(InputAliasName="DecrementSliderValue",LinkedInputKeys=((InputKeyName="Subtract"),(InputKeyName="Gamepad_RightStick_Left"))),(InputAliasName="IncrementSliderValue",LinkedInputKeys=((InputKeyName="Add"),(InputKeyName="Gamepad_RightStick_Right"))),(InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="XboxTypeS_RightThumbstick"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton"))),(InputAliasName="DragSlider"))),(StateClassName="Engine.UIState_Pressed",StateInputAliases=((InputAliasName="DragSlider",LinkedInputKeys=((InputKeyName="MouseX"),(InputKeyName="MouseY")))))))
WidgetInputAliases=(WidgetClassName="Engine.UITabButton",WidgetStates=((StateClassName="Engine.UIState_TargetedTab",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="Enter",ModifierKeyFlags=0),(InputKeyName="SpaceBar",ModifierKeyFlags=0),(InputKeyName="XboxTypeS_Start",ModifierKeyFlags=0),(InputKeyName="XboxTypeS_A",ModifierKeyFlags=0)))))))
WidgetInputAliases=(WidgetClassName="Engine.UITabControl",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextPage",LinkedInputKeys=((InputKeyName="Tab",ModifierKeyFlags=42))),(InputAliasName="PreviousPage",LinkedInputKeys=((InputKeyName="Tab",ModifierKeyFlags=14)))))))
WidgetInputAliases=(WidgetClassName="Engine.UIToggleButton",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="XboxTypeS_A"),(InputKeyName="Enter"))))),(StateClassName="Engine.UIState_Active",StateInputAliases=((InputAliasName="Clicked",LinkedInputKeys=((InputKeyName="LeftMouseButton")))))))
WidgetInputAliases=(WidgetClassName="Engine.ScriptConsoleEntry",WidgetStates=((StateClassName="Engine.UIState_Focused",StateInputAliases=((InputAliasName="NextControl",LinkedInputKeys=((InputKeyName="Tab")))))))

[Editor.EditorViewportInput]
Bindings=(Command="CYCLEPERSPECTIVE FORWARD",Name=Tab)
Bindings=(Command="CYCLEPERSPECTIVE BACKWARD",Name=Tab,Shift=True)

[IniVersion]
0=1507926931.000000
1=1507926935.000000
3 Likes

I think you complicate it a bit too much, it does not have to look so confusing since most of those things does not apply to configuring overwatch

1 Like

That keybind file was for boarderlands 2.
A game that was on PS3, XBox 360 and PC.

Overwatch is on PC, XBox 1 and PS4.
The game engine would be made so it would utilize the same kind of commands so if there was a keybind file, it would not be too far off the one I posted.

But since there are 28 heroes(15DPS, 7 tank, 6 support).
And each hero can have their own binds this means a line for each bind for each hero.
Plus a global bind line
Making 29 lines for a single command like forwards.
Now since you can use controllers on overwatch on PC, you will need lines for controller binds.
Since most games allow 3 binds per command.
Can you now see how crazy complex it is going to get?

3 binds per line
29 binds per command

About 200? binds for everthing from spectator, menu, hero, ect.

There are also binds blizzard does not want people having access too.
Anyone that has played some games knows that ~ normally brings up the developer console.

This would then have to be disabled and since mistakes can be made.
If it was activated during internal testing but not disabled for the public people would have access to this.

The Developer console also lists what commands the game engine is capable of.
Last thing blizzard wants is people knowing more about the engine.

1 Like

No reason for this other than binding the same key to multiple abilities, which is against the rules.

Game wont let you do that.

Most likely if you done it, the bind would be removed on game start up as the bind file is phrased into memory and it detected an error.

Files ? Hah ! Be happy this game still installs locally. Just wait another 10 years and harddrives are obsolete. Great times ahead, right ?

Yes they do. Yes it needs to be that compicated. It won’t look like:

Jump=“Space”
Ability1=“LShift”
Ability2-“E”

Who told you this?

Hard drives are not going away, not for at least 30 years.
You can still install overwatch on an SSD, I have it on an SSD.
You can install overwatch on RAMdisk as well if you want the fastest performance.

You do know businesses use Tape drives as back up solutions.
Tape drives were made back in the 1950s and they were common in the70s-80s on home PCs

The reason tapes are still used is large storage(you can get 10TB tapes easily these days)
High write speed(around 120MiB sustained)
Compact.
Less prone to failureif dropped like a hard drive would

2 Likes

Really ?
:smiley:
Of course HD’s aren’t going anywhere. You missed the point by about 9 trillion light years.

1 Like

Satire mate. Satire.

You make it sound so overwhelming but with correctly and well thought out config files and understandable syntaxes it would be easy.
There’s no reason to not handle this locally instead of in the cloud, at least give us the option to do it at all, even tho some might think it too complicated.

Benefits:
Share configs with friends?
Share crosshair settings?
Backup configs you spent hours tweaking without faring they get lost/overwritten in the cloud?

The positives far outweighs the negatives.

Also when you refer to 200-300binds ect and controller support and ps4 support etc, you would not need to have all those things in the config if not using them.
I’m not saying this is for everyone, clearly you have something against it… but us that like to have full control over our game should be able to.

1 Like

Tell me does that borderlands 2 input file look complicated yes or no?
I could post the one for Bulletstorm Full clip Edition which is even larger than the BL2 one just to show that it is not a unique thing to unreal engine 3 game input files.

Blizzard could make the game detect game crashes so it doesn’t punish you in comp, the positives out weigh the negatives, yet it wont be done.

That BL2 input file has Xbox360s binds in it, even though it is the PC version of the game.
The config file is generated by the game engine, it will spit out Xbox and PS4 lines automatically

I have nothing against it, config files.
I keep a back up of all my game config files

As for full control, this is blizzard we are talking about.
If blizzard made technology Apple would be a close comparison
Blizzard likes to keep their software IP close sourced.

1 Like

Yes it looks complicated, but at the same time I understand what happens and the layout of it. The parts that I don’t understand is probably because I have never played that game or fiddled with the configs.
And I can promise you that what you have pasted there could be cleaned up and fixed quite a bit.

Blizzard employees are smart and if they wanted to simplifying the config files it would not be that hard. (even tho you don’t even know how complicated they are now since they are server sided, you just assume they use the same layout as Borderlands2)

I understand why you would need to have the options for controllers, pedals and steering wheels. however the vast majority of people interested in tweaking their configs probably plays a bit more competitive and uses mouse/keyboard wont even need to have setting for controllers and guitarhero drums.

As for pure console players this all is redundant as they don’t ever config their games via cfg files.

1 Like

They can always make a file with basic input fields then do all this shenanigans behind the scenes tbh.

2 Likes