Custom touch controls for Metal Gear Solid games. (#787)

* Update south-of-midnight.json

Adjustment to size of right joystick.

* Update quake.json

Opacity adjustments.

* Update resident-evil-4-remake.json

Opacity adjustments.

* Update resident-evil-7.json

Opacity adjustments.

* Update resident-evil-village.json

Opacity adjustments.

* Add files via upload

* Add files via upload

* Update gta-de.json

Opacity adjustments.

* Update gta-4.json

* Update gta-de.json

* Update gta-v.json
This commit is contained in:
Kode-Z
2025-09-09 09:30:59 +01:00
committed by GitHub
parent 634c8824a1
commit 38ae704eb0
16 changed files with 1202 additions and 88 deletions

View File

@@ -0,0 +1,7 @@
{
"name": "Metal Gear Solid 2",
"default_layout": "custom",
"layouts": [
"metal-gear-solid-2"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Metal Gear Solid 3",
"default_layout": "custom",
"layouts": [
"metal-gear-solid-3"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Metal Gear Solid 1",
"default_layout": "custom",
"layouts": [
"metal-gear-solid-1"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Metal Gear Solid: HD Collection",
"default_layout": "mgs2",
"layouts": [
"metal-gear-solid-hd"
]
}

View File

@@ -9,7 +9,6 @@
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"

View File

@@ -9,7 +9,6 @@
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"
@@ -39,21 +38,18 @@
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
@@ -72,21 +68,18 @@
"action": "leftBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}

View File

@@ -9,7 +9,6 @@
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"

View File

@@ -0,0 +1,190 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"layers": {
"rJoystick": {
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
]
}
}
},
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
null,
null,
null,
null,
null,
{
"type": "button",
"action": "leftBumper"
},
[
{
"type": "button",
"action": [
"leftTrigger",
{
"type": "layer",
"target": "rJoystick"
}
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightTrigger"
}
],
{
"type": "button",
"action": "rightBumper"
},
null,
[
null,
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadB"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
}
],
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadX"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "look"
}
}
},
"toggle": true
}
]
},
"lower": {
"leftCenter": [
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "radio"
}
}
}
}
],
"rightCenter": [
{
"type": "button",
"action": "menu"
}
]
}
}
}
}
}

View File

@@ -0,0 +1,220 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"layers": {
"rJoystick": {
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
]
}
}
},
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper",
"toggle": true
},
null,
null,
null,
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
}
}
],
[
{
"type": "button",
"action": [
"leftTrigger",
{
"type": "layer",
"target": "rJoystick"
}
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightTrigger"
}
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
},
null,
[
null,
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadB"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
}
],
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadX"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
{
"type": "button",
"action": "leftThumb"
}
]
},
"lower": {
"leftCenter": [
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "radio"
}
}
}
}
],
"rightCenter": [
{
"type": "button",
"action": "menu"
}
]
}
}
}
}
}

View File

@@ -0,0 +1,243 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"layers": {
"rJoystick": {
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
]
}
}
},
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper",
"toggle": true
},
null,
[
{
"type": "directionalPad",
"interaction": {
"activationType": "exclusive"
},
"scale": 1.3
}
],
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
}
}
],
[
{
"type": "button",
"action": [
"leftTrigger",
{
"type": "layer",
"target": "rJoystick"
}
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightTrigger"
}
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
},
null,
[
null,
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadB"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
}
],
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadX"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
{
"type": "button",
"action": "leftThumb"
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "rightThumb",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "switchCamera"
}
}
}
}
]
},
"lower": {
"leftCenter": [
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "radio"
}
}
}
}
],
"rightCenter": [
{
"type": "button",
"action": "menu"
}
]
}
}
}
}
}

View File

@@ -0,0 +1,458 @@
{
"schema_version": 1,
"layouts": {
"mgs2": {
"name": "MGS 2",
"author": "Kode-Z",
"content": {
"layers": {
"rJoystick": {
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
]
}
}
},
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper",
"toggle": true
},
null,
null,
null,
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
}
}
],
[
{
"type": "button",
"action": [
"leftTrigger",
{
"type": "layer",
"target": "rJoystick"
}
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightTrigger"
}
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
},
null,
[
null,
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadB"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
}
],
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadX"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
{
"type": "button",
"action": "leftThumb"
}
]
},
"lower": {
"leftCenter": [
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "radio"
}
}
}
}
],
"rightCenter": [
{
"type": "button",
"action": "menu"
}
]
}
}
},
"mgs3": {
"name": "MGS 3",
"author": "Kode-Z",
"content": {
"layers": {
"rJoystick": {
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
]
}
}
},
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper",
"toggle": true
},
null,
[
{
"type": "directionalPad",
"interaction": {
"activationType": "exclusive"
},
"scale": 1.3
}
],
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "leftBumper",
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
}
}
],
[
{
"type": "button",
"action": [
"leftTrigger",
{
"type": "layer",
"target": "rJoystick"
}
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightTrigger"
}
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
},
null,
[
null,
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadB"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
}
],
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"gamepadX"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
{
"type": "button",
"action": "leftThumb"
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "rightThumb",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "switchCamera"
}
}
}
}
]
},
"lower": {
"leftCenter": [
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "radio"
}
}
}
}
],
"rightCenter": [
{
"type": "button",
"action": "menu"
}
]
}
}
}
}
}

View File

@@ -64,21 +64,18 @@
"action": "rightBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "weaponSelect"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}

View File

@@ -62,21 +62,18 @@
"action": "leftBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftBumper"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}
@@ -97,21 +94,18 @@
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "aim"
"value": "leftTrigger"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}

View File

@@ -61,21 +61,18 @@
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "aim"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}

View File

@@ -61,21 +61,18 @@
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "aim"
},
"background": {
"type": "color",
"value": "#ffffff",
"opacity": 0.1
},
"stroke": {
"opacity": 0.1
}
}
}

View File

@@ -57,7 +57,6 @@
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "rightJoystick"