Can the Keychron C100 Macro Pad Control Your Smart Home?
The Keychron C100 is a wired USB macro pad with no Zigbee, Z-Wave, Matter, or Thread radio, so its smart-home compatibility depends entirely on the host and integration path it plugs into. This review sorts the documented Home Assistant path from the unverified Windows and Mac community bridges, labeling each integration claim by verification status.
Last updated
No: the Keychron C100 does not control a smart home by itself. That is the first compatibility line to draw in any smart-home control review of this macro pad. It is a wired USB-C macro pad that behaves like a desktop input device, not a Zigbee, Z-Wave, Matter, Thread, Wi-Fi, or Bluetooth smart-home button panel. Any useful smart-home behavior comes from the computer it is plugged into and the software path that turns a key event into a Home Assistant action.
That does not make the C100 useless for smart-home control. It may make it unusually suitable for one very specific version of it: a dedicated, local, high-button-count control surface attached to a host that can reliably see its keystrokes and hand them to Home Assistant. The verified path in the reviewed material is narrow, though. Product specs are vendor-documented. Home Assistant’s Linux keyboard path is officially documented. Windows and macOS bridges remain workaround territory until someone reproduces them with the C100 and publishes the host OS, Home Assistant version, C100 configuration, and verification date.

Compatibility snapshot, late August 2026
| Claim | Status | What it means |
|---|---|---|
| C100 as wired USB-C macro pad | Vendor-documented | Keychron lists the C100 as a wired USB-C, 10×10 mechanical macro pad with QMK and Keychron Launcher programming; TechPowerUp covered its August 13, 2026 launch. [1][2] |
| Direct smart-home radio support | Not documented | The reviewed product materials describe a USB-C macro pad, not a Zigbee, Z-Wave, Matter, Thread, Wi-Fi, or Bluetooth smart-home controller. [1] |
| Home Assistant on Linux through keyboard_remote | Officially documented integration path | Home Assistant documents a Linux evdev-based keyboard_remote integration that can emit key_down, key_up, and key_hold events for automations. [3] |
| Windows or macOS to Home Assistant | Community workaround / investigating | Community examples show key-to-script and USB/RPC bridge patterns, but the reviewed sources do not independently verify the C100 on Windows or macOS as a Home Assistant controller. [4][5] |
| $64.99 price and availability | Dated retail condition | The launch price was $64.99, but availability was already unstable after launch; PCWorld reported the first batch sold out within a day. Treat price and stock claims as late-August-2026 snapshots, not durable facts. [1][6] |
What the C100 actually contributes
The C100 is excessive in a way that can be practical. Keychron’s product page describes a 10×10 pad with 100 hot-swappable Keychron Apex Red switches, an 8 kHz polling rate, a USB-C wired-only connection, a plastic case, an AT32F405 RCT7-7 MCU, and desktop OS support for macOS, Windows, and Linux. It is programmable through QMK and Keychron Launcher, and Launcher requires a wired connection plus a supported Chromium-family browser: Chrome, Opera, or Edge. [1]
For smart-home use, most of those gaming-adjacent details matter less than the input model. The useful fact is that the C100 can present many physical keys to a host computer. If the host can distinguish those key events from the rest of the system and trigger Home Assistant automations from them, the pad can become a wall of scene buttons, mode toggles, media controls, or maintenance shortcuts.
There is one count-related caution. Keychron’s own positioning says the pad has 100 remappable keys, while The Gadgeteer described the device as having 96 blank keys and four corner keys reserved for lighting controls. [1][7] Galaxus also framed the product around the more basic point that the keys still do nothing until the user programs them. [8] Until first-party documentation resolves that conflict clearly, do not design a smart-home layout that depends on all 100 physical keys being available for automations.
The smart-home controller is the host, not the pad
A Zigbee button joins a Zigbee network. A Matter button advertises itself through a Matter controller. A Z-Wave scene controller has a radio and an inclusion process. The C100 has none of that in the reviewed material. It plugs into a computer and sends input. That computer then has to decide what the input means.

That architecture has an upside. It avoids another battery device, another mesh-radio pairing, and another vendor cloud path. It also has a maintenance cost. If the host is asleep, disconnected, updated into a new device path, missing a script permission, or holding an expired token, the button that used to turn on the kitchen scene stops being a button and becomes a mystery.
So the compatibility question is not “does the C100 support Home Assistant?” in the way a native integration might. The question is: which host sees the C100, which software captures the key event, which API call or event trigger reaches Home Assistant, and which part fails when the setup is rebooted six months later?
The documented path: Home Assistant keyboard_remote on Linux
The strongest smart-home path in the reviewed sources is Home Assistant’s keyboard_remote integration. It is documented for Linux and uses evdev input devices. Home Assistant says it fires keyboard_remote_command_received events that can be used as automation triggers, with event types including key_down, key_up, and key_hold. It also supports filtering by device_descriptor so automations can target a specific keyboard-like device instead of treating every keyboard on the host as a control panel. [3]

