New custom touch controls. (#727)

* Add files via upload

* Add files via upload

* Update 1278031123.json

* Update south-of-midnight.json

Added segmented pull buttons to enhance combat/traversal gameplay!

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update south-of-midnight.json

* Update south-of-midnight.json

* south-of-midnight: minor adjustments

- Change segmented button's opacity from 0.3 to 0.5
- Add "exclusive" type for d-pad

---------

Co-authored-by: redphx <96280+redphx@users.noreply.github.com>
This commit is contained in:
Kode-Z 2025-05-31 04:32:58 +01:00 committed by GitHub
parent 6221ff16bf
commit 171768e617
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 444 additions and 23 deletions

View File

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

View File

@ -0,0 +1,7 @@
{
"name": "Conker Live and Reloaded",
"default_layout": "custom",
"layouts": [
"conker-live-and-reloaded"
]
}

View File

@ -0,0 +1,146 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "Custom",
"author": "Kode-Z",
"content": {
"left": {
"inner": [
{
"type": "joystick",
"expand": false,
"axis": {
"input": "axisXY",
"output": "leftJoystick"
}
}
],
"outer": [
null
]
},
"right": {
"inner": [
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick"
}
}
],
"outer": [
null,
null,
[
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
},
"action": "leftTrigger",
"styles": {
"default": {
"outline": {
"indicator": {
"type": "color",
"value": "#ffffff"
},
"stroke": {
"type": "solid",
"color": "#ffffff"
},
"opacity": 0.1
},
"knob": {
"faceImage": {
"type": "icon",
"value": "leftTrigger"
}
}
}
}
}
],
{
"type": "button",
"action": "gamepadA",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
},
{
"type": "button",
"action": "rightTrigger",
"pullAction": {
"type": "segmented",
"items": [
"gamepadA"
]
},
"styles": {
"default": {
"pullIndicator": [
{
"faceImage": {
"type": "icon",
"value": "jump"
}
}
]
},
"idle": {
"pullIndicator": [
null,
{
"opacity": 0.5
}
]
}
}
},
{
"type": "button",
"action": "gamepadB",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "weaponSelect"
}
}
}
}
]
},
"upper": {
"right": [
{
"type": "button",
"action": "menu"
},
{
"type": "button",
"action": "gamepadY"
},
{
"type": "button",
"action": "gamepadX"
}
]
}
}
}
}
}

View File

@ -0,0 +1,158 @@
{
"schema_version": 1,
"layouts": {
"custom": {
"name": "custom",
"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": "touchpad",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 2.5
},
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "aim"
}
}
}
}
],
"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"
}
]
},
"sensors": [
{
"type": "gyroscope",
"axis": {
"input": "axisXY",
"output": "rightJoystick",
"sensitivity": 1
}
}
]
}
}
}
}

View File

@ -41,7 +41,10 @@
null,
[
{
"type": "directionalPad"
"type": "directionalPad",
"interaction": {
"activationType": "exclusive"
}
}
],
null,
@ -70,35 +73,94 @@
"type": "button",
"action": "rightTrigger"
},
{
"type": "button",
"action": "gamepadB",
"pullAction": {
"type": "segmented",
"items": [
"gamepadX"
]
},
"styles": {
"default": {
"pullIndicator": [
{
"opacity": 0.5
},
{
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
]
},
"idle": {
"pullIndicator": [
{
"opacity": 0.0
}
]
}
}
},
{
"type": "button",
"action": "gamepadX",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
}
}
},
[
{
"type": "button",
"action": "gamepadB"
},
null,
{
"type": "button",
"action": "gamepadA",
"pullAction": {
"type": "segmented",
"items": [
"gamepadX",
"gamepadB"
]
},
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "jump"
}
}
}
}
],
[
{
"type": "button",
"action": "gamepadX",
"styles": {
"default": {
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
},
"pullIndicator": [
{
"opacity": 0.5
},
{
"opacity": 0.5
},
{
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
},
{
"faceImage": {
"type": "icon",
"value": "gamepadB"
}
}
]
},
"idle": {
"pullIndicator": [
{
"opacity": 0.0
}
]
}
}
},
@ -121,7 +183,48 @@
],
{
"type": "button",
"action": "leftTrigger"
"action": "leftTrigger",
"pullAction": {
"type": "segmented",
"items": [
"gamepadX",
"rightTrigger"
]
},
"styles": {
"default": {
"pullIndicator": [
{
"opacity": 0.5
},
{
"opacity": 0.5
},
{
"faceImage": {
"type": "icon",
"value": "lightPunch3"
}
},
{
"faceImage": {
"type": "icon",
"value": "rightTrigger"
}
}
]
},
"idle": {
"pullIndicator": [
{
"opacity": 0.0
},
{
"opacity": 0.0
}
]
}
}
},
{
"type": "button",
@ -144,4 +247,4 @@
}
}
}
}
}