SIGN IN SIGN UP

fix: resolve device identity by raw PM+SUB, not FBL (#69); platform-aware detection (#68)

#69: GUI showed "Frozen Warframe Pro" instead of "Stream Vision" for
87AD:70DB bulk devices. Root cause: _resolve_device_identity used FBL
(64) for button image lookup instead of raw PM (7) + SUB (1). Added
pm_byte/sub_byte to HandshakeResult, set them in all handshake
implementations (Bulk, LY, HID Type 2/3), and used them for button
image resolution. Also fixed debug report to show actual PM/SUB/FBL
separately instead of mislabeling FBL as PM.

#68: Windows bulk devices not detected. CLI detect command and other
code paths imported Linux-only DeviceDetector.detect() directly,
bypassing the platform-aware builder routing. Made detect_devices alias
platform-aware (Windows→WMI, macOS→pyusb, BSD→pyusb, Linux→sysfs).
Added wmi to Windows optional deps and PyInstaller hidden imports.
Guarded udev rules check for Linux only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
L
Lexonight1 committed
868f6161663a1f07163dca48f9f460e3edef5177
Parent: de3d8c4