Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Fanatec Direct Drive example:
Windows - > Device Manager -> Human Interface Devices -> HID-compliant game controller -> Details -> Property = Device Instance Path.
ie: HID\VID_0EB7&PID_0006&COL01\6&3024352B&2&0000
1) GUID = 00060EB7 (Product ID=0006 and Vendor ID=0EB7), this is in Hexadecimal, but WRC needs it in decimal so you use a converter on the internet to get GUID=396983.
2) WRC 7 location of config files for FFB Steering wheels / devices, that you need to add your wheel and button layout to:
3) d:\Games\Steam\steamapps\common\WRC 7\Common\Settings\InputBindings.lua
--Fanatec ClubSport v2, Fanatec ClubSport v2.5, Fanatec CSL Elite WheelBase, Podium DD1 WheelBase, Podium DD2 WheelBase
--00010EB7, 00040EB7, 0E030EB7, 00050EB7, 00060EB7, 00070EB7
{
Device = EnumDeviceFamily.I_ICF_STEERING_WHEEL,
Index = 5,
GUID = { 69303, 265911, 235081399, 331447, 396983, 462519, },
--Menus
{
Actions = { InputAction.I_POP_MENU_JUST_PRESSED, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON10,
},
{
Actions = { InputAction.I_SKIP_MOVIE, InputAction.I_MENU_VALIDATE, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON2,
},
{
Actions = { InputAction.I_MENU_CANCEL, InputAction.I_MENU_EXIT, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON3,
},
{
Actions = { InputAction.I_MENU_SECONDARY, InputAction.I_X_JUST },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON1,
},
{
Actions = { InputAction.I_STICK_LEFT_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON12,
},
{
Actions = { InputAction.I_STICK_RIGHT_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON11,
},
{
Actions = { InputAction.I_LT_PRESSED, },
Trigger = TriggerType.TriggerButtonDown,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON8,
},
{
Actions = { InputAction.I_RT_PRESSED, },
Trigger = TriggerType.TriggerButtonDown,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON7,
},
{
Actions = { InputAction.I_MENU_UP, InputAction.I_MENU_ARROW_UP },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_UP,
},
{
Actions = { InputAction.I_MENU_DOWN, InputAction.I_MENU_ARROW_DOWN },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_DOWN,
},
{
Actions = { InputAction.I_MENU_LEFT, InputAction.I_MENU_ARROW_LEFT },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_LEFT,
},
{
Actions = { InputAction.I_MENU_RIGHT, InputAction.I_MENU_ARROW_RIGHT },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_RIGHT,
},
{
Actions = { InputAction.I_Y_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON4,
},
--Ranking screen
{
Actions = { InputAction.I_MENU_PREVIOUS, InputAction.I_LB_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON6,
},
{
Actions = { InputAction.I_MENU_NEXT, InputAction.I_RB_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON5,
},
{
Actions = { InputAction.I_MENU_PREVIOUS_PAGE, InputAction.I_LT_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON8,
},
{
Actions = { InputAction.I_MENU_NEXT_PAGE, InputAction.I_RT_JUST, },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON7,
},
--Gameplay
{
--Accelerate
Actions = { Rc2Inputs.ACTION_RACE_ACCELERATE },
Trigger = TriggerType.TriggerStickMove,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS2_X,
Context = InputActionContext.eContextGameplay,
},
{
--Brake
Actions = { Rc2Inputs.ACTION_RACE_BRAKE },
Trigger = TriggerType.TriggerStickMove,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS2_Y,
Context = InputActionContext.eContextGameplay,
},
{
--Lean
Actions = { Rc2Inputs.ACTION_RACE_LEAN },
Trigger = TriggerType.TriggerStickMove,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS1_X,
Context = InputActionContext.eContextGameplay,
},
{
--Handbrake
Actions = { Rc2Inputs.ACTION_RACE_HAND_BRAKE },
Trigger = TriggerType.TriggerButtonDown,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON3,
Context = InputActionContext.eContextGameplay,
},
{
--GearUp
Actions = { Rc2Inputs.ACTION_RACE_GEAR_SHIFT_UP },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON5,
Context = InputActionContext.eContextGameplay,
},
{
--GearDown
Actions = { Rc2Inputs.ACTION_RACE_GEAR_SHIFT_DOWN },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON6,
Context = InputActionContext.eContextGameplay,
},
{
--Respawn
Actions = { Rc2Inputs.ACTION_RACE_RESPAWN },
Trigger = TriggerType.TriggerButtonDown,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON1,
Context = InputActionContext.eContextGameplay,
},
{
--NextView
Actions = { Rc2Inputs.ACTION_RACE_NEXT_VIEW },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_LEFT,
Context = InputActionContext.eContextGameplay,
},
{
--PrevView
Actions = { Rc2Inputs.ACTION_RACE_PREV_VIEW },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_RIGHT,
Context = InputActionContext.eContextGameplay,
},
{
--DisplayDamage
Actions = { WrcInputActions.ACTION_RACE_TOGGLE_DAMAGES },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_DOWN,
Context = InputActionContext.eContextGameplay,
},
{
--DisplayGhost
Actions = { Rc2Inputs.ACTION_RACE_TOGGLE_GHOST_VIEW },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_POV_UP,
Context = InputActionContext.eContextGameplay,
},
{
--Whipers
Actions = { Rc2Inputs.ACTION_RACE_TOGGLE_WIPERS },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON7,
Context = InputActionContext.eContextGameplay,
},
{
--Headlights
Actions = { Rc2Inputs.ACTION_RACE_TOGGLE_HEADLIGHTS },
Trigger = TriggerType.TriggerButtonPress,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON8,
Context = InputActionContext.eContextGameplay,
},
{
--SKIP
Actions = { WrcInputActions.ACTION_RACE_SKIP },
Trigger = TriggerType.TriggerButtonDown,
Control = GenericDeviceControlId.I_ICI_GENERICDEVICE_BUTTON4,
Context = InputActionContext.eContextGameplay,
},
},
4) d:\Games\Steam\steamapps\common\WRC 7\Common\Settings\InputDeviceConfig.lua
--Fanatec ClubSport, Fanatec CSL Elite WheelBase, Podium DD1 WheelBase, Podium DD2 WheelBase
--00010EB7, 0E030EB7, 00050EB7, 00060EB7, 00070EB7
{
GUID ={ 69303, 235081399, 331447, 396983, 462519, },
Axis =
{
--Steering
{
ControlId = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS1_X,
DIAxis = DirectInputState.AxislX,
Filter = FilterType.Stick,
},
--Acceleration
{
ControlId = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS2_X,
DIAxis = DirectInputState.AxislY,
Filter = FilterType.InvertStick,
},
--Brake
{
ControlId = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS2_Y,
DIAxis = DirectInputState.AxislRz,
Filter = FilterType.InvertStick,
},
--Clutch
{
ControlId = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS3_X,
DIAxis = DirectInputState.rglSlider0,
Filter = FilterType.InvertStick,
},
--Handbrake
{
ControlId = GenericDeviceControlId.I_ICI_GENERICDEVICE_AXIS3_Y,
DIAxis = DirectInputState.rglSlider1,
Filter = FilterType.InvertStick,
},
},
},
5) Run game after editing the two config files and press the required START button on the Steering Wheel when asked for it (Actions = { InputAction.I_SKIP_MOVIE, ) part of you button layout, if it accepts the input and moves on into the game, you should be good to go, but just check the controller settings that is all correct.
Regards, Ian.
HID\VID_346E&PID_0002&MI_02\8&69EFF0A&0&0000
Can you adapt it?
Thanks.
Thanks for the effort.
Hello. I found your answer in the thread asking about the health of Moza R5. I downloaded the image from your link. I haven't tried it yet, but I've roughly figured out what needs to be done. I plan to try it this weekend. But I can't imagine how to identify the buttons and their indicator, and without this it makes no sense to register a base. I would also like to register a handbrake, but here I do not even know how to find it in the devices. If you can help me with some advice, then we could add Moza R9 to the file that you have already made and share it.
My need your help on how to determine the ID of the button on the steering wheel?