Witcher Wiki
Register
Substances Graveir bone
Expansion required
This article is too short to provide more than rudimentary information about the subject. You can help Witcher Wiki by expanding it.

Keybinds are how the player interacts with the game world. In The Witcher 3: Wild Hunt, keybind data is stored in a couple different places, input.settings, input_qwerty.ini (and it's siblings), and input.xml, whereas scripts dealing with reacting to keybinds can be primarily found in the classes CPlayerInput and CInputManager.

Concepts[ | ]

Actions[ | ]

An action is a discrete something that is executed by pressing/holding a keybind. For example, AttackWithAlternateLight is the action that is, by default, bound to left mouse button. When you click a button, the engine executes all script events that are registered for all bound actions to that button.

Contexts[ | ]

What a key does depends on the current state of the player in the game. Each time that the context changes, the keybind set does as well, allowing for completely different keybind sets in different situations, though this capability is generally not used. Generally speaking, the player is normally in either [Exploration] or [Combat], though during Ciri sections of the game, those are replaced by [Exploration_Replacer_Ciri] and [Combat_Replacer_Ciri]. Inside of input_qwerty.ini (and it's siblings), the [BASE_*] contexts are inherited by other contexts, but in-game, the keybinds in these contexts are ignored.

Collapsible list of all known contexts[ | ]

  • [BASE_ALL_ATTACKS]
  • [BASE_ATTACKS_NO_LIGHT]
  • [BASE_ATTACK_HEAVY]
  • [BASE_ATTACK_LIGHT]
  • [BASE_CameraMovement]
  • [BASE_CharacterMovement]
  • [BASE_CharacterMovementWithSprint]
  • [BASE_DEBUG]
  • [BASE_DRAW_SWORDS]
  • [BASE_DRAW_SWORDS_KEYBOARD]
  • [BASE_DRINK_POTIONS]
  • [BASE_FocusMode]
  • [BASE_INTERACTIONS_HORSE]
  • [BASE_INTERACTIONS_KEYBOARD]
  • [BASE_INTERACTIONS_PAD]
  • [BASE_Interactions]
  • [BASE_Items]
  • [BASE_JOURNAL_AND_QUEST_MANAGE]
  • [BASE_PanelsShortcuts]
  • [BASE_SHOW_RADIAL_MENU]
  • [BASE_SPECIAL_ATTACK_HEAVY]
  • [BASE_SPECIAL_ATTACK_LIGHT]
  • [BASE_Signs]
  • [Boat]
  • [BoatPassenger]
  • [Combat]
  • [Combat_Replacer_Ciri]
  • [Death]
  • [Diving]
  • [EMPTY_CONTEXT]
  • [Exploration]
  • [Exploration_Replacer_Ciri]
  • [FakeAxisInput]
  • [FastMenu]
  • [Horse]
  • [Horse_Replacer_Ciri]
  • [InputSettings]
  • [JumpClimb]
  • [LootPopup]
  • [Meditation]
  • [RadialMenu]
  • [SCENE_IS_STARTING_HACK]
  • [Scene]
  • [ScriptedAction]
  • [Swimming]
  • [ThrowHold]
  • [TutorialPopup]
  • [BASE_ALL_ATTACKS]
  • [BASE_ATTACKS_NO_LIGHT]
  • [BASE_ATTACK_HEAVY]
  • [BASE_ATTACK_LIGHT]
  • [BASE_CameraMovement]
  • [BASE_CharacterMovement]
  • [BASE_CharacterMovementWithSprint]
  • [BASE_DEBUG]
  • [BASE_DRAW_SWORDS]
  • [BASE_DRAW_SWORDS_KEYBOARD]
  • [BASE_DRINK_POTIONS]
  • [BASE_FocusMode]
  • [BASE_INTERACTIONS_HORSE]
  • [BASE_INTERACTIONS_KEYBOARD]
  • [BASE_INTERACTIONS_PAD]
  • [BASE_Interactions]
  • [BASE_Items]
  • [BASE_JOURNAL_AND_QUEST_MANAGE]
  • [BASE_PanelsShortcuts]
  • [BASE_SHOW_RADIAL_MENU]
  • [BASE_SPECIAL_ATTACK_HEAVY]
  • [BASE_SPECIAL_ATTACK_LIGHT]
  • [BASE_Signs]
  • [Boat]
  • [BoatPassenger]
  • [Combat]
  • [Combat_Replacer_Ciri]
  • [Death]
  • [Diving]
  • [EMPTY_CONTEXT]
  • [Exploration]
  • [Exploration_Replacer_Ciri]
  • [FakeAxisInput]
  • [FastMenu]
  • [Horse]
  • [Horse_Replacer_Ciri]
  • [InputSettings]
  • [JumpClimb]
  • [LootPopup]
  • [Meditation]
  • [RadialMenu]
  • [SCENE_IS_STARTING_HACK]
  • [Scene]
  • [ScriptedAction]
  • [Swimming]
  • [ThrowHold]
  • [TutorialPopup]


Important Configuration Files[ | ]

input.xml[ | ]

The input.xml file (located in the "\bin\config\r4game\user_config_matrix\pc\" folder) is where the in-game Key Bindings menu is configured.

input.settings[ | ]

The input.settings file (found in the "\My Documents\The Witcher 3\" folder) is where user-configured keybinds are stored.

input_qwerty.ini (and its siblings)[ | ]

This family of files (found in the "\bin\config\r4game\legacy\base\" folder) is used to define the default keybinds.

Important Classes[ | ]

CInputManager[ | ]

This class binds the REDengine input code to the scripting components of the Witcher 3 and is normally accessed by the static global object theInput.

CPlayerInput[ | ]

This is where most of player input is listened for.