{
  "schemaVersion": 3.0,
  "appVersion": "5.4.0",
  "config": {
    "appName": "Kotor",
    "author": "san4ez",
    "comment": "Knights of the Old Republic PC controller support",
    "processNames": [
      "swkotor.exe"
    ]
  },
  "devices": {
    "hardware": [
      {
        "id": 1,
        "name": "gamepad",
        "default": {
          "sticks": [
            {
              "name": "left",
              "zones": [
                {
                  "name": "low",
                  "x": 1601
                }
              ]
            },
            {
              "name": "right",
              "zones": [
                {
                  "name": "low",
                  "x": 1163
                }
              ]
            }
          ]
        }
      }
    ],
    "virtual": {
      "gamepads": [
        {
          "id": 1,
          "type": "360"
        }
      ]
    }
  },
  "masks": [
    {
      "id": 1,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 5,
          "description": "XB: LeftShoulder / DS4, Stadia: L1 / Nintendo: L"
        }
      ]
    },
    {
      "id": 2,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 6,
          "description": "XB: RightShoulder / DS4, Stadia: R1 / Nintendo: R"
        }
      ]
    },
    {
      "id": 3,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 8,
          "description": "XB, Stadia: Menu / XB360: Start / DS4: Options / Nintendo: Plus / DS3: Start"
        }
      ]
    },
    {
      "id": 4,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 31,
          "description": "XB: LeftLowerPaddle"
        }
      ]
    },
    {
      "id": 5,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 32,
          "description": "XB: RightLowerPaddle"
        }
      ]
    },
    {
      "id": 6,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 33,
          "description": "DpadUp"
        }
      ]
    },
    {
      "id": 7,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 34,
          "description": "DpadDown"
        }
      ]
    },
    {
      "id": 8,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 35,
          "description": "DpadLeft"
        }
      ]
    },
    {
      "id": 9,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 36,
          "description": "DpadRight"
        }
      ]
    },
    {
      "id": 10,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 39,
          "description": "LeftStickHighZone"
        }
      ]
    },
    {
      "id": 11,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 40,
          "description": "LeftStickUp"
        }
      ]
    },
    {
      "id": 12,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 41,
          "description": "LeftStickDown"
        }
      ]
    },
    {
      "id": 13,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 42,
          "description": "LeftStickLeft"
        }
      ]
    },
    {
      "id": 14,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 43,
          "description": "LeftStickRight"
        }
      ]
    },
    {
      "id": 15,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 47,
          "description": "RightStickUp"
        }
      ]
    },
    {
      "id": 16,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 48,
          "description": "RightStickDown"
        }
      ]
    },
    {
      "id": 17,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 49,
          "description": "RightStickLeft"
        }
      ]
    },
    {
      "id": 18,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 50,
          "description": "RightStickRight"
        }
      ]
    },
    {
      "id": 19,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 51,
          "description": "BtnLeftTrigger"
        }
      ]
    },
    {
      "id": 20,
      "set": [
        {
          "deviceId": 1,
          "buttonId": 55,
          "description": "BtnRightTrigger"
        }
      ]
    }
  ],
  "mappings": [
    {
      "condition": {
        "mask": {
          "id": 1,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 57,
            "description": "DIK_SPACE"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 2,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "buttonId": 2
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 3,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 1,
            "description": "DIK_ESCAPE"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 4,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 5,
            "description": "DIK_4"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 5,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 9,
            "description": "DIK_8"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 6,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 50,
            "description": "DIK_M"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 7,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 24,
            "description": "DIK_O"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 8,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 22,
            "description": "DIK_U"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 9,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 38,
            "description": "DIK_L"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 10,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 42,
            "description": "DIK_LSHIFT"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 11,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 17,
            "description": "DIK_W"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 12,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 31,
            "description": "DIK_S"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 13,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 30,
            "description": "DIK_A"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 14,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 32,
            "description": "DIK_D"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 15,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "direction": "down"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 16,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "direction": "up"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 17,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "direction": "left"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 18,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "direction": "right"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 19,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "keyboard": {
            "buttonId": 47,
            "description": "DIK_V"
          }
        }
      ]
    },
    {
      "condition": {
        "mask": {
          "id": 20,
          "activator": {
            "type": "single",
            "mode": "hold_until_release"
          }
        }
      },
      "macros": [
        {
          "mouse": {
            "buttonId": 1
          }
        }
      ]
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 31,
          "description": "XB: LeftLowerPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    },
    {
      "condition": {
        "hardware": {
          "deviceId": 1,
          "buttonId": 32,
          "description": "XB: RightLowerPaddle"
        }
      },
      "hardware": {
        "unmap": true
      }
    }
  ]
}
