Step 1
Reinstall Deus Ex while you have your joystick plugged in. Yes, seriously. I messed about with my existing install for quite a while and could never get joystick input working. The minute I uninstalled, reinstalled, and made a few INI changes, bam, everything worked perfectly. I suspect it has something to do with the joystick detection portions of Deus Ex being mostly removed; install is one time it does do detection. I haven’t found a way yet to trigger re-detection, but if I figure it out I’ll update these instructions.
Step 2
Go to your Deus Ex\System\DeusEx.ini file and modify it. Look for the section that starts with “[WinDrv.WindowsClient]”. You’re going to make a few edits here:
Scroll down and find the line “UseJoystick=False”. Change this to “UseJoystick=True”.
Find “DeadZoneRUV=False”. Change this to “DeadZoneRUV=True”
Find “ScaleRUV=2000.000000”. This controls the sensitivity of the right stick. (“ScaleXYZ=1000.000000” controls the sensitivity of the left stick.) You shouldn’t edit this now, but you will probably be playing around with this number a lot in the future. Just remember where it is.
Save and close the file.
Step 3
Open Deus Ex\System\User.ini. Find the section that starts with “[Extension.InputExt]”. You’ll be making two modifications to this. Find the lines “JoyV=” and “JoyU=”. Change these to:
“JoyV=Axis aLookUp speed=-3”
“JoyU=Axis aturn speed=5.9”
After you’ve made those changes, save the file and close it.
Step 4
Start Deus Ex for the first time. You’ll need to pick your renderer and all that jazz. (If you want to install custom renderers then now is the time to do that.) Once you have the game started, test out your controls. Menus may not be responsive, but you should be able to load a Training session and try navigating that way.
Step 5
Tweak all of the sensitivity settings in your DeusEx.ini file. I can almost guarantee that while your left stick works correctly, the right stick is probably cranked to infinity and beyond. You’ll want to adjust the value after “ScaleRUV=” until you dial in on the appropriate sensitivity adjustment. You may also want to adjust the speed values in the JoyU/V/R settings.
Step 6
Bind the rest of your keys. Depending on your controller you may have problems with the trigger buttons, since they are treated as a joystick axis rather than a button. You may also have difficulty navigating the menu with the controller (still working on that).
Anyway, this is kind of preliminary but I thought I’d at least prove it was possible without having to download a buncha stuff.
Update (edit)
After some checking, there is no way to natively make any controller input navigate the menus. Menu navigation is hardcoded in one of the base Unreal classes and is confined to the arrow keys. That means the only way to navigate the menu is to use the mouse or the arrow keys. If you want the controller to do it, you would need to use something like AutoHotKey to remap your D-pad input to the arrow keys, then bind accordingly. That or remap the right joystick to function in place of the mouse using something like JoyToKey or the Steam Controller UI.
All that said, it is possible for a mod to address these issues, and to make joystick support not require INI modification. Some of it would require significant work, so don’t expect a full fix anytime soon, but at the very least something could be added to make menu navigation not so limited.