Proper mapping of the Logitech Dual Action in XCOM Enemy Unknown


The new XCOM game is pretty neat. The interface and the controls are pretty obviously designed for a (Xbox 360) gamepad though, which makes mouse/keyboard play a little cumbersome. That made me want to try the gamepad controls. Unfortunately I do not own a Xbox 360 gamepad, so I usually use x360ce to emulate one using my Logitech Dual Action gamepad. For some reason, this didn’t work with XCOM though, probably because it appears to support the Logitech gamepad out of the box (which is great), but with somewhat broken mappings that can’t be changed through the options (which sucks).

The Logitech gamepad’s main buttons (1-4) corresponds to A, B, Y and X respectively (that is, they’re in the same position as on the Xbox pad). In XCOM though, A/B and X/Y were swapped, which I fixed by editing the XComInput.ini in Documents/MyGames/. In it, you will find lines starting like so:

-Bindings=(Name="XboxTypeS_###", [...]

Where ### is one of A, B, Y and X. So what I did is basically replace all occurrences of

-Bindings=(Name="XboxTypeS_A", [...]

with

-Bindings=(Name="XboxTypeS_B", [...]

and the same for Y and X, which fixed the button issue. The next thing that was a bit annoying was the fact that the left analog stick’s Y axis was inverted. With the help of this post in the Steamcommunity I was able to fix that too, by going to the [XComGame.XComTacticalInput] section of the configuration file and editing the line that says

Bindings=(Name="XboxTypeS_LeftY",          Command="Axis aBaseY Speed=1.0 DeadZone=0.3")

and setting the speed to -1.0, so that it reads:

Bindings=(Name="XboxTypeS_LeftY",          Command="Axis aBaseY Speed=-1.0 DeadZone=0.3")

That fixed all the gamepad control issues I’ve been having (so far).