{
  "added_at": "2026-11-06",
  "additional_evidence_urls": [
    "https://github.com/Probler-Yt/MacroPad/blob/2b75543c74727427ea4f3cc1d3c720fbd56fc438/README.md"
  ],
  "category": "reconstruction-cases",
  "description_en": "MacroPad reconstructs the USB HID configuration exchange of a 12-key, two-knob macropad identified as 1189:8840 and implements it in a Linux GUI. The author documents capturing MINI_KEYBOARD.exe traffic with usbmon, decoding configuration and commit reports, and replaying captured packets in tests.",
  "description_zh": "MacroPad 重建了 USB ID 为 1189:8840 的 12 键双旋钮宏键盘的 HID 配置交互，并提供 Linux 图形客户端。作者记录了用 usbmon 抓取 MINI_KEYBOARD.exe 流量、解析配置与提交报告，以及在测试中重放抓包数据的过程。",
  "entry_url": "https://awesomerea.org/resources/macropad-usb-protocol-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/macropad-usb-protocol-case/",
  "evidence_url": "https://github.com/Probler-Yt/MacroPad/blob/2b75543c74727427ea4f3cc1d3c720fbd56fc438/docs/protocol.md",
  "group": "cases",
  "id": "macropad-usb-protocol-case",
  "json_url": "https://awesomerea.org/resources/macropad-usb-protocol-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/macropad-usb-protocol-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/macropad-usb-protocol-case/index.md",
  "name": "MacroPad: reconstructing a USB macropad configuration protocol",
  "name_zh": "MacroPad：重建 USB 宏键盘配置协议",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Linux, Python 3.9+ and the 1189:8840 macropad are documented for the supported configuration path.",
    "Other pad IDs are reported as unsupported until their layout and protocol are added.",
    "GPL-3.0 license."
  ],
  "requirements_zh": [
    "受支持的配置方式需要 Linux、Python 3.9 及以上和 USB ID 为 1189:8840 的宏键盘。",
    "其他设备 ID 在布局和协议加入前会被标为不支持。",
    "GPL-3.0 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/Probler-Yt/MacroPad",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
