From c5dc438f039772f5e76d015afa2a282c315d79d8 Mon Sep 17 00:00:00 2001 From: Kode-Z <162533196+Kode-Z@users.noreply.github.com> Date: Wed, 16 Jul 2025 02:59:15 +0100 Subject: [PATCH] Custom touch controls for RoboCop: Rogue City (#751) * Add files via upload * Add files via upload --- touch-layouts/1911508378.json | 7 + touch-layouts/layouts/robocop-rogue-city.json | 302 ++++++++++++++++++ 2 files changed, 309 insertions(+) create mode 100644 touch-layouts/1911508378.json create mode 100644 touch-layouts/layouts/robocop-rogue-city.json diff --git a/touch-layouts/1911508378.json b/touch-layouts/1911508378.json new file mode 100644 index 0000000..e84e3b1 --- /dev/null +++ b/touch-layouts/1911508378.json @@ -0,0 +1,7 @@ +{ + "name": "RoboCop: Rogue City", + "default_layout": "custom", + "layouts": [ + "robocop-rogue-city" + ] +} \ No newline at end of file diff --git a/touch-layouts/layouts/robocop-rogue-city.json b/touch-layouts/layouts/robocop-rogue-city.json new file mode 100644 index 0000000..6e5e72c --- /dev/null +++ b/touch-layouts/layouts/robocop-rogue-city.json @@ -0,0 +1,302 @@ +{ + "schema_version": 1, + "layouts": { + "custom": { + "name": "Custom", + "author": "Kode-Z", + "content": { + "layers": { + "AimTouchpad": { + "right": { + "inner": [ + { + "type": "touchpad", + "axis": [ + { + "input": "axisX", + "output": "rightJoystickX", + "sensitivity": 9 + }, + { + "input": "axisY", + "output": "rightJoystickY", + "sensitivity": 9 + } + ], + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "aim" + } + } + } + } + ] + }, + "sensors": [ + { + "type": "gyroscope", + "axis": { + "input": "axisXY", + "output": "rightJoystick", + "sensitivity": 1.5 + } + } + ] + } + }, + "left": { + "inner": [ + { + "type": "joystick", + "action": "leftThumb", + "actionThreshold": 0.75, + "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" + }, + "background": { + "type": "color", + "value": "#152e73" + } + } + } + } + } + ], + "outer": [ + { + "type": "button", + "action": "rightTrigger", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "fire" + } + } + } + }, + null, + [ + { + "type": "directionalPad", + "interaction": { + "activationType": "exclusive" + } + } + ], + { + "type": "button", + "action": "rightThumb", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "brightness" + } + } + } + }, + { + "type": "button", + "action": "leftBumper" + }, + [ + { + "type": "joystick", + "axis": { + "input": "axisXY", + "output": "leftJoystick", + "deadzone": { + "threshold": 0.5, + "radial": true + } + }, + "action": [ + "leftTrigger", + { + "type": "layer", + "target": "AimTouchpad" + } + ], + "styles": { + "default": { + "knob": { + "faceImage": { + "type": "icon", + "value": "aim" + }, + "background": { + "type": "color", + "value": "#152e73", + "opacity": 0.2 + }, + "stroke": { + "opacity": 0.1 + } + } + } + } + } + ] + ] + }, + "right": { + "inner": [ + { + "type": "joystick", + "expand": false, + "axis": { + "input": "axisXY", + "output": "rightJoystick" + } + } + ], + "outer": [ + [ + { + "type": "button", + "action": [ + "leftTrigger", + { + "type": "layer", + "target": "AimTouchpad" + } + ], + "toggle": true, + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "aim" + } + } + } + }, + null + ], + null, + { + "type": "button", + "action": "gamepadA", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "dash" + } + } + } + }, + [ + { + "type": "touchpad", + "axis": { + "input": "axisXY", + "output": "rightJoystick", + "deadzone": { + "threshold": 1.0, + "radial": true + } + }, + "renderAsButton": true, + "action": [ + "rightTrigger" + ], + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "fire" + } + } + } + }, + { + "type": "button", + "action": "rightBumper", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "punch" + } + } + } + }, + { + "type": "button", + "action": "gamepadX" + } + ], + { + "type": "button", + "action": "gamepadY", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "weaponSelect" + } + } + } + }, + { + "type": "button", + "action": "gamepadB", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "health" + } + } + } + } + ] + }, + "upper": { + "right": [ + { + "type": "button", + "action": "menu" + }, + { + "type": "button", + "action": "view", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "map" + } + } + } + } + ] + } + } + } + } +} \ No newline at end of file