Commit graph

32 commits

Author SHA1 Message Date
e277d34c20 Fix Windows wake discovery for unsupported USB interfaces 2026-09-19 20:48:41 -06:00
19358a0fff feat(wake): add USB-triggered Switch 2 wake with Windows interface support
Queue correlated, volatile wake requests for the BTstack owner and expose
read-only completion state. Keep the controller chord, captured identity,
pairings, profiles, HD settings and existing wake burst unchanged.

Add Python API and wake CLI with bounded waits, explicit failure outcomes
and no automatic broadcast retries. Avoid importing SDL just to obtain
fixed sensor IDs so USB automation has clean output and no SDL dependency.

Windows libusb cannot control hub roots. Expose only INFO/WAKE on each
native child's existing vendor Interface 1 with isolated control state;
retain hub/HID drivers, descriptors and identities. Add safe sibling-aware
Windows discovery and a packaged Windows libusb runtime. Document manual
WinUSB binding to Interface 1 only and migrate examples to find_wake_pico.

Validate with 713 tests, 10 firmware/probe builds, Windows x64 wheel
resolution on Python 3.9/3.11, and a real child-interface wake burst on
Linux (2.03 s, no controller, no failures). Device/configuration descriptors,
serials and persistent state matched before/after. Physical Windows
hardware/driver operation remains unverified on this Linux workstation.
2026-09-19 20:19:46 -06:00
d15b0ec711 feat(profiles): add solo Joy-Con layouts and digital stick mappings
Add per-profile native solo routing, stick/click swapping, SL/SR output mappings, and digital left-stick directions with analog priority. Extend both codecs to schema 11 while preserving legacy profiles, expose the controls and preview in Studio, and carry rail outputs through Pro emulation. Verified with 541 tests, firmware builds, editor checks, and saved-profile preservation during native 0.89 deployment.
2026-09-15 17:33:31 -06:00
a699a6920b fix(native-usb): prevent transmit-bank starvation and retain battery telemetry 2026-09-13 21:00:17 -06:00
dd69f3d487 Restore profile editor management on the native Joy-Con hub 2026-09-13 08:35:10 -06:00
485ad39709 Add Nunchuk and combined motion gestures with button or macro actions 2026-09-10 09:27:52 -06:00
9927e439b7 Add configurable accelerometer swing gestures for Wii Remotes 2026-09-10 08:01:24 -06:00
fa38123873 Add Wii MotionPlus support and calibrated Nunchuk controls 2026-09-08 12:39:44 -06:00
46f42a26dc Fix DualSense native audio initialization and default to accepted 32-frame format 2026-09-08 10:15:07 -06:00
06a89b5ae1 feat: select Joy-Con player modes and join pairs with a shortcut 2026-09-07 17:42:33 -06:00
34f8a50c19 feat: give Joy-Con pairs independent persistent profile banks 2026-09-07 15:41:06 -06:00
8451b1eec9 feat: add model-aware Controller Studio artwork and topology 2026-09-07 12:57:33 -06:00
006b573ee8 feat: preserve native HD rumble on Switch 2 controllers 2026-09-07 08:19:53 -06:00
a87917bf0b feat: support Switch 2 controllers and expanded profiles 2026-09-06 23:17:26 -06:00
3fc28b1fa4 feat: add opt-in native Nintendo rumble backend 2026-09-05 23:58:50 -06:00
3c2d9fa723 feat: add Set B profiles and low-latency native haptics
Add schema-6 profiles, atomic catalog migration, shortcuts, Shift, configurable Turbo/Burst, macro recording and playback. Promote qualified 300 MHz native DualSense transport to AIO/XInput defaults with bounded bus transactions, credit batching and generation-safe persistent rumble.
2026-09-05 21:56:19 -06:00
65e635dc2b fix: reduce IMU latency and refine native rumble response 2026-09-05 14:36:36 -06:00
6188fcb517 feat: drive native DualSense haptics from Switch HD rumble 2026-09-05 13:23:25 -06:00
0c626fb3b3 feat: add profiled DualSense PCM haptics experiment 2026-09-05 12:03:34 -06:00
8818f1f6e9 Add Profile Studio Set A enhancements 2026-09-04 21:49:50 -06:00
890f47ab80 Add live profile playtest and input fixes 2026-09-04 19:37:58 -06:00
541ca49201 Add indexed eight-profile catalog 2026-09-04 17:50:48 -06:00
ce93f34d94 Add sparse multi-macro profiles 2026-09-04 16:22:20 -06:00
eb03d94183 Add graphical controller profile editor 2026-09-03 21:55:02 -06:00
4626b13bd8 Add managed reboot into USB BOOTSEL 2026-09-03 14:15:31 -06:00
bd5d4b3177 Complete USB output mode qualification 2026-09-03 14:04:38 -06:00
67801cc52a Add DInput and Mac generic HID modes 2026-09-03 07:53:11 -06:00
ec9359bce8 Add persistent USB output mode selection 2026-09-03 07:26:56 -06:00
7358670e63 Complete controller profile runtime 2026-09-02 20:28:45 -06:00
cfec816dac Apply persistent controller profiles 2026-09-02 17:35:13 -06:00
3f90d04a50 Add persistent controller profile foundation 2026-09-02 16:52:59 -06:00
7afc9981fe Add versioned persistent configuration protocol 2026-09-02 15:24:35 -06:00