{
  "schemaVersion": 3.0,
  "appVersion": "5.4.0",
  "config": {
    "appName": "xbox",
    "author": "ultracheese",
    "comment": "Forza Horizon 4 with PS4 controller + Gyro steering",
    "processNames": [
      "ForzaHorizon4.exe"
    ]
  },
  "devices": {
    "hardware": [
      {
        "id": 1,
        "name": "gamepad",
        "default": {
          "sticks": [
            {
              "name": "gyro",
              "tilt": true
            }
          ]
        }
      }
    ],
    "virtual": {
      "gamepads": [
        {
          "id": 1,
          "type": "360"
        }
      ]
    }
  },
  "masks": [
    {
      "id": 1,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 29,
          "description": "XB: LeftUpperPaddle"
        }
      ]
    },
    {
      "id": 2,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 30,
          "description": "XB: RightUpperPaddle"
        }
      ]
    },
    {
      "id": 3,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 31,
          "description": "XB: LeftLowerPaddle"
        }
      ]
    },
    {
      "id": 4,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 32,
          "description": "XB: RightLowerPaddle"
        }
      ]
    },
    {
      "id": 5,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 68,
          "description": "Gyroscope up"
        }
      ]
    },
    {
      "id": 6,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 69,
          "description": "Gyroscope down"
        }
      ]
    },
    {
      "id": 7,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 70,
          "description": "Gyroscope left"
        }
      ]
    },
    {
      "id": 8,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 71,
          "description": "Gyroscope right"
        }
      ]
    },
    {
      "id": 9,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 5,
          "description": "XB: LeftShoulder / DS4, Stadia: L1 / Nintendo: L"
        },
        {
          "deviceId": 1,
          "buttonId": 6,
          "description": "XB: RightShoulder / DS4, Stadia: R1 / Nintendo: R"
        }
      ]
    },
    {
      "id": 10,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 9,
          "description": "XB, Nintendo: LeftStick / DS4, Stadia: L3"
        },
        {
          "deviceId": 1,
          "buttonId": 10,
          "description": "XB, Nintendo: RightStick / DS4, Stadia: R3"
        }
      ]
    }
  ],
  "commands": [
    {
      "id": 1,
      "type": 5,
      "name": "Reset Tilt"
    },
    {
      "id": 2,
      "type": 6,
      "name": "Toggle Gyro On/Off"
    }
  ],
  "mappings": [
    {
      "condition": {
        "mask": {
          "id": 3,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 51,
            "description": "BtnLeftTrigger"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 4,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 55,
            "description": "BtnRightTrigger"
          }
        }
      ]
    },
    {
      "description": "Steering",
      "condition": {
        "mask": {
          "id": 5,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 40,
            "description": "LeftStickUp",
            "absolute": true,
            "value": 32767
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 6,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 41,
            "description": "LeftStickDown",
            "absolute": true,
            "value": 32767
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 7,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 42,
            "description": "LeftStickLeft",
            "absolute": true,
            "value": 32767
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 8,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "gamepad": {
            "id": 1,
            "buttonId": 43,
            "description": "LeftStickRight",
            "absolute": true,
            "value": 32767
          }
        }
      ]
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 29,
          "description": "XB: LeftUpperPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 30,
          "description": "XB: RightUpperPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 31,
          "description": "XB: LeftLowerPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 32,
          "description": "XB: RightLowerPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    },
    {
      "condition": {
        "mask": {
          "id": 9,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "command": {
            "id": 1
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 10,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "command": {
            "id": 2
          }
        }
      ]
    }
  ]
}
