New custom touch controls (GTA Games!) (#766)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update perfect-dark.json

Changed the “fire” button to a touchpad for more accurate aiming when firing a weapon.
This commit is contained in:
Kode-Z
2025-08-15 00:00:56 +01:00
committed by GitHub
parent 30120a775f
commit 04a3d16787
8 changed files with 512 additions and 24 deletions

View File

@@ -0,0 +1,7 @@
{
"name": "Grand Theft Auto: Vice City - The Definitive Edition",
"default_layout": "custom",
"layouts": [
"gta-de"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Grand Theft Auto Online (Xbox Series X/S)",
"default_layout": "custom",
"layouts": [
"gta-v"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Grand Theft Auto: San Andreas - The Definitive Edition",
"default_layout": "custom",
"layouts": [
"gta-de"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Grand Theft Auto 3 - The Definitive Edition",
"default_layout": "custom",
"layouts": [
"gta-de"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Grand Theft Auto V (Xbox One)",
"default_layout": "custom",
"layouts": [
"gta-v"
]
}

View File

@@ -0,0 +1,231 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
null,
null,
[
{
"type": "directionalPad"
}
],
null,
null,
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
},
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
}
}
}
}
}
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightBumper"
},
{
"type": "button",
"action": "rightThumb",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lookBehind2"
}
}
}
},
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0.20
}
},
"renderAsButton": true,
"action": [
"rightTrigger"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "rightTrigger"
}
}
}
}
],
[
null,
{
"type": "button",
"action": "leftThumb"
},
null
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "sprint"
}
}
}
},
{
"type": "button",
"action": "gamepadB",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch"
}
}
}
},
{
"type": "button",
"action": "gamepadX",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "enterCar"
}
}
}
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
null,
null,
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "switchCamera"
}
}
}
}
]
}
}
}
}
}

View File

@@ -0,0 +1,230 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
null,
null,
[
{
"type": "directionalPad"
}
],
null,
null,
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
},
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
}
}
}
}
}
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightBumper"
},
{
"type": "button",
"action": "rightThumb",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lookBehind2"
}
}
}
},
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0.20
}
},
"renderAsButton": true,
"action": [
"rightTrigger"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "rightTrigger"
}
}
}
}
],
[
null,
{
"type": "button",
"action": "leftThumb"
},
null
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "sprint"
}
}
}
},
{
"type": "button",
"action": "gamepadB",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch"
}
}
}
},
{
"type": "button",
"action": "gamepadX",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "enterCar"
}
}
}
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
null,
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "switchCamera"
}
}
}
}
]
}
}
}
}
}

View File

@@ -165,34 +165,26 @@
}
},
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0,
"radial": true
"type": "touchpad",
"axis": [
{
"input": "axisX",
"output": "rightJoystickX",
"sensitivity": 3
},
{
"input": "axisY",
"output": "rightJoystickY",
"sensitivity": 3
}
},
],
"renderAsButton": true,
"action": "rightTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "fire"
}
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}