Cyberpunk 2077
0 of 0

File information

Last updated

Original upload

Created by

heero139

Uploaded by

heero139

Virus scan

Safe to use

About this mod

Adds options to the key bindings menu for actions that are not able to be changed by default; removes/links redundant or unused key binds to allow more keys to be used for key bindings.

Permissions and credits
Changelogs
This is a close to from-scratch remake of Better Controls Menu by Nibrodooh updated for game version 1.5, 1.6, and 2.0.

I have been updating Better Controls Menu independently for each patch since 1.2, and based on a few requests I decided to make a new page for this version of the mod. I have no desire to take full credit for the creation of this mod despite Nibrodooh giving free permission to use their files, so I hope it's ok to keep referring to this as a continuation of their mod.

What it does:

This mod attempts to address two major problems with Cyberpunk 2077's keybinds menu and keybinds system for keyboard/mouse users. This
is particularly useful for accessibility, or for those using alternative control mappings (ESDF, left-handed users, etc.).

First, quite a few keybinds do not appear in the keybinds menu and therefore cannot be changed.

I attempt to address this in one of two ways:

  • Add a new entry to the keybind settings menu. For example, the secondary action button used for opening drop points etc.
  • Link the function to another similar one, usually whatever it is already set to share a key with. For example, Q by default using a quick melee, or dropping a carried object.

In a few cases, a keybind is used infrequently enough that I have chosen to leave it alone, as either of the changes above would cause more problems than it solves.

Second, many unchangeable keybinds also prevent you from assigning the same key to another function, even when it would cause no actual conflicts. This results in a lot of "Binding Failed" when there really should be no conflict.

I have addressed these either by removing the offending binding entirely if it is redundant or does nothing, or by applying a workaround to allow that key to be used for more than one keybind.

List of Changes:

Adds options to the key binds menu for the following:
  • Dodge - Default G. Double-tapping crouch to dodge is removed. Double-tap dodge on movement keys is still included, using the setting built into the Controls menu. No longer needed as of 2.0
  • Secondary Action - Default R
  • Disassemble Item, Drop Item, Unequip Item, Compare Items
  • Various other UI functions

A lot of the changes in this mod are to free up keys to be allowed to use for other bindings. When possible, actions are linked to other actions with the same default keybind. This should make it possible to rebind to almost any key, with a few exceptions that could possibly be problematic, such as Esc or F1, or some mouse buttons in the UI section. A few notable examples are:
  • Drop Carried Object is linked to Quick Melee to free up Q. No longer needed as of 2.12
  • Max- and Half-quantity selection is linked to Move Up (Secondary) and Move Down (Secondary) to free up Q and E in UI.
  • W and S are no longer bound to UI up/down.
  • Reject Phone Call is linked to Open Phone to free up T.
  • A few changes to the new phone menu in 2.0 to make consistent with the rest of the game.
  • Various tweaks to settings menu contexts to fix bugs related to vehicle combat.
  • Other redundant keybinds, for example Backspace and Right Click to cancel/close UI, are removed. (See optional files if you want to use Right Click to cancel)
  • Arcade Minigame keybinds are now linked to similar functions in the rest of the game.
  • Various unused or platform-specific keys not relevant to the PC version of the game are removed.

In addition to changes to the Key Bindings menu, I have made the following quality of life changes to other settings menus:
  • Field of View can now be adjusted from 70 to 120 in increments of 1.
  • Mouse Sensitivity settings can be adjusted in increments of 0.1, and have a minimum of 0.
  • For those that want to use it, the "Astonishing" preset for crowd density is available. I actually have no idea if it works or what it does, but it's there.

I have attempted to make this mod do everything the original Better Controls Menu mod could do, but if you find anything I have missed, please tell me! I will do my best to include anything I can.

How To Install:
Vortex can install this mod just fine. It will warn about protected directories, but it should be no problem as long as the correct version is used.

To manually install, extract the contents of the .zip file into your cyberpunk installation folder. It will replace the following 3 files. Create backups if you want to make uninstallation easier.

\Cyberpunk 2077\r6\config\inputContexts.xml
\Cyberpunk 2077\r6\config\inputUserMappings.xml
\Cyberpunk 2077\r6\config\settings\platform\pc\options.json

After installation, you may receive a popup saying settings are corrupted and they will be reverted to default. This usually happens if you change from one modded settings menu to another, and should not happen if you install this over vanilla settings menu files in the correct game version. If this happens, you can avoid some minor glitches (such as being unable to change texture quality) by restarting the game once afterward, after which you should not get this warning again, then you will have to change all your settings back to the way you want them. There is unfortunately no workaround if this should occur.

This mod will be incompatible with any other mod making changes to those three files. It should be compatible with anything else.

Specific Mod Compatibility Notes:

Input Loader:

This mod is generally compatible with Input Loader. Input Loader mods will overwrite any changes this mod makes with their own, which will probably allow that mod to work, but it may cause conflicts with other keybinds. The easiest thing to do to address these conflicts if they arise is to follow the individual mod's instructions for changing their keybinds in their xml file.

Immersive First Person:
I included the changes to ifp's options.json in this mod's options.json, for convenience. If you use this mod's options.json instead of ifp's, it will work just fine.

How To Uninstall:

To uninstall, delete the above 3 files, then either replace them with backups, or verify game files using Steam/GOG (verifying game files may break other mods depending on your installation, so manually restoring from backups may be easier).

If it is helpful, I have uploaded the original config folder from my installation under misc.

A few final notes:

There are a few keybinds in the UI section that allow you to bind the same key to multiple functions. This is governed by an in-game logic based on contexts and input action types, which I did not alter. You will have to experiment to see what the game will allow you to do if you want to change these.

Until I find a way to add entries to the localization database in the game, The settings entries will have the warning <NOT LOCALIZED> and have only English descriptions.

I can only add keybinds for buttons/actions that already exist in the game but are not exposed in the key binds menu by default. I cannot add any new functionality.

For those interested, the workaround I used for some unchangeable binds that I did not want to add to the keybinds menu or link to another function is as follows:
I discovered that by adding `overridableUI="<some name>"` to that mapping's button entry in inputUserMappings.xml, but not adding an entry for it to options.json, the game would allow that binding's key to be used in the keybinds menu, but it would still work for that original binding as well. I suspect this is taking advantage of an old bug (feature?) where keybinds with no binding would still use their default binding rather than be disabled, but it works conveniently here. You can find uses of this in inputUserMappings.xml where I've added a `<!-- dummy --> comment to the end of a line to signify that it is a dummy overridableUI property that doesn't actually appear in options.json. Funnily enough, there are cases of a similar effect occurring in some of cdpr's binds as well which I can't tell if they are left out of options.json by oversight/mistake or intentional.

This mod is in the public domain and may by used by anyone for whatever they please. Attribution is appreciated but not required.

Thank you to Nibrodooh for the original mod! I personally consider this essential to play the game and am doing my best to keep it alive so others can enjoy this game as much as I do.