Skip to content

Using the Tray App

Once PolyKybdHost is running, it lives in your system tray (Windows) or menu bar (macOS). A small PolyKybd icon indicates it is active and connected. The tray app is a client of the background daemon that owns the keyboard — see Daemon & Client Model.

System tray menu

Right-click the tray icon. The menu is deliberately short — everything you need for normal use, and nothing else:

The PolyKybdHost tray menu: a status line naming the connected Split72 and its firmware, then Pause, Selected Language, Brightness, Idle Display, Keycap Script, Configure Keymap, Updates, Maintenance, Settings, Help & About and Quit

EntryWhat it does
Status lineThe connected keyboard and its firmware. Clicking it is a shortcut for Pause below.
PauseStop talking to the keyboard — it keeps typing, the overlays just stop updating. Reads Resume while paused.
LanguagePick the keyboard’s layout language, grouped by region.
BrightnessKeycap brightness presets, plus Back to automatic — see Display Brightness.
Idle DisplayWhat the keycaps do while you’re away — see Idle & Burn-in Protection.
Keycap ScriptTheme the letter legends — see Glyph Scripts.
Configure KeymapRemap keys without reflashing — see Keymap Editor.
UpdatesHost app, keyboard firmware, keyboard fonts, and WinCompose (Windows).
MaintenanceFix left/right sides, reset overlays or the keymap, flash a firmware file, enter the bootloader.
SettingsBrightness, unicode mode, daemon mode and the rest.
Help & AboutAbout, the log viewer, and Open config folder.
QuitClose the tray app. The daemon keeps running, so the keyboard stays live.

Two entries only appear when they apply: Install WinCompose… while WinCompose is not running, and a Firmware newer than this app warning if the keyboard is running firmware this version of PolyKybdHost doesn’t fully know yet (click it to choose how to handle that).

Developer mode

Diagnostic and power-user tools — overlay resets, font-pack inspection, staged firmware, keymap dumps — live in a separate Developer submenu that is hidden by default. Turn it on in Settings → Developer → Mode (then restart the app), or start with --dev for one session.

The Developer submenu: Change System Input Language, Inspect Font Packs, Refresh unicode input mode, Save MRU cache now, then Overlays, Idle, Keymap, Font Pack and Firmware submenus, and Run command file

Switching it on only adds the Developer submenu; nothing else in the menu moves, so you can leave it on without relearning where things are.

What the app drives

The tray app is the front-end for the keyboard’s live features — each has its own page under Using the Keyboard:

  • Context-Aware Overlays — the keycaps follow your active window automatically.
  • Display Brightness — presets in the Brightness submenu, adaptive daylight (Settings → Brightness), or the optional light sensor.
  • Languages & Unicode Input — the OS unicode mode selected on the keyboard is synced here, and settable from the Settings dialog.
  • Glyph Scripts — theme the legends from the Keycap Script submenu.

The app also sends an anonymous once-a-day usage report, which you are told about on first run and can switch off under Settings → Telemetry — see Usage Data & Privacy for exactly what it contains.

Firmware updates

You can flash new firmware directly from the tray: Updates → Check for keyboard firmware update… fetches the latest release for you, and Maintenance → Flash firmware file (.bin)… takes a .bin you already have. Flashing works over HID and is available even when the keyboard is on a protocol version the rest of PolyKybdHost doesn’t fully support, so a mismatched keyboard can always be updated. The same operation is available from the command line with polyctl fw flash — see Command Line and Flashing Firmware.

Installing WinCompose (Windows)

WinCompose is what lets the keyboard type arbitrary unicode on Windows — emoji, accents and the language layers all go through it. When it is not running, the tray menu offers Install WinCompose…: it downloads PolyKybd’s build from GitHub and starts the installer (Windows asks you to confirm the elevation).

The entry appears only on Windows, and only while WinCompose is not running — it disappears by itself once WinCompose is up. At that point the keyboard is switched to compose mode straight away; the unicode input mode is otherwise only sent when the keyboard connects, so no replug is needed. polyctl unicode-mode does the same re-detection from the command line.

Debug logging

If something is not working as expected:

Terminal window
python -m polyhost --dev # developer mode + basic logging
python -m polyhost --dev 2 # developer mode + verbose HID traffic logging
python -m polyhost --dev 0 # force developer mode off for this run

--dev turns on developer mode and raises the log level. If you only want the developer tools without the extra logging, enable Settings → Developer → Mode instead and start the app normally.

The Log Viewer (tray menu → Help & About → Log file…) shows the same output in a GUI window. When running with the daemon, its activity appears under the Daemon Log tab.