You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Renamed the center-column Capture accordion to `Input Device(s)` and Gestures to `Capture Gestures`, with no braces in either visible label.
7
+
- Disabled and grayed `Input Device(s)` until the selected action has an existing tile, and disabled `Capture Gestures` until an input device is selected.
8
+
- Enforced device-first capture flow: selecting an input device enables only that device's gesture group, and stale selected gestures no longer auto-arm when a device is clicked after capture completion.
9
+
- Removed visible Mouse Wheel Left/Right gesture descriptors because PR_115 only requires visible/wired Wheel Up and Wheel Down; underlying wheel input support remains available through the engine where used by existing capture/combo paths.
10
+
- Preserved selected action/tile behavior, token deletion, mapping scroll behavior, Export/Copy JSON, engine-backed combo capture, and game controller release capture through engine input services.
11
+
12
+
## Gesture Wiring
13
+
- Keyboard: Press, Release, Hold, Combo are visible when Keyboard is selected and are covered by focused Playwright capture paths.
14
+
- Mouse: Click, Double Click, Drag, Drag Release, Wheel Up, Wheel Down, Combo are visible when Mouse is selected and are covered by focused Playwright capture paths.
15
+
- Game Controller: Btn Press, Btn Hold, Btn Release, Trigger, Stick, DPad, Combo are visible when a Game Controller input device is selected and are covered by focused Playwright capture paths.
16
+
- Btn Release continues to capture on release, not press, via `src/engine/input/**` state consumed by Input Mapping V2.
17
+
- Combo capture continues to use the engine-backed combo state path rather than a tool-local-only model.
18
+
19
+
## Validation
20
+
- PASS: targeted syntax validation with `node --check` for changed engine/input, Input Mapping V2, and Playwright files.
21
+
- PASS: targeted module import validation for changed engine/input and Input Mapping V2 JS modules.
pointerGesture('MousePrimaryDragRelease','Drag Release','Mouse Drag Release. Use for completed drag gestures, such as box-selecting objects from start/end positions.','mouse'),
76
76
wheelGesture('MouseWheelUp','Wheel Up','Mouse Wheel Up. Use for zoom, scrolling, or cycling selections.'),
77
77
wheelGesture('MouseWheelDown','Wheel Down','Mouse Wheel Down. Use for zoom, scrolling, or cycling selections.'),
78
-
wheelGesture('MouseWheelLeft','Wheel Left','Mouse Wheel Left. Use for horizontal scrolling or cycling selections.'),
79
-
wheelGesture('MouseWheelRight','Wheel Right','Mouse Wheel Right. Use for horizontal scrolling or cycling selections.'),
80
78
comboGesture('MouseCombo','Mouse',['mouse'],'Mouse Combo. Use for combinations such as Shift + Mouse Right Button. Capture keyboard, mouse, wheel, or controller inputs for one selected action.'),
81
79
gameControllerGesture('GameControllerButtonPress','Btn Press','Game controller button press. Use when an action should trigger on the transition from up to down.','gameController'),
82
80
gameControllerGesture('GameControllerButtonHold','Btn Hold','Game controller button hold. Use while a game controller button remains held.','gameController'),
this.capture.showMessage(`Gamepad ${selectedIndex} capture device selected for ${this.state.selectedActionLabel()}. Choose a Game Controller gesture to capture.`);
262
267
this.statusLog.ok(`Gamepad ${selectedIndex} capture device selected for ${this.state.selectedActionLabel()}.`);
263
268
this.refreshActions();
@@ -1076,18 +1081,20 @@ export class ToolStarterApp {
0 commit comments