Jump to content

About This File

Important

 

The Dark Souls Mouse Fix has evolved into the Dark Souls Input Customizer (DSIC) and will no longer be updated. DSIC generalizes the functionality of the mouse fix to other input devices like gamepads and the Steam Controller. It also includes bugfixes, adjustments to the GUI and additional features, such as the creation of input profiles.

 

For the time being, I will leave the mouse fix up, because it is stable and totally usable on its own. However, since DSIC provides the same functionality with additional improvements, there should really be no reason to prefer the old fix over the new mod.

 

----------------------------------------------------------------------------------------------------

 

What is this?

This fix makes Dark Souls use raw mouse input without any additional smoothing or acceleration. It offers a flexible binding system, automatic cursor support for the UI, improved targeting and an easy configuration using a GUI.

 

Overview

Description

Important: This is a beta version. Although it underwent some thorough testing before the first public release, there might still be some issues that need to be addressed. If you encounter any problems see the Contact And Support section on how to get in touch with me

 

Although there already is a mouse fix for Dark Souls, which did a great job in helping many people (including me) to play the game with mouse and keyboard over the years, it is not an optimal solution. Because it emulates a controller, there are still some issues with sensitivity, apparent negative acceleration and overall sluggish movement. Using the cursor in the UI is also a hassle, because it has to be manually enabled and disabled via keybindings.

 

Instead of emulating a controller, this fix injects raw mouse input directly into the game's camera functions, thereby avoiding any additional transformations. It also provides an auto cursor feature which automatically manages the visibility and capture settings of the cursor depending on the current situation.

 

Features

  • True raw mouse input without controller emulation
  • No additional smoothing or acceleration
  • Flexible options such as individual horizontal and vertical sensitivities for camera movement and bow aiming
  • Allows any action to be bound to any combination of mouse buttons, the mouse wheel or keyboard keys
  • UI Auto Cursor mode that enables and disables the cursor when in a menu or when switching out of the game
  • Improved target switching
  • Includes a GUI for easy configuration
  • Steam Controller support
  • Compatible with DSFix

Instructions

Supported Versions

This fix only works with the latest, fully patched Steam version.

 

Important: The fix relies on the layout of the executable. Older versions or ones that otherwise have been tempered with probably won't work. This also means that if the game were to be patched -- which is very unlikely at this point -- it might break the fix and require it to be updated.

 

Install

The fix does not make any permanent changes to the system, the game or the configuration of the game and can easily be removed (see below).

  1. Install Durante's DSFix if you haven't already
  2. Extract the contents of the DarkSoulsMouseFix.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 DarkSoulsMouseFix.dll. No additional configuration of DSFix is necessary
  4. Start DarkSoulsMouseFixGUI.exe to set mouse setting and keybindings 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:

  • You should hear a Mouse fix loaded message on game launch when the fix is installed correctly
  • If you currently have DSMFix installed, it is not necessary to remove it. Just replace the dinput8dllWrapper dsmfix.dll entry in DSFix.ini with dinput8dllWrapper DarkSoulsMouseFix.dll
  • It is not necessary to unplug the controller if you have one. You can even enable the controller on-the-fly by using the Input Mode Toggle binding (see Configuration)
  • The GUI requires the Microsoft .NET Framework 4.6.1, which should already be installed on most systems. If you are having problems starting the GUI, you can download the required version here
  • I would recommend increasing the FPS limit to 60 in DSFix for the complete smooth experience. Keep in mind that there are some problems with unlocking the FPS though. You can find more information about that on PC Gaming Wiki here

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:

  • You can change settings while in the game by using the Reload Config binding, which is per default set to the '-' key on the numpad. Just change the settings in the GUI as necessary, press save and then use the binding to reload the config ingame. You should hear a Mouse Fix 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
  • Although it is not necessary to bind a standard action when you are happy with the ingame setting, it is strongly recommended to exclusively use the bindings in the GUI of the fix
  • It is not necessary to unbind a key or button in the ingame settings to use it with the fix
  • The GUI also provides tooltips with additional information about a setting

Binding System

The new binding system allows you to bind any action to an arbitrary combination of keyboard keys, mouse buttons or the mouse wheel. Instead of manually selecting a key from a limited set of predefined keys, the new system works reactively. To bind an action, double left click the corresponding box. When the box turns green, press the combination of keys you would like to assign. The combination is set once any pressed keys are released.

 

