[size=+1]
What it is[/size]
If you're a mouse and keyboard player and you're like me, then you hate having to press RMB to rotate the camera, and you also hate that you can't bind actions to mouse buttons. This is an
AutoHotkey script that aims to rectify those problems.
[size=+1]
How it works[/size]
Essentially, it automatically holds down RMB for you while you're in the game (and not in a UI screen), so that you can effectively have a normal "mouselook" function. It also lets you map your unused mouse buttons to keys on the keyboard, so that when you press those buttons, the game receives those respective keypresses. That effectively lets you bind actions to your unused mouse buttons (first bind the actions to keys in the game, then map those keys to mouse buttons with the script).
[size=+1]
How to use[/size]
Unpack the archive into a new folder, and run "DAI_helper.exe" (or DAI_helper.ahk if you downloaded the source and you have AutoHotkey installed). Use the self-explanatory interface to configure the script, then press the "Launch Game" button to start the game and activate the script.
The script configuration UI will be accessible through the tray icon for as long as the script is running, but if you make changes after having already launched the game, you'll have to restart the script for the changes to take effect (just run the script again, the new instance will replace the old one).
And finally, before you do anything, make sure you have read the requirements section below.
[size=+1]
Requirements and caveats[/size]
The script can run in two modes: simple mode and normal (default) mode. By default, the script attempts to automatically toggle off mouselook in appropriate situations, such as when dialogue happens, or when in a UI screen (character, inventory, etc). In order to do that, it needs to somehow detect when those situations occur, which it does by reading the color of certain pixels a few times per second. For technical reasons, this mode requires the game to run in "windowed fullscreen" mode, on the primary monitor, at a 16:9 resolution (you can change the fullscreen mode from Options->Display).
For the most part, the normal mode relieves you from having to mess with the mouselook, but sometimes after certain actions (like reading a book or fast travelling), the mouselook function might fail to resume automatically. In that case (which shouldn't happen very often), just tap the "Suspend mouselook" key to get it to come to its senses, and if that doesn't fix it, then just press the "Toggle mouselook" key twice.
If the normal mode isn't working for you, then you can use the simple mode, which only toggles mouselook when you press the key. That means that you'll have to manually toggle mouselook when entering and exiting UI screens, but on the other hand, this mode is guaranteed to work for everyone.
In version 1.0, the script put "-GameTime.MaxSimFps 60 -GameTime.ForceSimRate 60+" in the command line by default. I have since learned (from
this post) that it's a bad idea to do that before you create your character and get past the initial cutscenes. Keep that in mind if you're updating from v1.0, and plan to start a new playthrough.
[size=+1]
New in v1.2[/size]
- added simple mode
- dropped the reliance on keys for UI screens
- RMB has normal function when mouselook is turned off
- normal mode is more responsive (thanks to IsUIScreenOn.exe)
Known issue: occasionally, the script erroneously thinks that the game was closed, and exits. If the script seems to not work for you, make sure that it's actually running (alt-tab out of the game and look for a green "H" icon in the system tray). If it's not running, just start it again and click the "Activate script" button.