mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-09-04 19:26:33 +02:00
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:
7
touch-layouts/1611051325.json
Normal file
7
touch-layouts/1611051325.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Grand Theft Auto: Vice City - The Definitive Edition",
|
||||||
|
"default_layout": "custom",
|
||||||
|
"layouts": [
|
||||||
|
"gta-de"
|
||||||
|
]
|
||||||
|
}
|
7
touch-layouts/1778348973.json
Normal file
7
touch-layouts/1778348973.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Grand Theft Auto Online (Xbox Series X/S)",
|
||||||
|
"default_layout": "custom",
|
||||||
|
"layouts": [
|
||||||
|
"gta-v"
|
||||||
|
]
|
||||||
|
}
|
7
touch-layouts/1814675537.json
Normal file
7
touch-layouts/1814675537.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Grand Theft Auto: San Andreas - The Definitive Edition",
|
||||||
|
"default_layout": "custom",
|
||||||
|
"layouts": [
|
||||||
|
"gta-de"
|
||||||
|
]
|
||||||
|
}
|
7
touch-layouts/1955542194.json
Normal file
7
touch-layouts/1955542194.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Grand Theft Auto 3 - The Definitive Edition",
|
||||||
|
"default_layout": "custom",
|
||||||
|
"layouts": [
|
||||||
|
"gta-de"
|
||||||
|
]
|
||||||
|
}
|
7
touch-layouts/972249091.json
Normal file
7
touch-layouts/972249091.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Grand Theft Auto V (Xbox One)",
|
||||||
|
"default_layout": "custom",
|
||||||
|
"layouts": [
|
||||||
|
"gta-v"
|
||||||
|
]
|
||||||
|
}
|
231
touch-layouts/layouts/gta-de.json
Normal file
231
touch-layouts/layouts/gta-de.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
230
touch-layouts/layouts/gta-v.json
Normal file
230
touch-layouts/layouts/gta-v.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -165,37 +165,29 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "joystick",
|
"type": "touchpad",
|
||||||
"axis": {
|
"axis": [
|
||||||
"input": "axisXY",
|
{
|
||||||
"output": "rightJoystick",
|
"input": "axisX",
|
||||||
"deadzone": {
|
"output": "rightJoystickX",
|
||||||
"threshold": 0,
|
"sensitivity": 3
|
||||||
"radial": true
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"input": "axisY",
|
||||||
|
"output": "rightJoystickY",
|
||||||
|
"sensitivity": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"renderAsButton": true,
|
||||||
"action": "rightTrigger",
|
"action": "rightTrigger",
|
||||||
"styles": {
|
"styles": {
|
||||||
"default": {
|
"default": {
|
||||||
"outline": {
|
|
||||||
"indicator": {
|
|
||||||
"type": "color",
|
|
||||||
"value": "#ffffff"
|
|
||||||
},
|
|
||||||
"stroke": {
|
|
||||||
"type": "solid",
|
|
||||||
"color": "#ffffff"
|
|
||||||
},
|
|
||||||
"opacity": 0.5
|
|
||||||
},
|
|
||||||
"knob": {
|
|
||||||
"faceImage": {
|
"faceImage": {
|
||||||
"type": "icon",
|
"type": "icon",
|
||||||
"value": "fire"
|
"value": "fire"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
|
Reference in New Issue
Block a user