Dark Souls Input Customizer

What is this?

Have you ever wanted to open the gesture menu by Left Trigger + Spacebar + Mouse Wheel Down? Now you can! The Dark Souls Input Customizer is the successor to the Dark Souls Mouse Fix and allows you to bind any action to arbitrary combinations of keys or buttons on the controller, the mouse or the keyboard via a simple GUI. In addition to a complete fix of the mouse controls, the mod also provides advanced options, such as separate sensitivities for bow aiming or the usage of of non-standard actions like Kick, the creation of input profiles, as well as dedicated support for the Steam Controller.

You can download the mod from PC Gaming Wiki here, from Nexusmods here or from ModDB here.

Overview

Description

The Dark Souls Input Customizer (DSIC) offers full customization of the controls of Dark Souls. It uses a flexible input system that allows the rebinding of every action to arbitrary combinations of keys or buttons on the controller, the mouse or the keyboard. Although this can in part also be achieved with existing tools, DSIC is much more flexible and wraps it all up in an easy to use package, along with additional functionality that is specially tailored to Dark Souls.

DSIC also fully includes the Dark Souls Mouse Fix, which does not have to be installed separately.

Features

  • Bind any action to an arbitrary combination of keys or buttons on the controller, mouse or keyboard
  • Flexible options such as individual sensitivities for camera movement and bow aiming
  • Non-standard bindings such as Roll-Only, Kick or Leap Attack
  • Complete fix of the mouse controls with UI cursor support and no additional smoothing or acceleration
  • Includes a GUI for easy configuration
  • Steam Controller support
  • Compatible with DSFix

Instructions

Supported Versions

This mod is designed for the latest, fully patched Steam version and might not work when used with an older or otherwise modified executable.

Install

The mod does not make any permanent changes to the game or to Windows and can easily be removed.

  1. Install Durante’s DSFix if you have not already
  2. Extract the contents of the DarkSoulsInputCustomizer.zip to the same folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA"
  3. Look for the dinput8dllWrapper line in DSFix.ini and set it to dinput8dllWrapper DarkSoulsInputCustomizer.dll. No additional configuration of DSFix is necessary
  4. Start DarkSoulsInputCustomizerGUI.exe to set bindings and other settings as desired
  5. Start the game normally, for example directly through Steam. If you want to change the settings while in the game, see the Configuration section below on how to do that

A few additional notes on the installation:

  • See Loading Other Fixes/Mods/Injectors for information on how to solve conflicts with other mods that also use a DirectInput wrapper DLL
  • You should hear a DSIC loaded message on game launch when the fix is installed correctly. This sound can be turned of in the config
  • If you currently have the Dark Souls Mouse Fix installed, make sure to replace the line with dinput8dllWrapper DarkSoulsInputCustomizer.dll instead of just adding another one

Uninstall

  1. Set the dinput8dllWrapper setting in DSFix.ini to none and delete the files of the fix

Configuration

Although the configuration using the GUI should be easy and straight-forward, there are some things to note:

  • The GUI provides tooltips with additional information about a setting
  • You can change settings while in the game by using the Reload Config binding. Just change the settings in the GUI as necessary, press save and then use the binding to reload the config in-game. You should hear a DSIC Reloaded sound message when the reloading was successful
  • You may also want to enable borderlessFullscreen in DSFix for easier switching between the GUI and the game
  • It is not necessary to unbind a key or button in the in-game settings to use it with the fix

Movement And Camera Control

The Movement/Camera Control setting determines how the camera and the basic movement of the character are controlled:

  • Keyboard and Mouse: Enables raw mouse input for camera control and uses bindings for movement. Deactivates analog sticks and vibrations
  • Gamepad: Standard controller behavior. Uses the left and right analog stick for movement and camera control. Disables raw mouse camera
  • Steam Controller: Enables raw mouse input for camera control and uses the left analog stick for movement. This requires that the mouse is mapped to the right control pad in the Steam Controller software

Note that this setting has no effect on any other bindings. It is entirely possible to use keyboard or mouse bindings in Gamepad mode an vice versa. This mod is all about customization and the input system is purposefully designed to be as flexible as possible. This should hopefully also help people who are using unusual controllers or are otherwise not able to play the game in the regular way.