You should be able to use almost any keyboard key, independent of the keyboard type or layout. The key names are dependent on the layout currently set in Windows. If you are using an English layout, the key names will be in English, while an AZERTY layout will lead to French names. Bear in mind that the key names are automatically determined by using a Windows function and not all keys have pleasant display names.

 

A few additional notes on the binding system:

  • Each key pressed before another acts as a modifier for the next one
  • Any key can be used as a modifier key, not just ALT, CTRL or SHIFT
  • There is no limit to how many keys can participate in a combination. You can set a combination involving half a dozen keys if you want to
  • The order you are pressing the keys in is only important during the binding process to differentiate between bindings that involve the same modifier keys
  • To unbind an action double right click the corresponding box

Auto Cursor Mode

The Auto Cursor mode automatically manages the state of the cursor behavior depending on the current situation:

  • It captures and hides the cursor when ingame and not in a menu
  • It releases and shows the cursor when in the main menu, in a system menu or when the window goes into background, e.g. when using alt-tab
  • It overrides all cursor settings in DSFix

Non-Standard Bindings

Non-standard bindings perform actions that usually have to be performed by using a context-sensitive key or a combination of keys. They are provided for convenience as they could also be implemented by using external tools, such as Auto Hotkey. Although they do not allow anything that cannot also be done manually, purists of the game might not want to use them.

 

Movement Bindings

The keybindings to move the character differ on a technical level from those you can bind ingame. They should fix the problem of sometimes not being able roll when running diagonally and not moving the camera at the same time, which existed in the game since launch.

 

Input Mode

The input mode specifies the behavior of the fix:

  • Mouse and Keyboard: Enables raw mouse camera and keyboard bindings, deactivates controller input and vibrations
  • Gamepad: Standard controller behavior, disables raw mouse camera and keyboard bindings
  • Steam Controller: Standard controller behavior with the exception that the raw mouse camera is enabled and the right analog stick is disabled

Note that:

  • The Auto Cursor setting is independent of the input mode. For example, it is possible to play with a controller and only use the mouse for menu navigation if you want to
  • The input mode can be toggled with the Input Mode Toggle binding. The toggle order is the following: Mouse -> Gamepad -> Steam Controller -> Mouse -> ...
  • You should hear a corresponding sound message when the input mode is changed by using the binding

Additional Information

What You Should Know

Since the fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

 

If you don't -- and why should you -- feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses "hacking techniques" such as injection and hooking, it could trigger anti-virus software without being harmful.

 

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.

 

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

 

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 fix. Without him, creating the fix 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've done would not be worth much.

 

Contact And Support

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


What's New in Version 1.4.1   See changelog

Released

  • The GUI no longer loads a local dxgi.dll to prevent conflicts with SweetFX



User Feedback

Recommended Comments

