Hollovar Labs

Plate 02 · Windows utility

KB525C Control

The Dell KB525C keyboard has four collaboration buttons that work only in Zoom. This makes them yours: meeting controls in any call, launchers and macros otherwise, and an LED row your scripts can signal on.

The four collaboration keys and their LEDs Four keys drawn in elevation — Video, Share, Chat, Mic — each with an LED bar beneath. Pressing a key in the drawing toggles its LED: Video and Mic step from white to red to dark, Share and Chat from white to dark. Below the keys a readout shows the resulting pattern frame and the LED byte the keyboard receives. DECK · SECTION A–A 4 × COLLABORATION KEYS · WHITE / RED / DARK VIDEO SHARE CHAT MIC FRAME VS-m LED BYTE 0x25 STATE MEETING Mic muted · camera on · sharing
Press the keys in the drawing — the frame is what a script would send.

Notes

  • 0 network code in the application — it talks to the keyboard and to a local named pipe, nothing else
  • 2 executables: the tray application and the kb525c command-line client, both self-contained
  • MIT licence, source on GitHub, no account and no installer beyond a PowerShell script
  • Requires Windows 10 or 11 and the Dell KB525C; the Dell Peripheral Manager service has to be switched off

What it does

Out of the box the four backlit buttons above the KB525C's number pad — Video, Share, Chat and Mic — do exactly one thing: control a Zoom meeting, through Dell's own software. Anywhere else they are dark and silent; the firmware does not even report a press until something switches the buttons on.

KB525C Control switches them on itself, over the keyboard's own USB interface, and then gives them two lives. In a meeting — any application using the microphone, be it Teams, Google Meet, Zoom or Discord — the buttons do what the labels say: mute, camera, share, chat, with the LEDs showing the real state. White is on, red is muted or camera off. Outside meetings the same buttons become launchers and macros. A terminal in the folder you are looking at. A calculator. Claude Code. A screenshot hotkey. Each with an optional double-press action.

The LED row is also a programmable indicator. Any script can make it blink through the kb525c command-line client or a named pipe — "the build finished", "Claude Code is waiting for you" — and pressing any button acknowledges the signal and can bring the right window to the front.

Two layers, one keyboard

A meeting is detected by asking Windows whether anything is using the microphone; no per-application plug-ins, no window-title guessing. While something is, the buttons drive the meeting application in front, using its own keyboard shortcuts. The rest of the time they do whatever you have given them. This is the author's own idle layer:

Schedule of idle-layer bindings — one working example
Mic Toggles the Windows microphone mute. The LED goes red while muted, which is handy for Discord and the like.
Video Opens the SpeedCrunch calculator.
Share Opens Windows Terminal in the active folder — the Explorer window or Total Commander panel you are looking at.
Chat Starts Claude Code in that same folder.

After a set time without mouse or keyboard activity — five minutes by default — the idle-layer LEDs go dark. A signal or any of the four buttons wakes them — that press only wakes, it does not run the button's action — and a meeting always lights the row regardless.

Actions can be a program, a hotkey, a document or URL, a "focus this window or launch it", or a macro of keystrokes, typed text, delays and launches. Every program a button starts is told which button, which layer and which folder called it, so one script can serve several bindings.

The application

The settings window, General page: the mode selector set to Layered, two LED options, the tray menu font size and the editor used for config.json, each with an explanation beneath.
Specimen A · GeneralEvery option carries its explanation next to the control. The same settings live in a JSON file for scripting and version control.
The Meeting buttons page: Video, Share, Chat and Mic each set to their smart meeting action, with notes on which shortcut is sent to the meeting application in front.
Specimen B · Meeting layerSingle press only, on purpose: in a call the Mic button has to react instantly and predictably.
The Idle buttons page: which LEDs are lit outside meetings, the double-press window, the LED sleep after 300 seconds, and the Video button set to run SpeedCrunch in the active folder.
Specimen C · Idle layerLaunchers, hotkeys and macros, with an optional double press per button.
The Signals page: the sticky-signal timeout, a table of named presets containing the bounce pattern, a Test selected button, and the pattern language reference.
Specimen D · SignalsNamed patterns for your scripts, and the one-line pattern language they are written in.

Signals from your scripts

A signal is a sequence of frames the application plays on top of whatever the LEDs are showing, restoring it afterwards. A frame is four characters, one per key — upper case white, lower case red, a dash dark — and a line of them is a pattern:

Schedule of patterns — frame · length · repeat
VSCM/----@150x3 The whole row flashes three times. This is the built-in done.
V---/-S--/--C-/---M/--C-/-S--@200x3 A light running left, right and back: bounce, the pattern the author's Claude Code hooks use.
v--m/----@250x* A red alarm, forever — a sticky signal that waits until a button is pressed.

kb525c signal bounce --sticky --ack focus:WindowsTerminal from any shell does it; so does one line of JSON on the named pipe from PowerShell, Python or Node. Claude Code hooks, build scripts and kb525c run -- npm test — a running light while the command runs, then done or error by its exit code — are documented in the repository.

The privacy claim, and how to check it

Note 01 — capability, not promise

KB525C Control has no network code. It cannot send anything anywhere.

The source is public and small — about five thousand lines of C# — and contains no HTTP client, no socket, no telemetry library. The application opens the keyboard's USB HID interface and a named pipe that only the logged-in user can reach. There is no account, no advertising, no analytics and no update check.

What it does read on your machine is worth being exact about, because a tool that runs your keyboard has to look at a few things. To know whether you are in a meeting it reads the flag Windows keeps on which applications currently hold the microphone and camera — a flag, not audio or video. To send the right shortcut it reads the process name and window title of the window in front. To open a terminal in the right place it reads the folder of the Explorer window or Total Commander panel in front. None of this is stored, and none of it leaves the machine. The full detail is in the privacy statement.

One honest caveat: the keyboard's command channel is held exclusively by Dell Peripheral Manager while its service runs, so the install script disables that service (it asks for administrator rights to do so, and the uninstall script can restore it). You lose the factory Zoom integration of the four buttons and firmware updates through Dell's software; ordinary keys and media keys are unaffected.

How it works

The keyboard exposes a vendor-specific USB HID interface alongside the ordinary keyboard and media interfaces. One feature report on it switches the collaboration keys on and sets the six LED bits — white for each key, red for Video and Mic — and one input report carries each press as a bitmask. The application sends the first, reads the second, and keeps the LEDs in step with the microphone, the camera and whatever signal is playing. On exit it switches the keys off again, exactly as it found them.

The protocol was worked out by watching what Dell's software sends and then confirming it from an independent program with Dell's software stopped. Only that one documented command is used. The keyboard also has a firmware-update interface; the application never touches it.

What it cannot do

Meeting shortcuts only reach the window in front. If the meeting window is behind your editor, the Mic button still mutes at the operating-system level, but the meeting application's own button does not follow. Google Meet has no screen-share shortcut at all, so that button is empty there by default. And the KB525C is the only keyboard supported — a different Dell model is reported by its identifier in the tray, not driven.

Availability

KB525C Control is published on GitHub under the MIT licence, as source and as a ready-built zip on the releases page. There is no installer: unzip, run install.ps1, look for the tray icon.

Not affiliated with Dell Technologies. Dell, Zoom, Microsoft Teams and Google Meet are trademarks of their respective owners. Bug reports and pull requests go to the repository; the support page has the address for everything else.

© 2026 Hollovar Labs

No trackers · No analytics · No third-party requests