Resident Evil 4 (2005)

Resident Evil 4 (2005)

49 ratings
Configuring input.ini (Change the default xbox360 controls)
By BabaBlackSheep
If you find the default button configuration annoying, take a look at my guide to help yourself learn how to fix it. The example I give will show you the button configuration for an Xbox360 controller to make it mirror the inputs from the original Gamecube version.
   
Award
Favorite
Favorited
Unfavorite
Getting started.
So you plug in your Xbox 360 controller. You go into the options and you find you can't remap the keys, you can only choose from Types I, II, and III. Oh no! How do we choose our own input configuration? Well fear not friends, because I will teach you how to edit the button configuration to your own satisfaction.

So how do we edit the input options? Simple, really. We have to edit a file called input.ini. By default you'll find it located somewhere like:
\Steam\steamapps\common\Resident Evil 4\BIO4\input.ini

Just open the file up in your favorite text editor and we can get started. The section that is interesting to us with Xbox 360 controllers is:
###XINPUT_CONTROLLER_A

This section governs the Type I (default) input configuration. If you have another controller like a Logitech pad, you may need to make your adjustments in other sections. This guide can still help you, but the button mappings may be different from what I've outlined.

Keep in mind, this guide is just that: a guide. Unless you decide to copy/paste my example (set and forget. I recommend it!), you will still have a little guesswork ahead of you in making sure you get the buttons set exactly as you like.
The whole guide.
Editing input.ini. The guide.
Okay, here's my rough guide to button configuration. This is only for the Xbox 360 controller inputs, because that's all I have access to.

Please note, this may not be a 100% accurate guide. I hope it helps others out until a real button edit configuration tool becomes available.

First let me cover the inputs on the controller and the buttons the input.ini thinks those match up to. It doesn't follow the DirectInput HID mapping, in case you are wondering.

Button mappings in input.ini
XBOX | RE4 START B13 BACK B14 X B10 A B9 B B11 Y B12 LB B6 RB B7 LT B8 RT B5

Example on changing an input:
So say you want to make your Run button RT.
KEY_RUN = QKEY_GC_B5 would set that option for you.

With the above in mind that's really all you need to get started, but there are some other things to keep in mind about the input.ini file.

Weird stuff to keep in mind about editing input.ini
You will see KEY_Y KEY_X KEY_B and KEY_A. Changing these buttons will NOT make an effect in game WHILE CONTROLLING LEON. They will make an effect on the inventory menu and the QTEs.

There are more buttons that will affect the menus. Specifically:
KEY_EV_CANCEL = QKEY_GC_B14
KEY_CANCEL = QKEY_GC_B11
KEY_OK = QKEY_GC_B9
KEY_OK = QKEY_GC_B9

The duplicate entries for KEY_OK are from the original input.ini file, where the "X" and the "A" buttons were both for some reason OK. In the above example, "A" (B9) is now OK (the only OK button), and "X" (B11) is CANCEL. "Y" (B14) is exit status screen.

What the input options mean
Okay, now that that's out of the way let's break down what each input seemingly is. What follows are NOT the default button inputs, this is a list of the inputs that mirror gamecube controller inputs and some comments I have about what that input is.

NOTE: If you change a button input, like B9 to B11, change EVERY other B9 you see to B11, unless you have a specific reason not to. Keeping the buttons consistent is important.

###XINPUT_CONTROLLER_A

KEY_FORWARD = QKEY_GC_B4
KEY_FORWARD = QKEY_GC_B20
#forward dpad/left analog stick

KEY_BACK = QKEY_GC_B3
KEY_BACK = QKEY_GC_B19
#back dpad/analog stick. You get the idea.

KEY_RIGHT = QKEY_GC_B2
KEY_RIGHT = QKEY_GC_B18
KEY_LEFT = QKEY_GC_B1
KEY_LEFT = QKEY_GC_B17
KEY_KAMAE = QKEY_GC_B5
#aim gun button

KEY_RELOCKON = QKEY_GC_B7
#I'm not sure, but this is mapped to LB

KEY_RUN = QKEY_GC_B11
KEY_FIRE = QKEY_GC_B9
KEY_ASHLEY = QKEY_GC_B6
#tell Ashley to halt/follow

KEY_CK = QKEY_GC_B9
#Check button (action)

KEY_KAMAE_KNIFE = QKEY_GC_B8
#draw knife

KEY_ST = QKEY_GC_B13
KEY_OPTION = QKEY_GC_B13
#main menu button. I'm not sure why the above 2 are the same
#but it's okay, it seems to work fine


KEY_C_U = QKEY_GC_B24
KEY_C_D = QKEY_GC_B23
# C stick up/down. Right analog stick.

