It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
This is almost comprehensive alternative method other than using AutoHotKey script to Witcher 3 key rebinding, even the ones that CDPR didn't provide a UI to do in-game. All you need is text editor, highly recommend Notepad++
notepad-plus-plus.org
hands down the best text editor for Windows....

I'm basically changing the default "hardcoded" WASD to more useful to me "ESDF". Also the following keys, some unlocked/changable within the game and those that are locked in-game also.

Unlocked In-game:
1. Interact (from "E" to "R")
2. Witcher Sense (from "T" to "W")
3 Dismount (from "E" to "R")
4. Consumable Slot 1 (from "R" to "T")
5. Consumable Slot 2 (semi-locked from "F" to "V")*
6. Gallop/Cantor (semi-locked - from "ALT" to "A")*

*semi-locked means you have to make the changes inside the input.setting file.

Locked In-game:
1. Character
2. Bestiary
3. Map
4. Alchemy
5. Glossary

Not Shown In-game:
1. W
2. A
3. S
4. D

First I had to assign the Unlocked In-game keys within the game itself other than the 2 semi-locked ones but more on those two later. NOW close the game completely. Then use file explorer to

C:\USERFOLDERNAME\My Documents\Witcher 3\

make a backup copy of the input.settings file, i.e. rename it to input.settings.orig

then open up input.settings in Notepad++.

you can then scroll down to [BASE_CharacterMovement] section, with 2 examples below, one is my original and the other is my modified one. The section itself and the key and values are pretty much self-explanatory.
IK_W=(Action=GI_AxisLeftY,State=Axis,Value=1) breaks down to "W" key is for the Positive 1 in the Y-Axis which translate to moving forward/up. You can also see the same value for the key IK_Up which is the Up arrow key.

---------------------------------------------------------------
----ORIGINAL----

[BASE_CharacterMovement]
IK_W=(Action=GI_AxisLeftY,State=Axis,Value=1)
IK_A=(Action=GI_AxisLeftX,State=Axis,Value=-1)
IK_S=(Action=GI_AxisLeftY,State=Axis,Value=-1)
IK_D=(Action=GI_AxisLeftX,State=Axis,Value=1)
IK_Right=(Action=GI_AxisLeftX,State=Axis,Value=1)
IK_Left=(Action=GI_AxisLeftX,State=Axis,Value=-1)
IK_Down=(Action=GI_AxisLeftY,State=Axis,Value=-1)
IK_Up=(Action=GI_AxisLeftY,State=Axis,Value=1)
IK_Pad_LeftAxisX=(Action=GI_AxisLeftX)
IK_Pad_LeftAxisY=(Action=GI_AxisLeftY)

----MODIFIED----

[BASE_CharacterMovement]
IK_E=(Action=GI_AxisLeftY,State=Axis,Value=1)
IK_S=(Action=GI_AxisLeftX,State=Axis,Value=-1)
IK_D=(Action=GI_AxisLeftY,State=Axis,Value=-1)
IK_F=(Action=GI_AxisLeftX,State=Axis,Value=1)
IK_Right=(Action=GI_AxisLeftX,State=Axis,Value=1)
IK_Left=(Action=GI_AxisLeftX,State=Axis,Value=-1)
IK_Down=(Action=GI_AxisLeftY,State=Axis,Value=-1)
IK_Up=(Action=GI_AxisLeftY,State=Axis,Value=1)
IK_Pad_LeftAxisX=(Action=GI_AxisLeftX)
IK_Pad_LeftAxisY=(Action=GI_AxisLeftY)
---------------------------------------------------------------

Once open in Notepad++ use the Replace function under the Search tab, make sure Wrap Around is checked. Find Next field is the what you are searching for. Replace With field is what you are replacing with.

So to change default W to E, change all references of "IK_W=" to "IK_E=" then you must go back through with the Find Next button to double-check the values to equal one of the following only:
1. IK_E=(Action=GI_AxisLeftY,State=Axis,Value=1) <---Postive 1 in the Y-Axis
2. IK_E=(Action=MovementDoubleTapW)
3. IK_E=(Action=ChangeChoiceUp)

for Down(change from "IK_S=" to "IK_D=") and the values to double-check are as follows:
1. IK_D=(Action=GI_AxisLeftY,State=Axis,Value=-1) <---Negative 1 in the Y-Axis
2. IK_D=(Action=GI_Decelerate)
3. IK_D=(Action=MovementDoubleTapS)
4. IK_D=(Action=ChangeChoiceDown)

for Left(change from "IK_A=" to "IK_S=") and the values to double-check are as follows:
1. IK_S=(Action=GI_AxisLeftX,State=Axis,Value=-1)
2. IK_S=(Action=MovementDoubleTapA)

for Right(change from "IK_D=" to "IK_F=") and the values to double-check are as follows:
1. IK_F=(Action=GI_AxisLeftX,State=Axis,Value=1)
2. IK_F=(Action=MovementDoubleTapD)

Basically if you see your *NEW* movement keys E-S-D-F binded to any other Values you were to double-check then it is a conflict you need to resolve. Easily the most common is "IK_E=" still binding to what should the new Interact key and Dismounting horses and boats. So if you see "IK_E=" binding to anything other than the 3 double-check values I listed above then replace it with "IK_R=" or whichever is your new Interact key. You can compare the original input.setting with your modified input.setting file to see entire sections within devoted to the Interact key.

LOCKED IN-GAME:
1. Character (default is "IK_K=")
2. Bestiary (default is "IK_B=")
3. Glossary (default is "IK_G=")
4. TrackQuest(default is "IK_V=")
5. Map (default is "IK_M=")
6. Alchemy (default is "IK_L=")

Done in this order to avoid conflicts as much as possible.
1. Character changed from "IK_K=" to "IK_Period=", the double-check value is "IK_Period=(Action=PanelChar)"
2. Bestiary changed from "IK_B=" to "IK_Comma=", the double-check value is "IK_Comma=(Action=PanelBestiary)"
3. Glossary changed from "IK_G=" to "IK_L=", the double-check values are "IK_L=(Action=PanelGlossary)" and "IK_L=(Action=GotoGlossary)"
4. TrackQuest changed from "IK_V=" to "IK_G=", the double-check values are "IK_G=(Action=HighlightObjective)" and "IK_G=(Action=TrackQuest)"
5. Map changed from "IK_M=" to "IK_B=", the double-check value is "IK_B=(Action=PanelMap)"
6. Alchemy changed from "IK_L=" to "IK_M=", the double-check value is "IK_M=(Action=PanelAlch)"

This frees up "V" for Consumable Slot 2. The double-check value is "IK_V=(Action=DrinkPotion2)"

So again you can change any other key as long as you double-check the values *DON'T* conflict with any other action that doesn't seem to make sense in context.

Lastly I changed the awkward "ALT" key to the now free to use "A" key. The double-check values are as follows:
1. IK_A=(Action=PCAlternate)
2. IK_A=(Action=Canter)
3. IK_A=(Action=Gallop,State=Duration,IdleTime=0.3)
4. IK_A=(Action=Gallop,State=Duration,IdleTime=0.2) <---don't know why there is 2 slightly different value but it's there...

That's it, save your file in Notepad++, start up the Witcher 3 and enjoy a more comfortable key layout. It can a bit confusing but it should all make sense eventually.
Post edited May 23, 2015 by UprightMan