Non-Standard Bindings

Non-standard bindings execute actions that usually have to be performed by using a context-sensitive key or a combination of keys. DSIC currently offers bindings for:

  • Kick and Leap Attack
  • Roll Only and Dash Only
  • Auto Run

Although they do not allow anything that cannot also be done manually, there has been some debate in the past over whether automation like this could be considered cheating. I am still not convinced by that and am currently of the opinion that the listed actions are primarily a matter of the controls and not the player’s skill; especially since similar effects can already be achieved with external tools, such as AutoHotkey or severals different types of gaming software.

Known Issues

The Auto Cursor currently briefly activates the cursor when opening certain doors with keys. This is not easily fixable but should only be a minor issue, due to the short duration and small number of situations where this problem occurs.

The dialog that pops up when summoning a co-op partner can currently not be controlled with the mouse cursor.

All keybindings are currently disabled in the main menu. This is on purpose to prevent issues when navigating the menu and when entering a character name.

Additional Information

Antivirus Software

Since this mod consists of an executable DLL file that uses “hacking techniques” such as injection and hooking, it could be classified as malicious by antivirus software. In that case, it might be necessary to add an exception rule to the scanner.

If you lack the trust in random people on the internet — and I would not blame you — feel free to use a meta online virus scanner like VirusTotal to verify the file.

GUI Requirements

The GUI requires the Microsoft .NET Framework 4.7.1 to work; which should already be installed on most systems. If you are having problems starting the program, you can download the required version either through a recommended Windows update (Windows 7 and later) or at Microsoft here.

Loading Other Fixes/Mods/Injectors

To increase the compatibility with other mods or injectors that are using a wrapper DLL, this fix offers two methods for remote loading of additional files. Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.

File method:

The mod will load another dinput8.dll automatically if it has the name dinput8_Remote.dll. Just rename the DLL you want to load accordingly. Using this method will lead to an error if the renamed DLL is not itself a dinput8.dll.

Folder method:

The mod will also automatically load all DLLs regardless of their names in a dinput8_Remote sub-directory. Just create a corresponding folder in the install directory of the mod. This is the only way to load multiple (conflicting) files.

Input Bindings

The GUI allows the binding of an action to an arbitrary combination of keys and buttons on the keyboard, the mouse or an XInput compatible controller. The system purposefully does not restrict conflicts, so multiple actions can be bound to the same key.

Key Names:

In case of the keyboard there might be a discrepancy between the key that was pressed and the one that is displayed. This is because the names are automatically translated based on the keyboard layout by using a Windows function. However, the mod always uses the physical keys as they were used during the creation of the binding, independent of the name that is displayed.

Modifiers:

Modifier bindings can be created by just using the corresponding key combinations. If you bind one action to Space and another another to LCTRL + Space and a third one to LALT + LCTRL + Space, only one of them will be triggered when Space is down, depending on the state of LCTRL and LALT. The system is not restricted to the usual modifier keys ALT, CTRL or SHIFT. Any key or button pressed before another acts as a modifier for the next one. Note that the order of the keys or buttons is only relevant during the binding process to distinguish bindings with the same modifiers. In the above example, Space could be held down and the other actions triggered by pressing LCTRL or LALT afterwards.

Acknowledgments

I would like to thank Kaibz for his extensive testing, detailed feedback and valuable suggestions during the development of the alpha versions of the mod. Without him, creating the mod would have taken even longer than it already did.

Additionally, I would also like to give a shout-out to the author of the original DSMFix for Dark Souls, which allowed me to enjoy several playthroughs of the game over the years.

Finally, I would like to thank Durante, author of DSFix, who made the game playable in the first place. Without his work, everything I have done would not be worth much.

Contact And Support

If you like this mod and want to support the development or show your appreciation with a donation, you can find more information on my website. There you can also find out more about other mods that I have done and means to contact me if you have a question, want to provide feedback, bug reports and suggestions.

Version History

