# cherry-mx-lighting-mac: reconstructing Cherry MX 10.0N RGB lighting control

> cherry-mx-lighting-mac reconstructs lighting control for the Cherry MX 10.0N RGB keyboard in a macOS menu bar app. The author observed Cherry Utility's USB HID traffic and documented a five-report sequence, including bytes for effect, brightness, speed and RGB colour; the app also remaps keys through hidutil.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/AlexBongers/cherry-mx-lighting-mac>
- Primary source: <https://github.com/AlexBongers/cherry-mx-lighting-mac/blob/cb0d54398d2cdd7a4bdf1bad1e7737ab3f241500/PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/cherry-mx-lighting-mac-case/>
- Record JSON: <https://awesomerea.org/resources/cherry-mx-lighting-mac-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/cherry-mx-lighting-mac-case/index.md)

## Requirements & limits

- **Prerequisites:** Cherry MX 10.0N RGB keyboard and macOS; the author tested USB device 046A:00E2 on macOS 27 with Apple Silicon.
- **Prerequisites:** Xcode Command Line Tools are required to build; Input Monitoring permission is required to write to the keyboard.
- **Limits:** Effect direction, per-key colours and Custom mode are unfinished; other Cherry models are untested.
- **License:** MIT license.

## Primary sources

1. <https://github.com/AlexBongers/cherry-mx-lighting-mac/blob/cb0d54398d2cdd7a4bdf1bad1e7737ab3f241500/PROTOCOL.md>
2. <https://github.com/AlexBongers/cherry-mx-lighting-mac/blob/cb0d54398d2cdd7a4bdf1bad1e7737ab3f241500/README.md>

## More in Protocols

- [labelibre: direct SUPVAN T50M Pro printing over a reconstructed BLE protocol](https://awesomerea.org/resources/labelibre-supvan-case/index.md) · Case study
- [synaptics-009b-fprintd: reconstructing Linux support for Synaptics 06cb:009b](https://awesomerea.org/resources/synaptics-009b-fprintd-case/index.md) · Case study
- [STRIDE: a replacement NordicTrack console using the FitPro protocol](https://awesomerea.org/resources/stride-fitpro-treadmill-case/index.md) · Case study
- [TonePush: reconstructing Line 6 HX editing over USB](https://awesomerea.org/resources/tonepush-case/index.md) · Case study
- [ESP32Drop: rebuilding AirDrop and AWDL on ESP32-S3](https://awesomerea.org/resources/esp32drop-case/index.md) · Case study
- [Valeton GP-50 Editor: live preset editing over reconstructed SysEx](https://awesomerea.org/resources/valeton-gp50-editor-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
