mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-11-10 16:46:06 -08:00
refactor(controller): remove unused rightStickHorizontal binding
- Drop the Alt Horizontal row from Alt+C; no action read this binding - Remove the key from config defaults, resolver, IPC validator, and types - Regenerate config.example.jsonc and remove the inactive-binding exemption
This commit is contained in:
17 files changed
+2
-60
No files matched your search
@@ -194,11 +194,6 @@
|
|||||||
"axisIndex": 1, // Raw axis index captured for this analog controller action.
|
"axisIndex": 1, // Raw axis index captured for this analog controller action.
|
||||||
"dpadFallback": "vertical" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
"dpadFallback": "vertical" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
||||||
}, // Axis binding descriptor used for primary popup scrolling. Use Alt+C learn mode or set a raw axis descriptor manually.
|
}, // Axis binding descriptor used for primary popup scrolling. Use Alt+C learn mode or set a raw axis descriptor manually.
|
||||||
"rightStickHorizontal": {
|
|
||||||
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
|
||||||
"axisIndex": 3, // Raw axis index captured for this analog controller action.
|
|
||||||
"dpadFallback": "none" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
|
||||||
}, // Axis binding descriptor reserved for alternate right-stick mappings. Use Alt+C learn mode or set a raw axis descriptor manually.
|
|
||||||
"rightStickVertical": {
|
"rightStickVertical": {
|
||||||
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
||||||
"axisIndex": 4, // Raw axis index captured for this analog controller action.
|
"axisIndex": 4, // Raw axis index captured for this analog controller action.
|
||||||
|
|||||||
@@ -194,11 +194,6 @@
|
|||||||
"axisIndex": 1, // Raw axis index captured for this analog controller action.
|
"axisIndex": 1, // Raw axis index captured for this analog controller action.
|
||||||
"dpadFallback": "vertical" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
"dpadFallback": "vertical" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
||||||
}, // Axis binding descriptor used for primary popup scrolling. Use Alt+C learn mode or set a raw axis descriptor manually.
|
}, // Axis binding descriptor used for primary popup scrolling. Use Alt+C learn mode or set a raw axis descriptor manually.
|
||||||
"rightStickHorizontal": {
|
|
||||||
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
|
||||||
"axisIndex": 3, // Raw axis index captured for this analog controller action.
|
|
||||||
"dpadFallback": "none" // Optional D-pad fallback used when this analog controller action should also read D-pad input. Values: none | horizontal | vertical
|
|
||||||
}, // Axis binding descriptor reserved for alternate right-stick mappings. Use Alt+C learn mode or set a raw axis descriptor manually.
|
|
||||||
"rightStickVertical": {
|
"rightStickVertical": {
|
||||||
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
"kind": "axis", // Analog binding input source kind. Values: none | axis
|
||||||
"axisIndex": 4, // Raw axis index captured for this analog controller action.
|
"axisIndex": 4, // Raw axis index captured for this analog controller action.
|
||||||
|
|||||||
@@ -1297,7 +1297,6 @@ test('parses controller settings with logical bindings and tuning knobs', () =>
|
|||||||
"toggleMpvPause": "leftStickPress",
|
"toggleMpvPause": "leftStickPress",
|
||||||
"leftStickHorizontal": "rightStickX",
|
"leftStickHorizontal": "rightStickX",
|
||||||
"leftStickVertical": "rightStickY",
|
"leftStickVertical": "rightStickY",
|
||||||
"rightStickHorizontal": "leftStickX",
|
|
||||||
"rightStickVertical": "leftStickY"
|
"rightStickVertical": "leftStickY"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ export const CORE_DEFAULT_CONFIG: Pick<
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
|
|||||||
@@ -125,11 +125,6 @@ export function buildCoreConfigOptionRegistry(
|
|||||||
defaultValue: defaultConfig.controller.bindings.leftStickVertical,
|
defaultValue: defaultConfig.controller.bindings.leftStickVertical,
|
||||||
description: 'Axis binding descriptor used for primary popup scrolling.',
|
description: 'Axis binding descriptor used for primary popup scrolling.',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: 'rightStickHorizontal',
|
|
||||||
defaultValue: defaultConfig.controller.bindings.rightStickHorizontal,
|
|
||||||
description: 'Axis binding descriptor reserved for alternate right-stick mappings.',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: 'rightStickVertical',
|
id: 'rightStickVertical',
|
||||||
defaultValue: defaultConfig.controller.bindings.rightStickVertical,
|
defaultValue: defaultConfig.controller.bindings.rightStickVertical,
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ const CONTROLLER_BUTTON_INDEX_KEY_BY_BINDING: Record<
|
|||||||
const CONTROLLER_AXIS_FALLBACK_BY_SLOT = {
|
const CONTROLLER_AXIS_FALLBACK_BY_SLOT = {
|
||||||
leftStickHorizontal: 'horizontal',
|
leftStickHorizontal: 'horizontal',
|
||||||
leftStickVertical: 'vertical',
|
leftStickVertical: 'vertical',
|
||||||
rightStickHorizontal: 'none',
|
|
||||||
rightStickVertical: 'none',
|
rightStickVertical: 'none',
|
||||||
} as const satisfies Record<string, ControllerDpadFallback>;
|
} as const satisfies Record<string, ControllerDpadFallback>;
|
||||||
|
|
||||||
@@ -111,7 +110,6 @@ const CONTROLLER_DISCRETE_BINDING_KEYS = [
|
|||||||
const CONTROLLER_AXIS_BINDING_KEYS = [
|
const CONTROLLER_AXIS_BINDING_KEYS = [
|
||||||
'leftStickHorizontal',
|
'leftStickHorizontal',
|
||||||
'leftStickVertical',
|
'leftStickVertical',
|
||||||
'rightStickHorizontal',
|
|
||||||
'rightStickVertical',
|
'rightStickVertical',
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ function createControllerConfigFixture() {
|
|||||||
dpadFallback: 'horizontal' as const,
|
dpadFallback: 'horizontal' as const,
|
||||||
},
|
},
|
||||||
leftStickVertical: { kind: 'axis' as const, axisIndex: 1, dpadFallback: 'vertical' as const },
|
leftStickVertical: { kind: 'axis' as const, axisIndex: 1, dpadFallback: 'vertical' as const },
|
||||||
rightStickHorizontal: { kind: 'axis' as const, axisIndex: 3, dpadFallback: 'none' as const },
|
|
||||||
rightStickVertical: { kind: 'axis' as const, axisIndex: 4, dpadFallback: 'none' as const },
|
rightStickVertical: { kind: 'axis' as const, axisIndex: 4, dpadFallback: 'none' as const },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
|
|||||||
@@ -118,14 +118,6 @@ test('two stick actions on the same stick both warn', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Alt Horizontal does nothing, so it never clashes', () => {
|
|
||||||
// On standard pads the right stick's vertical axis is 3, the default of Alt Horizontal.
|
|
||||||
assert.deepEqual(
|
|
||||||
issuesWith({ rightStickVertical: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' } }),
|
|
||||||
{},
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('a row shared by several actions lists them all', () => {
|
test('a row shared by several actions lists them all', () => {
|
||||||
assert.equal(
|
assert.equal(
|
||||||
issuesWith({
|
issuesWith({
|
||||||
|
|||||||
@@ -17,12 +17,6 @@ export type ControllerBindingIssueDefinition = {
|
|||||||
bindingType: 'discrete' | 'axis';
|
bindingType: 'discrete' | 'axis';
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Rows that do nothing in SubMiner: no action reads `rightStickHorizontal`, so it cannot
|
|
||||||
* clash with anything.
|
|
||||||
*/
|
|
||||||
const INACTIVE_BINDINGS: ReadonlySet<ControllerBindingActionId> = new Set(['rightStickHorizontal']);
|
|
||||||
|
|
||||||
/** Row key of a stick binding's D-pad row in Alt+C. */
|
/** Row key of a stick binding's D-pad row in Alt+C. */
|
||||||
export function getControllerDpadRowKey(actionId: ControllerBindingActionId): string {
|
export function getControllerDpadRowKey(actionId: ControllerBindingActionId): string {
|
||||||
return `${actionId}:dpad`;
|
return `${actionId}:dpad`;
|
||||||
@@ -83,7 +77,6 @@ export function findControllerBindingIssues(
|
|||||||
const holdActions = new Map<string, string>();
|
const holdActions = new Map<string, string>();
|
||||||
const rows: { key: string; label: string; inputs: string[] }[] = [];
|
const rows: { key: string; label: string; inputs: string[] }[] = [];
|
||||||
for (const definition of definitions) {
|
for (const definition of definitions) {
|
||||||
if (INACTIVE_BINDINGS.has(definition.id)) continue;
|
|
||||||
const binding = bindings[definition.id];
|
const binding = bindings[definition.id];
|
||||||
if (!binding) continue;
|
if (!binding) continue;
|
||||||
if (definition.bindingType === 'axis') {
|
if (definition.bindingType === 'axis') {
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ const BINDINGS: ResolvedControllerConfig['bindings'] = {
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -188,15 +187,13 @@ test('controller config form renders grouped rows with friendly binding labels',
|
|||||||
['Token Move (D-pad)', 'D-pad ↔'],
|
['Token Move (D-pad)', 'D-pad ↔'],
|
||||||
['Popup Scroll (Stick)', 'Left Stick Y'],
|
['Popup Scroll (Stick)', 'Left Stick Y'],
|
||||||
['Popup Scroll (D-pad)', 'D-pad ↕'],
|
['Popup Scroll (D-pad)', 'D-pad ↕'],
|
||||||
['Alt Horizontal (Stick)', 'Right Stick X'],
|
|
||||||
['Alt Horizontal (D-pad)', 'None'],
|
|
||||||
['Popup Jump (Stick)', 'Right Stick Y'],
|
['Popup Jump (Stick)', 'Right Stick Y'],
|
||||||
['Popup Jump (D-pad)', 'None'],
|
['Popup Jump (D-pad)', 'None'],
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
findAll(container, 'disabled').map((badge) => badge.textContent),
|
findAll(container, 'disabled').map((badge) => badge.textContent),
|
||||||
['None', 'None', 'None', 'None', 'None', 'None', 'None', 'None', 'None', 'None', 'None'],
|
['None', 'None', 'None', 'None', 'None', 'None', 'None', 'None', 'None', 'None'],
|
||||||
);
|
);
|
||||||
assert.deepEqual(findAll(container, 'expanded'), []);
|
assert.deepEqual(findAll(container, 'expanded'), []);
|
||||||
assert.deepEqual(findAll(container, 'controller-config-edit-panel'), []);
|
assert.deepEqual(findAll(container, 'controller-config-edit-panel'), []);
|
||||||
|
|||||||
@@ -178,13 +178,6 @@ export const CONTROLLER_BINDING_DEFINITIONS: ControllerBindingDefinition[] = [
|
|||||||
bindingType: 'axis',
|
bindingType: 'axis',
|
||||||
defaultBinding: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
defaultBinding: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: 'rightStickHorizontal',
|
|
||||||
label: 'Alt Horizontal',
|
|
||||||
group: 'Navigation',
|
|
||||||
bindingType: 'axis',
|
|
||||||
defaultBinding: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: 'rightStickVertical',
|
id: 'rightStickVertical',
|
||||||
label: 'Popup Jump',
|
label: 'Popup Jump',
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ test('controller debug modal renders active controller axes, buttons, and config
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
@@ -210,7 +209,6 @@ test('controller debug modal copies buttonIndices config to clipboard', async ()
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
@@ -335,7 +333,6 @@ test('controller debug modal stays closed and notifies when controller support i
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
|
|||||||
@@ -170,7 +170,6 @@ function buildContext() {
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
|
|||||||
@@ -230,7 +230,6 @@ export function createControllerSelectModal(
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
getScreenGroups: () => {
|
getScreenGroups: () => {
|
||||||
|
|||||||
@@ -590,7 +590,6 @@ function startControllerPolling(): void {
|
|||||||
playNextSubtitle: { kind: 'none' },
|
playNextSubtitle: { kind: 'none' },
|
||||||
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
leftStickHorizontal: { kind: 'axis', axisIndex: 0, dpadFallback: 'horizontal' },
|
||||||
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
leftStickVertical: { kind: 'axis', axisIndex: 1, dpadFallback: 'vertical' },
|
||||||
rightStickHorizontal: { kind: 'axis', axisIndex: 3, dpadFallback: 'none' },
|
|
||||||
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
rightStickVertical: { kind: 'axis', axisIndex: 4, dpadFallback: 'none' },
|
||||||
},
|
},
|
||||||
reviewBindings: getDefaultControllerReviewBindings(),
|
reviewBindings: getDefaultControllerReviewBindings(),
|
||||||
|
|||||||
@@ -217,12 +217,7 @@ function parseControllerBindings(value: unknown): ControllerConfigUpdate['bindin
|
|||||||
if (!parsed) return null;
|
if (!parsed) return null;
|
||||||
bindings[key] = parsed as NonNullable<ControllerConfigUpdate['bindings']>[typeof key];
|
bindings[key] = parsed as NonNullable<ControllerConfigUpdate['bindings']>[typeof key];
|
||||||
}
|
}
|
||||||
const axisKeys = [
|
const axisKeys = ['leftStickHorizontal', 'leftStickVertical', 'rightStickVertical'] as const;
|
||||||
'leftStickHorizontal',
|
|
||||||
'leftStickVertical',
|
|
||||||
'rightStickHorizontal',
|
|
||||||
'rightStickVertical',
|
|
||||||
] as const;
|
|
||||||
for (const key of axisKeys) {
|
for (const key of axisKeys) {
|
||||||
if (value[key] === undefined) continue;
|
if (value[key] === undefined) continue;
|
||||||
const parsed = parseAxisBinding(value[key]);
|
const parsed = parseAxisBinding(value[key]);
|
||||||
|
|||||||
@@ -253,7 +253,6 @@ export interface ControllerBindingsConfig {
|
|||||||
playNextSubtitle?: ControllerDiscreteBindingConfig;
|
playNextSubtitle?: ControllerDiscreteBindingConfig;
|
||||||
leftStickHorizontal?: ControllerAxisBindingConfig;
|
leftStickHorizontal?: ControllerAxisBindingConfig;
|
||||||
leftStickVertical?: ControllerAxisBindingConfig;
|
leftStickVertical?: ControllerAxisBindingConfig;
|
||||||
rightStickHorizontal?: ControllerAxisBindingConfig;
|
|
||||||
rightStickVertical?: ControllerAxisBindingConfig;
|
rightStickVertical?: ControllerAxisBindingConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +276,6 @@ export interface ResolvedControllerBindingsConfig {
|
|||||||
playNextSubtitle?: ResolvedControllerDiscreteBinding;
|
playNextSubtitle?: ResolvedControllerDiscreteBinding;
|
||||||
leftStickHorizontal?: ResolvedControllerAxisBinding;
|
leftStickHorizontal?: ResolvedControllerAxisBinding;
|
||||||
leftStickVertical?: ResolvedControllerAxisBinding;
|
leftStickVertical?: ResolvedControllerAxisBinding;
|
||||||
rightStickHorizontal?: ResolvedControllerAxisBinding;
|
|
||||||
rightStickVertical?: ResolvedControllerAxisBinding;
|
rightStickVertical?: ResolvedControllerAxisBinding;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user