Skip to content

Instantly share code, notes, and snippets.

@mjmenger
Last active January 30, 2021 17:18
Show Gist options
  • Select an option

  • Save mjmenger/722359eb2fbc49020173dc99e3b9d3d7 to your computer and use it in GitHub Desktop.

Select an option

Save mjmenger/722359eb2fbc49020173dc99e3b9d3d7 to your computer and use it in GitHub Desktop.
dirt4 logitech g920

In Dirt 4 my Logitech G920 stopped working. By "stopped working" I mean that the throttle was consistently at 100% and menu navigation was impossible due to a scrolling issue.

After some searching and integrating various suggestions, I made a couple of changes to the xml file that drives how Dirt 4 interprets the G920 input. This fix isn't perfect as some menu navigation was lost in the process and I have to resort to the keyboard. Hopefully, I will be able to fix that in the future. If you have suggestions for improvements, please let me know.

In order to use this file, replace the existing lg_g920.xml in the following location.

<wherever your steam library is installed>\steamapps\common\DiRT 4\input\actionmaps\lg_g920.xml

TBD what you have to do in order to apply the new xml within Dirt 4.

<?xml version="1.0" encoding="utf-8"?>
<action_map name="lg_g920" device_name="lg_g920" library="lib_direct_input">
<group name="driving">
<action name="accelerate">
<axis name="di_y_axis" type="postive" deadzone="0.0" saturation="1.0" />
</action>
<action name="brake">
<axis name="di_z_axis_rotation" type="negative" deadzone="0.0" saturation="1.0" />
</action>
<action name="change_view">
<axis name="di_button_3" />
</action>
<action name="clutch">
<axis name="di_slider_0" type="negative" deadzone="0.2" saturation="0.6" />
</action>
<group name="gear">
<group name="h_pattern">
<action name="1">
<axis name="di_button_12" />
</action>
<action name="2">
<axis name="di_button_13" />
</action>
<action name="3">
<axis name="di_button_14" />
</action>
<action name="4">
<axis name="di_button_15" />
</action>
<action name="5">
<axis name="di_button_16" />
</action>
<action name="6">
<axis name="di_button_17" />
</action>
<action name="reverse">
<axis name="di_button_11" />
</action>
</group>
<group name="sequential">
<action name="up">
<axis name="di_button_4" />
</action>
<action name="down">
<axis name="di_button_5" />
</action>
</group>
</group>
<action name="handbrake">
<axis name="di_button_1" />
</action>
<action name="headlights">
<axis name="di_button_2" />
</action>
<group name="look">
<action name="back">
<axis name="di_button_9" />
</action>
<action name="left">
<axis name="di_dpad_0_left" />
</action>
<action name="right">
<axis name="di_dpad_0_right" />
</action>
</group>
<action name="pause">
<axis name="di_button_6" />
</action>
<action name="reset_vehicle">
<axis name="di_dpad_0_down" />
</action>
<action name="roadside_repair">
<axis name="di_dpad_0_up" />
</action>
<group name="steer">
<action name="left">
<axis name="di_x_axis" type="lower" deadzone="0.0" saturation="1.0" />
</action>
<action name="right">
<axis name="di_x_axis" type="upper" deadzone="0.0" saturation="1.0" />
</action>
</group>
<action name="wipers">
<axis name="di_button_0" />
</action>
</group>
<group name="school">
<action name="instructor_recap">
<axis name="di_dpad_0_up" />
</action>
</group>
<group name="menu">
<group name="button">
<action name="3">
<axis name="di_button_2" />
</action>
<action name="4">
<axis name="di_button_3" />
</action>
<action name="start">
<axis name="di_button_1" />
</action>
<action name="select">
<axis name="di_button_8" />
</action>
<group name="shoulder">
<action name="left">
<axis name="di_button_5" />
</action>
<action name="right">
<axis name="di_button_4" />
</action>
</group>
</group>
<group name="navigate">
<action name="back">
<axis name="di_button_1" />
</action>
<action name="down">
<axis name="di_dpad_0_down" />
</action>
<action name="left">
<axis name="di_dpad_0_left" />
</action>
<action name="right">
<axis name="di_dpad_0_right" />
</action>
<action name="select">
<axis name="di_button_0" />
</action>
<action name="up">
<axis name="di_dpad_0_up" />
</action>
<group name="scroll">
<action name="down">
</action>
<action name="up">
</action>
</group>
<action name="cancel_keybinding">
<axis name="di_button_6" />
</action>
</group>
</group>
<group name="replay">
<action name="exit">
<axis name="di_button_1" />
</action>
<action name="forward">
<axis name="di_x_axis" type="upper" deadzone="0.0" saturation="1.0" />
</action>
<action name="rewind">
<axis name="di_x_axis" type="lower" deadzone="0.0" saturation="1.0" />
</action>
<action name="playback_step_up">
<axis name="di_dpad_0_up" />
</action>
<action name="playback_step_down">
<axis name="di_dpad_0_down" />
</action>
<action name="pause">
<axis name="di_button_0" />
</action>
<group name="toggle">
<action name="music">
<axis name="di_button_3" />
</action>
<action name="ui">
<axis name="di_button_9" />
</action>
</group>
<group name="camera">
<action name="previous">
<axis name="di_button_5" />
</action>
<action name="next">
<axis name="di_button_4" />
</action>
</group>
</group>
<group name="network">
<group name="toggle">
<action name="voice">
<axis name="di_button_7" />
</action>
</group>
</group>
</action_map>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment