{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/codedgar/gmk87-node/blob/a9a1e902944ff323f247ab8deb5d04f8f0a56601/ANALYSIS.md"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "GMK87 Configurator reconstructs the Zuoya GMK87 keyboard's USB HID control exchanges from captures of its official application. It documents 64-byte report framing and image-upload sequences, and provides desktop, CLI and Node.js controls for display images, RGB lighting and clock synchronization.",
  "description_zh": "GMK87 Configurator 根据官方应用的 USB 抓包重建 Zuoya GMK87 键盘的 HID 控制流程。项目记录了 64 字节报文结构和图片上传命令顺序，并提供桌面程序、命令行工具及 Node.js 接口，用于上传屏幕图片、设置 RGB 灯光和同步时钟。",
  "entry_url": "https://awesomerea.org/resources/gmk87-configurator-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/gmk87-configurator-case/",
  "evidence_url": "https://github.com/codedgar/gmk87-node/blob/a9a1e902944ff323f247ab8deb5d04f8f0a56601/README.md",
  "group": "cases",
  "id": "gmk87-configurator-case",
  "json_url": "https://awesomerea.org/resources/gmk87-configurator-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/gmk87-configurator-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/gmk87-configurator-case/index.md",
  "name": "GMK87 Configurator: reconstructing Zuoya keyboard USB HID control",
  "name_zh": "GMK87 Configurator：重建 Zuoya 键盘 USB HID 控制协议",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Zuoya GMK87 keyboard; the CLI requires Node.js 14 or later.",
    "Linux users need the included udev rule for HID access without root.",
    "Image uploads support at most 36 frames across both display slots.",
    "MIT licence."
  ],
  "requirements_zh": [
    "需要 Zuoya GMK87 键盘；命令行工具要求 Node.js 14 或更新版本。",
    "Linux 用户若要免 root 访问 HID，需安装仓库附带的 udev 规则。",
    "两个屏幕图片槽合计最多支持 36 帧。",
    "MIT 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/codedgar/gmk87-node",
  "verification": "source-reviewed",
  "verified_at": "2026-11-08"
}