KEY_Y = QKEY_GC_B12
KEY_X = QKEY_GC_B10
KEY_B = QKEY_GC_B11
KEY_A = QKEY_GC_B9

KEY_SSCRN = QKEY_GC_B12
#Status screen

KEY_MAP = QKEY_GC_B14
#Map

KEY_LB = QKEY_GC_B7
KEY_RB = QKEY_GC_B6
#Shoulder buttons. I'm not sure what changing these does

KEY_U = QKEY_GC_B4
KEY_U = QKEY_GC_B20
KEY_D = QKEY_GC_B3
KEY_D = QKEY_GC_B19
KEY_R = QKEY_GC_B2
KEY_R = QKEY_GC_B18
KEY_L = QKEY_GC_B1
KEY_L = QKEY_GC_B17
#up/down/left/right while on status screen

KEY_Z = QKEY_GC_B5
KEY_Z = QKEY_GC_B8
# z button from gamecube. Picks up item in inventory to rearrange

KEY_EV_CANCEL = QKEY_GC_B14
#exit status screen

KEY_CANCEL = QKEY_GC_B11
#back out of menu

KEY_OK = QKEY_GC_B9
KEY_OK = QKEY_GC_B9
#advance forward in menu

KEY_LL = QKEY_GC_B1
KEY_LR = QKEY_GC_B2
KEY_LD = QKEY_GC_B3
KEY_LU = QKEY_GC_B4
#no idea. Might be main menu related.

KEY_C_R = QKEY_GC_B22
KEY_C_L = QKEY_GC_B21
#more right analog stick
Full working example without comments
If you want to just set and forget your input options, the below is the configuration I came up with with a little help from Friedchickendude. Replace this entire section in your input.ini file and the next time you run the game the buttons will all be similarly configured as though you had a Gamecube controller.

###XINPUT_CONTROLLER_A

KEY_FORWARD = QKEY_GC_B4
KEY_FORWARD = QKEY_GC_B20
KEY_BACK = QKEY_GC_B3
KEY_BACK = QKEY_GC_B19
KEY_RIGHT = QKEY_GC_B2
KEY_RIGHT = QKEY_GC_B18
KEY_LEFT = QKEY_GC_B1
KEY_LEFT = QKEY_GC_B17
KEY_KAMAE = QKEY_GC_B5
KEY_RELOCKON = QKEY_GC_B7
KEY_RUN = QKEY_GC_B11
KEY_FIRE = QKEY_GC_B9
KEY_ASHLEY = QKEY_GC_B6
KEY_CK = QKEY_GC_B9
KEY_KAMAE_KNIFE = QKEY_GC_B8
KEY_ST = QKEY_GC_B13
KEY_OPTION = QKEY_GC_B13
KEY_C_U = QKEY_GC_B24
KEY_C_D = QKEY_GC_B23
KEY_Y = QKEY_GC_B12
KEY_X = QKEY_GC_B10
KEY_B = QKEY_GC_B11
KEY_A = QKEY_GC_B9
KEY_SSCRN = QKEY_GC_B12
KEY_MAP = QKEY_GC_B14
KEY_LB = QKEY_GC_B7
KEY_RB = QKEY_GC_B6
KEY_U = QKEY_GC_B4
KEY_U = QKEY_GC_B20
KEY_D = QKEY_GC_B3
KEY_D = QKEY_GC_B19
KEY_R = QKEY_GC_B2
KEY_R = QKEY_GC_B18
KEY_L = QKEY_GC_B1
KEY_L = QKEY_GC_B17
KEY_Z = QKEY_GC_B5
KEY_Z = QKEY_GC_B8
KEY_EV_CANCEL = QKEY_GC_B14
KEY_CANCEL = QKEY_GC_B11
KEY_OK = QKEY_GC_B9
KEY_OK = QKEY_GC_B9
KEY_LL = QKEY_GC_B1
KEY_LR = QKEY_GC_B2
KEY_LD = QKEY_GC_B3
KEY_LU = QKEY_GC_B4
KEY_C_R = QKEY_GC_B22
KEY_C_L = QKEY_GC_B21
Notes on the example input configuration
Notes on the inputs above
-Button prompts for X and A on the screen are SWAPPED. If it tells you to mash "X" you need to hammer down the "A" button. I do not know of a way around this yet.
-Map is on the Back button, not the Right Shoulder Button (which would be the "Z" button on GC).
-Shoulder triggers to control Leon in world (knife/aim).
-Shoulder buttons in inventory to switch between screens (key items/inventory/files). This is not a feature from the GC version. Shoulder buttons to also rotate items and control Ashley.
-Main menu is on start.

Strictly speaking, this is what all of the inputs match to:
XBOX | RE4 START Main Menu BACK Map X Run / Reload while aiming A Check (action) B Back out of menu / pick up item in inventory Y Open/close inventory LB Rotate item RB Command Ashley / Rotate item LT Knife RT Aim gun RT+X Reload RT+A Shoot
Non xbox 360 controllers
For those who are not using an Xbox 360 controller, you will need to edit another section of the configuration file. I cannot say which one for certain, but it'll be one of the ones that looks like this:

###GAME_CONTROLLER
###C216046D-0000-0000-0000-504944564944

The button mappings that I provide will not be the same, but the will be analogous. If you figure out which buttons control which action while in-game, you can go back and look through my guide to find what that button configuration is labeled, and then you can change it with another button you've identified. That's the key. If your shoot button says B8 in input.ini and is "X" on your controller, you now know that B8 is that button no matter where you put it.

I own a Dualshock 3. What should I do?
I'm glad you asked. I also own a Dualshock 3. That's right, I made this whole guide for xbox controllers and I don't even have one. It's beyond the scope of this guide, but do a google search for "XInput Wrapper for DS3" and you'll find a wonderful wrapper for the xbox 360 controller. What that means is your computer will accept a Dualshock 3 and think it's an xbox 360 controller. You get to enjoy the robustness of Microsoft developed Xbox controller drivers and it works wonderfully in my experience. I have no affiliation with the development of that tool, I just love it a lot.

My aim is on the right analog stick. What gives?
Credits to DarkShinobu for finding a solution to this one.
This seems to be a problem with using non-Microsoft gamepads. I can't go into details on how to set this up, but you may wish to look into x360ce. X360ce is a wrapper that changes xInput calls into DirectInput calls.

In other words, your Logitech Dual Action will be read as an Xbox360 controller, and when you try to aim your gun, the the input will return to the left analog stick.
Misc. notes
I'm about to go thrift shopping Macklemore style, so I will try and come back to fix the guide soon for clarity, but the info is all there.

Again, this is an Xbox360 controller input guide. I do not have other controllers. The information within may help you understand what to change to fix the controller scheme for your own input.
Be sure to edit the ###XINPUT_CONTROLLER_A section.
If you use another controller, you may need to edit another section.

ONCE AGAIN, AS FAR AS I AM AWARE, YOU CANNOT CHANGE THE BUTTON PROMPTS ON SCREEN TO MATCH YOUR CUSTOM INPUTS. BEWARE.

The original thread this information was unraveled in can be found here: http://steamproxy.net/app/254700/discussions/0/558749190719334313/
20 Comments
Dragma Kerp 23 Jun, 2022 @ 12:00pm 
How did you manage to change menu controls? My idea is to keep A as run/reload, X as action/fire, Select as map, Start as options, Y as inventory, B to order Ashley in gameplay. In menus keep A as ok, X to rotate items, B to cancel and Y to open close menu. I can manage to do almost all of it, but X keeps mirroring A in the menus so I can't manage to get the rearrange/rotate in the inventory. In your example you succesfully swapped X and B around but I'm keep messing it somehow.
Oh, I'm using an Xbox One controller
E.P.D. Gaffney 8 Feb, 2022 @ 7:34pm 
@Slice
I was just doing that myself. KEY_X is the button that governs that, it seems (though according to this guide, Key_Z should do the same thing?). I made it the Back button in my configuration (QKEY_GC_B14) and so far it seems to be working.
Slice 27 Jan, 2022 @ 7:07pm 
Okay, so I changed the Y to inventory and START for map. Just a simple swap. Now I can't get the item in the inventory to rearrange/rotate. What I need to do now?
tira flecha 20 Nov, 2020 @ 5:42pm 
I have the PS4 controller, should I use: ###GAME_CONTROLLER
###C216046D-0000-0000-0000-504944564944?
mad_le_zisell 20 May, 2018 @ 1:20pm 
Sadly, no. Game requires from you to hold run button.
bbo_ 15 Mar, 2018 @ 4:16pm 
1 Question.
anyone know how to always running Leon?
without A button..

i want just stick up --> Leon Running
or toggle style.. is it possible?
Eduardo Silva 26 Nov, 2016 @ 7:20am 
Thanks man
Miles Bluefalls 15 Dec, 2015 @ 2:01pm 
This is great. But is there any way to change the controller sensitivity for aiming purposes, too?
BabaBlackSheep  [author] 8 Mar, 2014 @ 9:07pm 
My apologies! B10 is X, B11 is B. I'll fix that right now.
Emma 8 Mar, 2014 @ 8:04pm 
Why are both X and B labelled as B11? Which one should actually be B10?