# SyncLightDeck **Repository Path**: shuike/sync-light-deck ## Basic Information - **Project Name**: SyncLightDeck - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-14 - **Last Updated**: 2026-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SyncLightDeck 旧版 SyncLight 的应用架构、硬件枚举、HID 协议和 Apple Silicon 迁移分析见 [`docs/SyncLight-Reverse-Engineering.md`](docs/SyncLight-Reverse-Engineering.md)。 Native macOS controller for the ROBOBLOQ USB HID display light strip. The app uses SwiftUI, IOHIDManager, and ScreenCaptureKit. It does not require Electron, Node.js, or Rosetta. ## Verified hardware - Vendor ID: `0x1A86` - Product ID: `0xFE07` - HID usage page: `0xFF00` - HID usage: `1` - Device ID: `000503` - Firmware: `1.9.4` - LED count: `96` ## Build in Xcode Open `SyncLightDeck.xcodeproj`, select the `SyncLightDeck` scheme, and run on My Mac. Release archives use the project's automatic signing configuration. Command-line Release build: ```sh ./scripts/build-release.sh ``` The script builds an arm64-only app, verifies the executable architecture and code signature, and writes `SyncLightDeck.app` plus a versioned ZIP archive to `dist/`. To discard previous build intermediates first, run: ```sh ./scripts/build-release.sh --clean ``` ## Current features - Native USB HID discovery and reconnect - Device identity, firmware, display size, and LED count - Power, solid color, brightness, effects, speed, and sensitivity - Main-display average-color synchronization with compatibility (periodic screenshots at 4 FPS) and smooth (continuous capture at 10 FPS) modes - Automatic capture pause and light shutdown while the screen is locked or displays are asleep, with restoration after unlock or wake - In-app HID transmit/receive diagnostics Screen synchronization requires macOS Screen Recording permission. Direct custom HID access requires the app target to remain outside App Sandbox.