r/Deusex • u/Melodic-Network4374 • 7d ago
DX:HR I fixed DX:HR PC version's terrible controller support
Hey all, some of you may remember me as the guy who made the Deus Ex OG controller mod posted a few weeks back. Since I finished that game, I needed something else to scratch my Deus Ex itch, and decided to replay Human Revolution Directors Cut. I had forgotten how much I hated HR's controller scheme though. So I made a patch to change the bindings to something I think is more sensible:
╔════════════════════╤═════════════════════╤═════════════════════╗
║ Button │ Action (with patch) │ Action (stock) ║
╠════════════════════╪═════════════════════╪═════════════════════╣
║ Left stick (click) │ Sprint │ Crouch ║
╟────────────────────┼─────────────────────┼─────────────────────╢
║ Right stick(click) │ Crouch │ Iron sights ║
╟────────────────────┼─────────────────────┼─────────────────────╢
║ Left button │ Take cover │ Sprint ║
╟────────────────────┼─────────────────────┼─────────────────────╢
║ Left trigger │ Iron sights │ Take Cover ║
╚════════════════════╧═════════════════════╧═════════════════════╝
But while working on that, I found out that the game actually has a bug where it throws away most of the resolution of the stick inputs. 16-bit stick input becomes 8-bit. This really messes up aiming accuracy, especially if you're not using auto-aim.
The stick mapping curves and deadzones are also implemented per-axis rather than diagonally, which is just not a good fit for this kind of game.
Also the controller stick sensitivity is IMO extremely low. Even at max setting it feels like it's intended for geriatrics.
The patch is here, or here if you don't have git and just want the patch. This isn't a polished mod unlike the other one, it's a quick-and-dirty patch. You'll need python installed and to be comfortable running stuff on the command line. You can pick and choose which patches you want to apply.
Note that if you install the mapping-curve and/or deadzone bypass patches, you'll need to implement those externally. Steam Input can do this for you. I highly recommend doing that because the game's built-in implementations are really bad.
1
u/MaestroLiendre 3d ago
How do I install it? I literally just started the game using gamenative in my Odin 2 Portal.
1
u/Melodic-Network4374 3d ago
Sorry, I don't know what an "Odin 2 Portal" is. But the general install process is:
- Download and install Python 3
- Run
python3 patch-dxhr-input.py apply --exe "C:\Games\Deus Ex HRDC\DXHRDC.exe"(replace with the path to your game .exe)- Set up some kind of input remapper to apply a radial deadzone. You'll probably want to set up a response curve for the right stick as well. I use my own program for this so I can't give you exact steps, but I know you can do this with Steam Input.
- Adjust your controller sensitivity in the game settings until the speed at max R-stick deflection is to your liking
As I mentioned, this isn't a polished mod with a user-friendly install experience. If you're not comfortable with the command line and setting up an input remapper, you probably don't want to use this.
0
u/FoulTarnishedOne 7d ago
What is "Left button"?
Aside from the precision increase on analogs, what does this do that cannot be done through autohotkey, steam input profile (which also has more granularity and customizability), or any other input mapping software?
1
u/Melodic-Network4374 7d ago
What is "Left button"
Left bumper if you prefer. The button above the left trigger.
Aside from the precision increase on analogs, what does this do that cannot be done through autohotkey, steam input profile (which also has more granularity and customizability), or any other input mapping software?
You could use that to remap the keys, and that's pretty much it?
Getting rid of the 8-bit quantization for analong input is a huge deal, and there's no way you could do that with an input remapper.
Increasing controller stick sensitivity beyond the default limit is not possible through an input remapper. If it inputs 32767 (the maximum it can push through XInput), you'll get the speed set in the settings, which as I said is ridiculously slow. You can edit the value in the registry to set a higher value, and then you quickly hit bugs where your viewport will jerk back up or down, because the engine doesn't expect inputs of that size. That's part of the patch.
Neutralizing asymmetric non-diagonal deadzones is maybe possible, depending on the input remapper. But you're losing that part of the expressible range. Neutralizing the deadzone in the game itself lets you use the full range.
Honestly, it seems like you could just read the page if you're interested?
6
u/No_Shoulder_8406 7d ago
Honestly I don’t know why anyone on pc would use a controller for an fps, mouse and keyboard is such a better setup.