Skip to content

Repository files navigation

MX Battery — Stream Deck Plugin

Displays the battery percentage of a Logitech MX Master 3S mouse and MX Keys S keyboard connected via a Logi Bolt USB receiver directly on your Stream Deck keys.

Features

  • Two actions: MX Master 3S Battery and MX Keys S Battery
  • Color-coded battery gauge rendered directly on the key:
    • 🟢 Green — 50 % and above
    • 🟠 Orange — 20 – 49 %
    • 🔴 Red — below 20 %
  • Polls every 5 minutes automatically
  • Press the key to force an immediate refresh
  • Works on macOS and Windows — no Python, no drivers, no configuration

Requirements

Requirement Details
Stream Deck software 6.9 or later
macOS 12 (Monterey) or later
Windows 10 or later
Logi Bolt receiver USB vendor 0x046D, product 0xC548

The plugin communicates with the receiver via native HID using node-hid, which ships prebuilt binaries for all supported platforms inside the package. No Python, no additional drivers, and no npm install required on the end-user's machine.

Installation

  1. Download com.fedeltamedia.mxbattery.streamDeckPlugin from the latest release.
  2. Double-click the file — Stream Deck will install it automatically.
  3. Drag MX Master 3S Battery and/or MX Keys S Battery from the action list onto any key.

How it works

The plugin uses node-hid to talk to the Logi Bolt receiver directly from Node.js (the runtime bundled with Stream Deck). It uses the HID++ protocol:

  • Opens the HID device at vendor=0x046D, product=0xC548, usage_page=0xFF00
  • Queries the Unified Battery feature (HID++ feature 0x1004, firmware index 0x08)
  • device_idx 0x02 → MX Master 3S mouse
  • device_idx 0x01 → MX Keys S keyboard
  • Response byte 4 contains the battery percentage

Development

git clone https://github.com/FedeltaMedia/mx-battery.git
cd mx-battery
npm install
npm run build     # compiles TypeScript → com.fedeltamedia.mxbattery.sdPlugin/bin/plugin.js
npm run pack      # builds + copies deps + creates .streamDeckPlugin release file
npm run watch     # live-reload during development (requires Stream Deck app running)

License

MIT

About

Stream Deck plugin showing battery percentage for Logitech MX Master 3S and MX Keys S

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages