[PC] Workaround: Custom Input Mapping

So the 2.0 Update didn’t seem to fix issues with input mapping for some devices, I had a play around yesterday to try and find a fix and managed to find a workaround for this issue.

Disclaimer: I’m not sure whether the game looks down upon those who change these files, so do this at your own risk.

For those with the problem, essentially when you change input mapping in-game, it will create a new custom profile for you based on whatever preset you chose, with whatever changes you have made, however when you next restart the game, it will default to a particular profile based on your input device.

Note: This is for the Windows Store version, someone may want to provide alternative locations for the Steam version

  1. Start Forza Motorsport, then exit through the menu once you have entered the main menu
  2. Open Windows Explorer and navigate to the following folder %LOCALAPPDATA%\Packages\Microsoft.ForzaMotorsport_8wekyb3d8bbwe\LocalCache\Local\User_GamingLocalStorageDirectory\ConnectedStorage\InputTranslationManager
  3. You should see a file here called ‘LastUsedProfile’, open this in a text editor of your choice
  4. The contents of this file should look something like this
<ProfileChoices Version="2" KeyboardProfile="c8941d47-c0bc-4a46-993e-f273a1599f5e" ControllerProfile="c5213f1a-ca1e-4f84-a5f4-477dacca1062" RawGameControllerProfile="c87ed1d2-7350-479b-9190-1cb3224595c1"/>

Depending on the input device you are having a problem with, highlight the contents of the profile you want to fix and copy it somewhere or to clipboard, in my case it’s the wheel profile “RawGameControllerProfile”, so I have kept note of “c87ed1d2-7350-479b-9190-1cb3224595c1”.
5. Navigate to your Forza Motorsport install directory, specifically the following path

INSTALLDIR\Forza Motorsport\Content\media\base\inputmappingprofiles
  1. You are now looking for the file of the profile that matches the Id you took note of previously, if you have an editor like vscode, this is much easier because you can do a “find in files” search across the whole directory. Each file should have a first line similar to the following
<RawGameControllerInputMappingProfile Version="1" Id="c87ed1d2-7350-479b-9190-1cb3224595c1" UserFacingName="IDS_T300Ferrari" IsDefaultProfile="1" PrimaryDeviceVidPid="72332910" FFBDeviceVidPid="72332910" FFBMotorIndex="0">

You are looking for the file which has the “Id” property matching the one you took a note of, in my case (with a T300 Ferrari wheel), it matched to “DefaultRawGameControllerMappingProfileThrustmasterT300Ferrari.xml”
7. Important: Backup this file
8. Open the file in your chosen text editor
9. Depending on what input you want to change/add, your strategy may differ, but essentially you want to create a new entry in here in the section within the Xml that has the “” comment, as an example, I want to re-map the look left/right buttons to the left and right-most buttons on my wheel base.
10. If you don’t know the number of the button you want to map, you can enter the Input section in the game settings and remap a button to get the number you need, in the file these are 0-based so just -1 from the number shown in game to get the correct Index. In my case this was 10, so 10 - 1 = 9
11. Look through the file for the command you want to map to this button, each mapping has a comment above it which should help, for example

<!-- Key = INPUTCMD_LOOK_LEFT, Thrustmaster T300 Ferrari Button 6 --> <Value Version="2" Key="11" VidPid="72332910" InputType="Button" Index="6" />
In this case, Key 11 is INPUTCMD_LOOK_LEFT, which is the one I’m looking to re-map.
12. Putting this all together, create a new entry in this file with your desired mapping, for example, I have mapped 2 buttons for look left and right, it’s also a good idea to add a comment to the top of the section to differentiate these.

<!-- Custom Bindings --> <!-- Key = INPUTCMD_LOOK_LEFT, Thrustmaster T300 Ferrari Button 9 --> <Value Version="2" Key="11" VidPid="72332910" InputType="Button" Index="9" /> <!-- Key = INPUTCMD_LOOK_RIGHT, Thrustmaster T300 Ferrari Button 2 --> <Value Version="2" Key="12" VidPid="72332910" InputType="Button" Index="8" />
The “Version” and “VidPid” values you should copy from the existing mapping of the button with the same Index.
13. Lastly, just comment out the existing mappings of these buttons (Add “” to the end of the content), for example

<!-- Key = INPUTCMD_LOOK_LEFT, Thrustmaster T300 Ferrari Button 6 --> <!--<Value Version="2" Key="11" VidPid="72332910" InputType="Button" Index="6" />--> <!-- Key = INPUTCMD_LOOK_RIGHT, Thrustmaster T300 Ferrari Button 7 --> <!--<Value Version="2" Key="12" VidPid="72332910" InputType="Button" Index="7" />--> <!-- Key = INPUTCMD_LOOK_STRAIGHT_BACK, Thrustmaster T300 Ferrari Button 2 -->
14. Boot the game up, and in the Input menu you should see your buttons are now mapped how you would like them!

6 Likes

Amazing Job !!! :clap:

It´s a shame that Guys like you solve the B.S from these incompetent people

1 Like

the Steam Path would be

for “LastUsedProfile”

  • USERDIR\AppData\Local\Microsoft.ForzaMotorsport\User_SteamLocalStorageDirectory\ConnectedStorage\InputTranslationManager

for “DefaultRawGameControllerMappingProfile*”

  • STEAMINSTALLDIR\steamapps\common\Forza Motorsport\media\base\inputmappingprofiles

Do not leave any files / backupfiles in those directories that don’t belong there because the game won’t start.

1 Like

This is great, thanks for the time taken it worked for me!

However there is an easier way.

if you go to

Create a new folder inside this directory called ‘hidden’, then move all of the default profiles for your controller make into this folder(eg I moved the ones named FANATEC) you can then create a custom profile in game and next time you load the game it goes to this profile automatically!

1 Like

This topic helped me set up Dualshock 4 without involving 3rd party software, so yeah, mad props

ok so im new to forza and the whole wheel scene. short story short i had an accident left me with sever motor loss so ive been sitting at home at allmost 22yrs got board always loved to drive so this is the best ican get or do… all except forza will not detect my G923 for nothing. can i do this same process and just throw the sdk.dll for my true force in file location soit will detect my wheel thanks if anyone can give a hand… dont worry ill wait not going anywhere over lmao…

1 Like

I’m assuming you’re on PC. Is it just Forza that’s not detecting the wheel? Does it show up in G Hub or whatever the control panel software is for the G923? What about in other sims (can try downloading something e.g. RaceRoom or RennSport just to check, both of which are free to play).

If it’s not showing up anywhere, I’d suggest uninstalling/reinstalling drivers and go from there.

I cannot believe I missed this. Personally, I didn’t have to do this but, I believe I know someone who might need to try this out. Thanks!