From a0c08abf57dd305e8c68b5f389fa6258704871fa Mon Sep 17 00:00:00 2001 From: Kode-Z <162533196+Kode-Z@users.noreply.github.com> Date: Tue, 18 Nov 2025 00:53:23 +0000 Subject: [PATCH] Custom touch controls for LA Noire (#835) * Add new ID to touch-layouts/ids.json * Add files via upload * Add files via upload --- touch-layouts/504518218.json | 7 + touch-layouts/ids.json | 3 +- touch-layouts/layouts/la-noire.json | 197 ++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 touch-layouts/504518218.json create mode 100644 touch-layouts/layouts/la-noire.json diff --git a/touch-layouts/504518218.json b/touch-layouts/504518218.json new file mode 100644 index 0000000..0aa5128 --- /dev/null +++ b/touch-layouts/504518218.json @@ -0,0 +1,7 @@ +{ + "name": "L.A. Noire", + "default_layout": "custom", + "layouts": [ + "la-noire" + ] +} \ No newline at end of file diff --git a/touch-layouts/ids.json b/touch-layouts/ids.json index 466dc45..862cb91 100644 --- a/touch-layouts/ids.json +++ b/touch-layouts/ids.json @@ -79,5 +79,6 @@ "C2LXXCC8TB61", "9PDKDBQGG2N2", "9PNZH065X7PV", - "BSXDD75Q561F" + "BSXDD75Q561F", + "BQDVBCS5Z4N1" ] diff --git a/touch-layouts/layouts/la-noire.json b/touch-layouts/layouts/la-noire.json new file mode 100644 index 0000000..89d7fed --- /dev/null +++ b/touch-layouts/layouts/la-noire.json @@ -0,0 +1,197 @@ +{ + "schema_version": 1, + "layouts": { + "custom": { + "name": "Custom", + "author": "Kode-Z", + "content": { + "left": { + "inner": [ + { + "type": "joystick", + "axis": { + "input": "axisXY", + "output": "leftJoystick" + }, + "action": "rightTrigger", + "relative": false, + "actionThreshold": 2, + "styles": { + "default": { + "knob": { + "faceImage": { + "type": "icon", + "value": "walk" + } + } + }, + "activated": { + "knob": { + "faceImage": { + "type": "icon", + "value": "sprint" + } + } + } + } + } + ], + "outer": [ + [ + { + "type": "button", + "action": "rightThumb", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "lookBehind2" + } + } + } + } + ], + null, + null, + [ + null, + { + "type": "button", + "action": "view", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "notebook" + } + } + } + }, + null + ], + [ + { + "type": "joystick", + "axis": { + "input": "axisXY", + "output": "leftJoystick", + "deadzone": { + "threshold": 0, + "radial": true + } + }, + "action": "leftTrigger", + "styles": { + "default": { + "knob": { + "faceImage": { + "type": "icon", + "value": "leftTrigger" + }, + "background": { + "type": "color", + "value": "#ffffff", + "opacity": 0.1 + }, + "stroke": { + "opacity": 0.1 + } + } + } + } + }, + { + "type": "button", + "action": "leftThumb", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "horn" + } + } + } + }, + { + "type": "button", + "action": "leftBumper" + } + ] + ] + }, + "right": { + "inner": [ + { + "type": "joystick", + "axis": { + "input": "axisXY", + "output": "rightJoystick" + } + } + ], + "outer": [ + { + "type": "button", + "action": "rightBumper" + }, + { + "type": "button", + "action": "rightTrigger" + }, + [ + { + "type": "button", + "action": "gamepadX" + }, + { + "type": "button", + "action": "gamepadB" + }, + { + "type": "button", + "action": "gamepadA", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "interact" + } + } + } + } + ], + [ + { + "type": "directionalPad", + "interaction": { + "activationType": "exclusive" + } + } + ], + null, + { + "type": "button", + "action": "gamepadY", + "styles": { + "default": { + "faceImage": { + "type": "icon", + "value": "enterCar" + } + } + } + } + ] + }, + "upper": { + "right": [ + { + "type": "button", + "action": "menu" + } + ] + } + } + } + } +} \ No newline at end of file