That last detail is what makes a dedicated macro pad more sensible than a spare normal keyboard. Home Assistant’s documentation warns that the keyboard used with keyboard_remote cannot also be used for normal typing. [3] A full desktop keyboard is awkward under that rule. A C100 mounted under a monitor or beside a dashboard is less awkward because its entire job can be automation input.
A practical Linux/Home Assistant setup would be judged in layers:
- The C100 is configured first as a keyboard-like USB device through Keychron Launcher or QMK.
- The Linux host running or attached to Home Assistant sees the C100 as an evdev input device.
- keyboard_remote is configured to listen to the C100, preferably using device_descriptor filtering rather than catching every keyboard event on the host.
- Home Assistant receives keyboard_remote_command_received events.
- Automations map specific key_down, key_up, or key_hold events to scenes, scripts, helpers, or device actions.
The appeal here is not that the C100 has a smart-home protocol. It does not. The appeal is that Home Assistant already has a documented way to treat a dedicated Linux keyboard device as an automation source. A 10×10 pad gives that integration more surface area than a three-button remote, while still keeping the control path local to the host and Home Assistant.
This is also where the limits should be kept visible. The reviewed sources do not include a dated hands-on reproduction of the C100 with keyboard_remote. The integration path is official; the specific C100 pairing is a strong compatibility candidate, not a completed smart-home test. A confirmed claim would need the C100 model, the host Linux environment, the Home Assistant version, the Keychron configuration path, the event names observed, and the verification date.
Windows and macOS belong in workaround territory
Windows and macOS are not hopeless. They are simply not verified here as C100 smart-home paths. The general workaround pattern is familiar: map a macro key to run a local script, and have that script call Home Assistant’s REST API. One community write-up shows keyboard macro keys triggering batch files that POST to Home Assistant’s /api/services/<domain>/<service> endpoint using a long-lived access token. [4]
That kind of bridge can work in principle because Home Assistant exposes service calls over HTTP, and desktop macro tools can launch scripts. But the failure points are different from the Linux keyboard_remote route. The script runner has to be allowed to execute. The token has to be stored somewhere and kept valid. The macro mapping has to survive profile changes. The host has to be awake. Depending on the tool, the trigger may also depend on the active user session.
Adafruit’s MacroPad project shows another adjacent pattern: a USB-connected macro pad using remote procedure calls to control Home Assistant. [5] It is useful evidence that USB macro hardware can be made into a Home Assistant control surface, but it is not evidence that the Keychron C100 specifically has a confirmed RPC path. Different hardware, firmware, host software, and setup assumptions matter.
The practical label for Windows and macOS, then, is Investigating. If someone wants to buy the C100 mainly for a Windows or Mac Home Assistant bridge, the honest assumption is not “supported.” It is “I am willing to build and maintain a local script bridge, and I will test it before assigning important household controls to it.”
What to assign to 100-ish keys
A large macro pad tempts people into building a cockpit. The safer first layout is less dramatic: put durable, low-ambiguity actions on the keys that are least likely to surprise another person in the home.
| Good early use | Why it fits a wired macro pad |
|---|---|
| Lighting scenes | A key can call one named scene without opening the Home Assistant app. |
| Mode toggles | Home, Away, Movie, Sleep, or Cleaning modes are easier to remember when they have fixed physical positions. |
| Dashboard shortcuts | A key can open or focus a local dashboard view on the host, separate from controlling devices. |
| Maintenance helpers | Buttons for disabling noncritical automations, testing alerts, or resetting helper states are useful near a desk. |
| Hold-to-run actions | key_hold support allows a more deliberate trigger for actions that should not happen from a casual tap, if the chosen integration path exposes hold events. |
High-consequence controls need more care. A button that unlocks a door, disables an alarm routine, changes HVAC behavior for the whole house, or powers off essential equipment should not depend on a hidden script that only one person understands. If the action matters to other people, the label, automation name, fallback path, and host dependency matter too.
Buying verdict
Status: Plausible for Home Assistant on Linux; not a standalone smart-home controller. The Keychron C100 is a tempting smart-home control surface if the plan is to plug it into a Linux host and use Home Assistant’s documented keyboard_remote integration. It is wired, local, relatively inexpensive at its stated launch price, and large enough to dedicate keys to scenes and modes without running out immediately. [1][3]
Status: Do not buy it assuming native smart-home support. There is no reviewed evidence that the C100 joins a smart-home network, exposes Matter endpoints, talks directly to a hub, or controls devices without a host computer. The smart-home brain is Home Assistant or a script bridge, not the pad.
Status: Windows and macOS remain unverified bridges. Key-to-script REST calls and USB/RPC-style projects are credible patterns, but they should not be promoted to confirmed C100 compatibility without a dated reproduction using the C100, the host OS, the Home Assistant version, the Keychron configuration method, and observed behavior after reboot and user-session changes. [4][5]
Status: Availability and exact programmable-key count need checking at purchase time. The $64.99 launch price and stock condition were already time-sensitive by late August 2026, and the 100-versus-96 programmable-key conflict is enough reason to avoid any layout that requires every physical key to be remappable. [1][6][7]
Bought with those limits in mind, the C100 is not a joke smart-home product. It is a very large USB keyboard that can become useful smart-home hardware only when the host path is documented, local, and maintained.
References
- Keychron C100 8K Giant Custom Macro Pad — Keychron.
- Keychron Launches Comically Large C100 8K 100-Key Mechanical Macro Pad — TechPowerUp, August 13, 2026.
- Keyboard Remote — Home Assistant.
- Using Keyboard Macro Keys to Control HomeAssistant — xkln.net.
- MacroPad Remote Procedure Calls over USB to Control Home Assistant — Adafruit.
- Keychron made a 100-key macropad for just $65, and it’s already gone — PCWorld, August 14, 2026.
- Keychron C100 Macro Pad: 96 blank keys — The Gadgeteer, August 14, 2026.
- Keychron C100 8K: 100 keys that (still) do nothing — Galaxus.
Known issues with this device / protocol
Spec-version history
For active regressions on this protocol, see Update Watch.
No linked Update Watch entries yet.
