When a Macropad Key Does Nothing
Start by working out whether one key is dead or all of them are, because the two answers point in opposite directions. If every key does nothing, the fault is in the connection, the mode the pad is in, or a configuration that never reached the device. If a single key does nothing while its neighbours work, the connection is proven fine by definition and the problem is almost always what that key is assigned to send.
Every key is dead. What do I check?
Work through these in order.
- The cable. A detachable USB lead can be charge only: power reaches the pad and the backlight comes on, but no data reaches the computer. Swap it for a lead you have already used to move data.
- The port. Bypass hubs, monitor hubs and USB-C dongles and plug straight into the machine.
- The mode, if the pad is wireless. A dual-mode pad sitting in Bluetooth and still paired to another machine looks completely dead on the one in front of you. Our EM Mini Pad at $75 runs wired over USB-C or over Bluetooth, and putting it back on the cable separates a pairing problem from a real one.
- A flat cell, for the same reason and with the same fix.
One key does nothing. Where does that come from?
Layers, most of the time. Programmable pads hold more than one set of assignments and switch between them, and a key that is empty on the layer you happen to be on does nothing while every key around it behaves. Find out which layer the pad is in before you change a mapping.
The next most likely cause is a mapping that exists in the configuration tool but was never sent to the pad. Many configurators keep your edits in the interface until you press an explicit save or write step, and the device carries on with its old assignments until you do. If the tool runs in a browser, browser-to-device communication needs a Chromium-based browser: the same page in Safari or Firefox usually loads and then fails to see the pad at all, which reads as a hardware fault when it is not one.
The key sends something, but nothing happens. Now what?
Test it in a plain text editor with that editor focused. If the character or the shortcut arrives there, the pad is working and the app you were aiming at has no binding for what you sent. That is an irritating dead end, because every component is functioning correctly and the result is still nothing.
Two variants are worth knowing. A key mapped to a modifier on its own, Shift or Ctrl with nothing after it, is invisible by design. And a key types into whichever window has focus, so if your terminal is not at the front when you press, the keystroke goes somewhere you are not looking. Both are indistinguishable from a dead key until you test for them.
Does the operating system get in the way?
On macOS, sometimes. When a new keyboard-class device is attached, macOS asks you to identify the keyboard so it can choose a layout, and skipping that dialogue can leave the layout wrong, so keys produce unexpected characters rather than nothing at all. Any remapping utility in the chain also needs Input Monitoring or Accessibility permission in the privacy section of System Settings, and that prompt appears once: if it was dismissed, the tool runs blind and your pad looks dead. On Windows the equivalent is a vendor utility or keyboard manager claiming the input before anything else sees it.
Could it just be physical?
Occasionally, and it is quick to rule out. A keycap that is not fully seated can bind against the plate and never reach the switch underneath. On a hot-swap board, a switch pin bent during insertion sits in its socket looking correct and makes no contact. Pull the cap off, press the switch directly, and see whether the key registers. Check a knob separately too: pressing a rotary encoder is usually mapped independently of turning it, so a knob that turns fine can still have nothing behind the press.
Our pads are plain USB devices with no software of ours in the background, which is why the list above is mostly about other people's. If you are still choosing a shape rather than debugging one, what a macropad is actually for in programming is the better place to start.