feat: show live controller input

Route paired controller QoS data through the existing GIP protocol layer and
expose the latest gamepad report through the C API. Add a SwiftUI monitor for
buttons, d-pad, triggers, and stick positions without registering a native HID
device.

Co-Authored-By: openai/gpt-5.6-luna: GIP bridge and live input monitor
This commit is contained in:
portersky
2026-08-29 13:33:32 +02:00
parent 325923751c
commit 9c1b6493d8
7 changed files with 462 additions and 40 deletions
+6
View File
@@ -77,6 +77,12 @@ public:
// then bulk-writes it to EP OUT.
auto send_wlan(std::span<std::uint8_t const> frame) -> int;
// Send a GIP payload in an upstream QoS-data frame for one client.
auto send_client_frame(std::uint8_t wcid,
std::span<std::uint8_t const> addr,
std::span<std::uint8_t const> frame,
bool encrypted) -> int;
// Associate a controller: program its WCID MAC, ADD_CLIENT ms_command,
// and transmit an ASSOC_RESP mgmt frame.
auto associate_client(std::uint8_t wcid, std::span<std::uint8_t const> addr)