v1.1:

  • Updated the input system. Among other things, it now only blocks button and key presses from reaching the game if they were responsible for triggering a binding
  • Updated the address system to increase the compatibility with modified versions of the game
  • Updated the loading system to add support for remote loading of additional DLLs for increased compatibility with other mods (see Loading Other Fixes/Mods/Injectors)
  • Auto-Lock Camera is now Cursor Lock and locks the camera when the cursor is shown. In addition, the camera is now always being locked when the game is not in the foreground
  • Show UI Cursor is now Invert UI Cursor and either temporarily shows the cursor or allows movement of the camera, depending on whether the cursor is currently visible
  • Updated the GUI to .NET version 4.7.1 to fix a problem where the program would crash on startup (shout-out to /u/XodmQ for his help in investigating this issue)
  • Fixed a bug that caused keys and buttons to “stick” under some circumstances
  • Fixed a bug that caused manual cursor visibility and capture changes to sometimes not being applied correctly
  • Fixed a bug that caused the Manual Targeting Threshold to not being respected with Auto UI Cursor disabled
  • Fixed a bug that caused the mouse cursor to not correctly be recaptured in fullscreen mode when switching back into the game from the desktop
  • Fixed a display bug in the GUI that caused some keys to falsely be displayed as the corresponding versions on the numpad

v1.0:

  • Initial public release
Advertisements

