New custom touch controls for Resident Evil 4 Remake, Sonic Mania and Quake (#771)

* Add files via upload

* Add files via upload

* Update doom-doom-ii.json

Added another layout (joystick).

* Update 1714795112.json

Updated to reflect additional layout.

* Update doom-64.json

Added another layout (joystick).

* Update 2136041956.json

Amended to reflect additional layout.

* Update resident-evil-4-remake.json

Minor changes

* Update resident-evil-4-remake.json

Last chance - added RB button for solving puzzles / menu navigation.

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload
This commit is contained in:
Kode-Z
2025-08-26 02:19:38 +01:00
committed by GitHub
parent 04a3d16787
commit 5b53236706
10 changed files with 791 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "DOOM + DOOM II",
"default_layout": "custom",
"default_layout": "touchpad",
"layouts": [
"doom-doom-ii"
]
}
}

View File

@@ -0,0 +1,7 @@
{
"name": "Quake",
"default_layout": "custom",
"layouts": [
"quake"
]
}

View File

@@ -0,0 +1,7 @@
{
"name": "Resident Evil 4 Remake",
"default_layout": "type-a-1",
"layouts": [
"resident-evil-4-remake"
]
}

View File

@@ -1,7 +1,7 @@
{
"name": "DOOM 64",
"product_id": "9MXND4PQLK3W",
"default_layout": "custom",
"default_layout": "touchpad",
"layouts": [
"doom-64"
]

View File

@@ -0,0 +1,7 @@
{
"name": "Sonic Mania",
"default_layout": "custom",
"layouts": [
"sonic-mania"
]
}

View File

@@ -1,8 +1,8 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"touchpad": {
"name": "Touchpad",
"author": "Kode-Z",
"content": {
"left": {
@@ -155,6 +155,138 @@
}
]
}
},
"joystick": {
"name": "Joystick",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
},
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "walk"
}
}
}
}
}
],
"outer": [
null,
null,
null,
null,
null,
null,
null,
{
"type": "button",
"action": "leftBumper"
}
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper"
},
null,
{
"type": "button",
"action": "leftTrigger",
"toggle": true,
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "sprint"
}
}
}
},
null,
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
},
[
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 2.5
},
"action": "rightTrigger",
"renderAsButton": true,
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
}
]
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "map"
}
}
}
},
{
"type": "button",
"action": "gamepadB"
}
]
}
}
}
}
}

View File

@@ -1,8 +1,8 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "custom",
"touchpad": {
"name": "Touchpad",
"author": "Kode-Z",
"content": {
"left": {
@@ -153,6 +153,140 @@
}
]
}
},
"joystick": {
"name": "Joystick",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"expand": true,
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
}
}
],
"outer": [
{
"type": "button",
"action": "rightBumper"
},
null,
[
{
"type": "directionalPad",
"interaction": {
"activationType": "exclusive"
},
"scale": 1.2
}
],
null,
null,
null,
{
"type": "button",
"action": "leftBumper"
}
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
null,
null,
{
"type": "button",
"action": "leftTrigger",
"toggle": true,
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "walk"
}
}
}
},
null,
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
},
[
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 2.5
},
"action": "rightTrigger",
"renderAsButton": true,
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
}
]
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "map"
}
}
}
},
{
"type": "button",
"action": "gamepadB"
},
{
"type": "button",
"action": "gamepadX"
}
]
}
}
}
}
}
}

View File

@@ -0,0 +1,198 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"action": "leftThumb",
"actionThreshold": 2,
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
},
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "walk"
}
}
},
"activated": {
"knob": {
"faceImage": {
"type": "icon",
"value": "sprint"
}
}
}
}
}
],
"outer": [
null,
null,
null,
null,
[
{
"type": "directionalPad",
"scale": 0.8
}
],
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"action": "rightBumper",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "weaponSelect"
}
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0,
"radial": true
}
},
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.5
},
"knob": {
"faceImage": {
"type": "icon",
"value": "look"
}
}
}
}
}
],
"outer": [
null,
null,
null,
null,
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
},
[
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"rightTrigger"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
},
null
]
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "view"
},
{
"type": "button",
"action": "gamepadB"
},
{
"type": "button",
"action": "gamepadY"
},
{
"type": "button",
"action": "gamepadX"
}
]
}
}
}
}
}

View File

@@ -0,0 +1,243 @@
{
"schema_version": 1,
"layouts": {
"type-a-1": {
"name": "Type A-1",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick"
},
"action": "leftThumb",
"relative": false,
"actionThreshold": 2,
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "walk"
}
}
},
"activated": {
"knob": {
"faceImage": {
"type": "icon",
"value": "sprint"
}
}
}
}
}
],
"outer": [
null,
null,
[
{
"type": "directionalPad",
"interaction": {
"activationType": "exclusive"
},
"scale": 1
}
],
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"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"
}
}
}
}
}
],
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"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": "aim"
}
}
}
}
}
]
]
},
"right": {
"inner": [
{
"type": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 5,
"deadzone": {
"threshold": 0,
"radial": true
}
},
"renderAsButton": true,
"action": [
"rightTrigger"
],
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "fire"
}
}
}
}
],
"outer": [
[
{
"type": "button",
"action": "rightBumper"
},
{
"type": "button",
"action": "rightThumb"
},
{
"type": "button",
"action": "gamepadB",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "crouch"
}
}
}
}
],
{
"type": "button",
"action": "gamepadX",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "reload"
}
}
}
},
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "interact"
}
}
}
},
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
]
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "view",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "map"
}
}
}
},
{
"type": "button",
"action": "gamepadY",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "inventory"
}
}
}
}
]
}
}
}
}
}

View File

@@ -0,0 +1,55 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "directionalPad",
"scale": 2
}
]
},
"right": {
"inner": [
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "gamepadB"
},
{
"type": "button",
"action": "gamepadY"
},
{
"type": "button",
"action": "gamepadX"
}
]
}
}
}
}
}