There are no comments to display.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Found PCGamingWiki useful? Please consider making a Donation or visiting our Patreon.
  • Similar Content

    • By Andytizer
      Valve appear to be working on a new Steam Controller, as patent document "Handheld Controllers With Touch-Sensitive Controls" appears on the internet. This is surprising considering that Valve discontinued the old Steam Controller in November 2019.
      The new controller appears to show that the analogue stick can be swapped with different components, such as a d-pad. The patent states, "FIG1 is a front view of an example handheld controller that includes, in part, a receiver that is configured to detachably couple to different controls, such as a joystick, directional pad (D-pad), and the like."
      It's possible that a v2 version of the Steam Controller may be actively worked on for a future release by Valve.
    • By JeffRuLz0
      This is a modified exe for Toy Story that fixes the "Unable to link to KERNEL32.DLL!" error on newer versions of Windows.
      This was not made by me.
    • By Gnome Chimpsky
      X-Wing series 60FPS (1.0.2) patch by Justagai
      This will change the FPS limit from 30 to 60 in any of the X-Wing games in the series: X-Wing, TIE Fighter, X-Wing vs TIE Fighter, Balance of power and X-Wing Alliance
      Compatible with the Disc, GoG and Steam versions.

      Instructions: Extract/Move dinput.dll and Hook_60FPS.dll into the game folder.
      Multiplayer: Make sure that everyone has the same patch installed to prevent syncing issues.
      Notes: 
      - If there is a frame loss when targeting something and you have a custom DDRAW installed, try turning off antialiasing in its config.
      Issues:
      - It is possible that 60FPS can make some missions impossible due to a movement bug in the engine. Please report the mission with the bugged craft.
      Changelog:
      1.0.2
      - XWA: Hangar is now 60FPS
      1.0.1
      - Fixed issue with certain machines crashing at game startup
      1.0
      - Initial version

      Special thanks to:
      JeremyaFr (Originally created the hooks which this patch is based off of)
      RandomStarfighter (Overall help with everything)
      XWVM team (Lots of engine knowledge discovered)
      And thanks to all who helped test!
    • By istvanszabo890629
      On Windows 8 or newer systems, the game's menu turns upside down or just black and white; because, the codecs of the the original video files don't working very well on these newer system. You can see the problem on the 'before.jpg' image, and the fixed menu 'after.jpg' the applied fix.
      To fix this unpleasant thing, just download and extract the content of the archive into the game's folder. The password for the archive is pcgw.
      If you are experience issues with the extracting, then download the two parts of the archive to the same folder and combine them with the following command (obviously in Windows Command Line or PowerShell):
      copy /b SniperGhostWarrior_videofix.7z.001 + SniperGhostWarrior_videofix.7z.002 SniperGhostWarrior_videofix.7z
    • By LDK
      If you are experienced PC player, you have probably came across a broken or malfunctioning mouse. We are going to look at the unwanted double-click problem and provide detailed guide with many macro photos and video how to fix it regardless of mouse model. Without any soldering and with just basic tools you can bring back to life your older or aging, but once expensive, gaming mouse.
      The problem
      Double-clicking in single click, inability to create continuous line in paint application, difficulty to move camera in RTS, iron sights not sticking in FPS - these are all symptoms of a broken mouse button. Culprit in majority of cases is a component called miniature snap-action switch, or micro switch. This switch contains three leads and a metal with little spring. This metal is jumping between two contacts thanks to the spring and bridging connection between contacts.
       
      This spring can become tired so it isn't providing pressure necessary to maintain connection. With combination of dirt (dust) and oxidation on the contact areas, it is a perfect recipe for unstable connection and unwanted double clicks.

      Fig. 1 - types of micro switches  
      Tools and tips
      You will need:
      screw driver (type depends on your mouse model, Phillips and flat head should be enough tweezers safety pin, nail scissors or something pointy contacts cleaner or rubbing alcohol any type of glue camera (cellphone will suffice) little bit of time Tips:
      Make several photos of each step, it will help you tremendously in reassembly. Don't use much force, there can be hidden screws or latches and you will break something if you are not careful. Disconnect your mouse from computer and pull out batteries first. Take your time, you do not have be finished in ten minutes. Every photo in this guide is in high resolution, visit gallery for additional details. And as usual, PCGamingWiki is not responsible for any damages caused by following this guide. 1. Mouse disassemble
      This step is unfortunately rather vague, because of each mouse having vastly different design. Be extra careful and look for hidden latches and screws when pulling parts apart.
       
      First of all you have to find screws on your mouse. Usual places are under rubber feet, in battery compartment and under stickers. Consult Google with a name of your mouse and word "disassemble".
       

      Fig. 2 - possible screw locations  
      After getting rid of all the screws, upper part of the mouse should come apart. Now it is a good time to clean any oil and dirt from many crevices in the upper cover with rubbing alcohol or soap water (in case upper cover does not contain any electronics). Let it dry thoroughly. Example of mouse insides are displayed on figure 3.
       

      Fig. 3 - Logitech MX700 without cover  
      Now look for micro switches that needs fixing. You have to have clear access to them in order to properly fix them so additional disassemble could be required. Usually there are few screws, that holds everything to the plastic base, internal connectors, scroll wheel, that can be easily put away etc. In some cases there can be hard connection between boards that cannot be non destructively disassembled. Again take a lot of photos during your work for future reference.
       
      For example in figure 3, Logitech MX700 is very complicated mouse with three layers of PCB's, two of which has soldered hard connection (4 pins directly above scroll wheel and on the left of D-3 component) and soldered flat cable between two other (upper right corner, white cable). There are five fixable switches on this mouse and three unfixable.
       
      Vast majority of manufacturers are using Omron type switches for main buttons (see figure 1 and 4). There is a possibility of finding smaller, four pin surface mounted switches, that cannot be opened and repaired without soldering. These can be also found in Xbox 360 controller.
       

      Fig. 4 - Omron type micro switch  
      3. Opening the micro switch
      So you have located faulty switch and ensured enough access to it. Opening it is fairly straight forward. There are usually two latches, that has to be lifted separately (figure 5). Some manufacturers has these latches on the long sides of the switch (figure 1).
       

      Fig. 5 - location of latches on the Omron micro switch  
      Insert your open safety pin or point of scissors under the latch to unlock it and lift one side of the switch cover slightly (figure 6). Do not try to lift whole cover up just yet, you'll break the second latch.

      Fig. 6 - one latch unlocked and cover slightly lifted  
      Do the same on the other side of the switch so you'll get situation displayed on figure 7. Rotate the mouse (or part with the switch) so the white pin on the top of the switch is pointing down.
       

      Fig. 7 - both latches unlocked and both sides of cover slightly lifted  
       
      Now you can pull cover away from the base. The white pin is loose in the cover and can be easily lost if not handled upside down. At the end, you'll end up with situation displayed in figure 8.
       

      Fig. 8 - uncovered switch and detail of the white pin  
      4. Metal spring fun
      You can see insides of the switch. The part, that needs fixing, is the long metal with spring in the middle and It needs to come of the rest of the switch. This is another not very difficult task, lay the switch flat, as shown on figure 8, hold the part without the spring with two fingers and twist the metal to the side. It should go fairly easily and you'll end up with bare metal with spring (upper left side of figure 9).
       

      Fig. 9 - Metal with spring and prying spring  
      As the fix itself you'll need to pry the spring little bit. Lay the metal piece flat, hold it as flat possible with tweezers and pry the spring up just a little bit. There is very little strength required, just fraction of a millimeter should be enough. Clean the contacts on the metal with alcohol, do the same with pins on the base of the switch.
       
      Now for the tricky part: you have to put it back together. See figure 10 in full resolution for more details. There are two grooves on the two metal pins on the base of the switch (numbered 1 and 2 on the figure 10). These grooves are corresponding with cutouts on the metal, also numbered 1 and 2. The hammer needs to go between two most right pins.
       

      Fig. 10 - grooves on contacts and metal spring detail  
      The easiest way I've found is to place the hammer first, then place the metal into the groove 1. Spring is resting on the middle pin, just above groove number 2. Situation on the top left, top right and bottom right part of figure 11.
       

      Fig. 11 - reassembling metal with spring on the switch base  
      Now for seating the spring into its groove. Take the tweezers or small screw driver and push the spring down into its place (rest of figure 11). This is especially tricky move, as you have to push with enough force to push it down, but not enough to over push. If you over do it, you'll have to start over. When you manage to seat the metal properly, try to click it few times so you know, it is working OK. Seated metal is displayed on figure 12.
       

      Fig. 12 - properly seated metal spring on the switch base  
      Whole process of opening and fixing the switch is captured on a video. Be sure to turn on HD for best details.
       
       
      4. Testing and reassembly
      Close the switch and make sure, you are putting the cover the right way. White pin should not be directly above the spring. Consult your photos for proper orientation. Unfortunately you have to fully reassemble your mouse to do proper testing. Screws are putting the right amount of pressure on the micro switches and without them you could get another faulty clicks.
       
      Sometimes sound of the click and force needed to achieve button press can change slightly depending of force used on prying the spring. Try to open it again if you are not satisfied with results.
       
      The best way to test success of the fix is in any paint application. Create a blank document, pick any color and create any random shape with the button, you've just fixed. You should get continuous line if the fix is successful. Glue back the rubber feet and enjoy your fixed mouse.

      View full article
  • Who's Online   1 Member, 0 Anonymous, 350 Guests (See full list)

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Member Statistics

    5,403
    Total Members
    3,870
    Most Online
    karkus
    Newest Member
    karkus
    Joined
×
×
  • Create New...