23 comments

  1. I just tested this out in Mouse/Keyboard mode and made it past Orstein and Smough in one sitting. It works really well and almost feels like an official input patch. Unfortunately it does miss inputs. I have right click bound to the non-standard binding Roll/Jump Only and it will miss the input entirely once in a while. Other than that it was a smooth experience.

    I have a suggestion. The reason I was trying the input customizer in the first place was that I wanted to try playing this with gamepad/mouse. None of the 3 input styles present in the customizer support this combination. What’s needed is left analog for movement and raw mouse input for camera.

    Like

    1. Hi there and thank you for the feedback. I am glad to hear that you like the Customizer.

      The Roll/Jump issue you are describing sounds odd, but it is of course my intention that it works reliably every time. I will look into it.

      Regarding your suggestion: What you want to do is already possible. Using the analog stick for movement and raw mouse for the camera is exactly what the Steam Controller mode does. Just create a new profile with that preset and it should work. If it does not for some reason, please elaborate on what the problem is.

      Like

      1. I managed to get the Steam Controller preset working for gamepad/mouse. Not sure why it didn’t work the first time.

        Now that I’ve got it working, I’ve got another suggestion. Is it possible to have a separate binding section for menu navigation? My setup uses the scroll wheel for interact and item usage, which makes scrolling in menus really awkward, because using the scroll wheel scrolls the menu, as well as activating the bindings. I thought I could work around this by using the switch magic/switch item bindings, but that led to a single mouse scroll moving the menu selection twice. It seems the scroll wheel always scrolls the menu, regardless of any additional bindings placed on it.

        Also, Is there anyway I can assist you in locating the problem with missed inputs?

        Like

      2. Sorry for the late reply. I was abroad and had forgotten about your post.

        Binding separate keys for menu navigation is currently not possible. I might properly implement this in the future, but I cannot say when I will have the time.

        Also, thank you for offering support with the missed input problem. I am currently not sure how to approach this, because from your description it appears to be pretty rare and I did not encounter it myself. But I will come back to you if I need assistance.

        Like

  2. hi,

    do you happen to know why the game crashes whenever i go to settings and start/load a game? only when input customizer or mouse fix are loaded. other mouse fixes work.

    thanks.

    Like

    1. Hi there.

      Crashes are usually a result of using the mod with an unsupported version of Dark Souls. Are you sure you are using the latest, fully patched Steam version? If you have the Games for Windows Live version, just register the game on Steam. Some people also had this problem because they never opted out of the beta version when the game was first ported to Steam, so make sure you are opted out of the beta in the games’ properties.

      Like

  3. Hello,

    Huge thanks for this wonderful fix, which has finally solved the diagonal rolling issue. However, there seems to be a new problem. The mouse targeting threshold doesn’t appear to work. No matter what threshold I set, the targeting will switch if the mouse moves even slightly. Any ideas?

    Like

  4. Hi, I followed the install istructions and I get the sound notification when starting the game but it’s not working, what should I do?

    Like

      1. As I have stated before, crashes are usually a result of using the mod with an unsupported version of Dark Souls. Are you sure you are using the latest, fully patched Steam version? If you have the Games for Windows Live version, just register the game on Steam. Some people also had this problem because they never opted out of the beta version when the game was first ported to Steam, so make sure you are opted out of the beta in the games’ properties.

        Like

  5. Any interest in releasing a version of the input customizer for the recently released Dark Souls: Remastered? While it does feature significantly improved support for keyboard and mouse, your mod still provides unmatched flexibility for input mapping. Your mod also disables all camera auto adjustments from character movement, which makes mouse look that much more usable.

    Like

    1. Hi there and thank you for the acknowledgement. This is actually the first report I am reading about the mouse controls, since the pre-release coverage mostly focused graphics and bugs. But I somewhat anticipated that the controls would be similar to Dark Souls 3, which are, as you say, a big improvement but still suffer from this annoying camera correction.

      In general I would like to develop a version of the mod for the remastered game. However, there are a few things that make me reluctant to do it.

      The main problem is that we currently do not know what the anti-cheat measures will be like in the remastered version. The original was very good for modding, because there were no real anti-cheat measures in place. The sequels on the other hand were very aggressive in this regard and you could get banned for using harmless things. This also was the main reason I never created a mouse mod for the second game.

      Additionally, such a mod does take a considerable amount of effort to make. Even though it would probably be easier than in the original, because the game already has decent mouse input, it would still take a big time investment to do it. I am just not sure if it would be really worth the effort, since mouse users are already a minority and most of them will probably be fine with the controls, as they were with Dark Souls 3.

      Like

      1. Thanks for the prompt reply. Mixed simultaneous KB/M/Gamepad inputs are not supported in the remaster, so that’s a step back from DS3.

        I like to play these types of games with gamepad/mouse where possible for comfort reasons, and the ability to assign arbitrary combinations of key/button presses made it much easier to work around button limitations with this set up.

        This is an extremely uncommon setup though and I understand if you don’t have the time to do it.

        Like

  6. Hi there,

    some of us have a big problem with DSR. Those people who play with mouse and keyboard. Rolling is not working correctly and only in round about 70% of cases. You can find further information in this Steam thread: https://steamcommunity.com/app/570940/discussions/0/1694922345928415937/

    Someone said the current Input Costumizer fixed the same problem in the “Prepare to die Edition” (see Steam thread). I not sure if a new version of the Input Customizer will help here. I refunded the game because of this problem. I hope there is a fix. Maybe you can help us? ;)

    Greetings,
    qhil

    Like

    1. Hi there. Yes, the problem you are describing is a returning issue from the vanilla version of the game, which I indeed fixed in the mouse fix, as well as DSIC, its successor.

      The problem could probably be fixed for Dark Souls: Remastered as well, but there are a few things that stand in the way of doing it. Here is what I said to someone else who was recently asking a similar question:

      “As I have said to other people who were asking me the same thing, the main hurdle for a DSR version of DSIC is the question regarding the aggressiveness of the anti cheat measures they implemented in the remaster. The main reason I did not develop a version of the mod for Dark Souls 2 or 3, is that those games are notorious for banning people for using even very harmless mods. Since DSR is using many features from Dark Souls 3, it is likely that it also uses the very same anti cheat systems, which would make modding without getting banned very difficult. Even though it would probably take a lot of work, I would consider doing it if it turns out that the game is indeed modable. But right now it is too early to tell. Maybe we will know more in a few months.

      Additionally, even though DSR is indeed missing a lot of features DSIC provides for the original, judging by the forums, most mouse and keyboard players seem to be fine with the way the controls are in the remaster. So there might in the end just not the demand for the mod anyway.

      Like

      1. Thanks for your reply.
        The mouse controls in DSR ist totally fine, that’s right. But a Dark Souls without a proper and working possibility to dodge is not a real Dark Souls :) I really hope there will be a solution some day.

        Have a nice day and thank you for your previous work!

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s