Loading...
Control a remote Mac or Windows computer from Companion / Buttons using Bitfocus Listener.
Listener is a small app that runs on the machine you want to control. This module connects to it over WebSocket and can send key presses, mouse actions, shell commands, and more.
Download Listener from https://user.bitfocus.io/download.
0.0.0.0 to accept connections from any network interface, or pick a specific interface.12001.12001)If authentication fails, double-check the password and regenerate it in Listener if needed (Generate New).
Official setup guide: Bitfocus Listener Quick Start.
Configure these in the Listener app on the target computer. They apply to every remote client, including this connection.
Edit Allowed Remote Actions
Enable or disable entire command types (key press, shell, mouse, AppleScript, etc.).
Turn off anything you do not need — especially Run Shell Command and macOS AppleScript.
Edit Key Access Control
If an action is blocked in Listener, the button press will not take effect even when Companion is connected.
Activity Log
Shows recent connections and actions. Useful when debugging why a command was ignored or blocked.
cmd /C.Keyboard actions use searchable dropdowns for keys and modifiers. Prefer selecting from the list — that uses the exact strings Listener expects and avoids typos.
Key categories include Navigation, Function, Media, System, Modifiers, Numbers, Letters, and Symbols. You can also enter a custom value if needed.
Modifiers (for Key Combination / macOS Key Press Process):
alt — Alt / Optionctrl — Ctrlshift — Shiftcommand / cmd — Cmd (macOS); on Windows some setups respond to cmd for the Windows keywin — Windows keyExamples:
c, modifiers ctrl → Ctrl+Ctab, modifiers alt → Alt+Tabs, modifiers command → Cmd+S on macOSKeyboard
Key Press — tap a single key
Key Down — press and hold a key
Key Up — release a held key
Key Combination Press — press a key with one or more modifiers
Key String — type a text string into the focused field / application (Companion variables supported)
Volume Up / Down / Mute — media volume keys (same as Key Press with volumeup / volumedown / mute)
macOS Key Press Process (macOS only) — activate an application by name, then send a key (with optional modifiers). Process name examples: Finder, Google Chrome, Microsoft PowerPoint
macOS AppleScript (macOS only) — run an AppleScript snippet on the Listener machine (Companion variables supported). Use a multiline script with one statement per line, e.g.:
display dialog "Hello World"
display alert "Hello World"
Putting two statements on one line without a newline is invalid AppleScript and will fail.
Mouse
X / Y (origin is typically top-left of the primary display)X / Y offset from its current position (positive X = right, positive Y = down). If the current position is unknown, the module fetches it first.System
sh -c on macOS/Linux, cmd /C on Windows; Companion variables supported)open / xdg-open / Windows FileProtocolHandler; Companion variables supported)Values update when Listener sends data. Configuration settings control these updates:
Get Mouse Position still requests a one-shot update even when the mouse subscription is disabled.
Use variables in button text, other actions, or expressions as $(bitfocusas-listener:mouse_x) (label depends on your connection name).
| Variable | Source | Description |
|---|---|---|
mouse_x | Mouse subscribe / Get Mouse Position | Cursor X |
mouse_y | Mouse subscribe / Get Mouse Position | Cursor Y |
cpu | System info subscribe | Overall CPU usage % |
max_cpu | System info subscribe | Highest sampled core CPU usage % |
mem | System info subscribe | Used memory in bytes |
max_mem | System info subscribe | Total memory in bytes |
mem_percent | System info subscribe | Used memory as a percentage |
processes | System info subscribe | Number of running processes |
Boolean feedbacks compare the latest Listener values to a threshold (shown under Feedbacks / usable as button conditions):
Bitfocus
Community