Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

  1. Connections
  2. VICREO - Listener

VICREO

Listener

Communityv5.1.0Updated 5 days ago
DocumentationReport an issueView on GitHub

Documentation

VICREO Listener

VICREO Listener is a small background application for Windows, macOS and Linux that listens on TCP port 10001 and carries out what it is told to do inside the logged-in desktop session: press keys, type text, move and click the mouse, run a shell command, open a file, bring a window to the front, and report whether an application is still running and responding. This module lets Companion drive and watch such a machine over the network, so a playback, presentation or graphics computer that nobody is sitting at can still be operated — and can raise an alarm on a button when the software on it stops or hangs.

Download the Listener

The application is a separate download: vicreo-listener.com

Signed and notarised builds for macOS and Windows; a .deb for Linux is in beta.

Setup in three steps

  1. Install and start the Listener on the target machine. On macOS, allow it under System Settings → Privacy & Security → Accessibility; without that permission it cannot send keystrokes. The machine may also be the one Companion itself runs on.
  2. Add the connection in Companion. Use Find on the network (Bonjour, from Listener 8.0.0 onwards) or fill in Target IP by hand — 127.0.0.1 if the Listener runs on the same machine. The port is 10001 unless you changed it. Fill in the password only if the Listener asks for one; it is stored as a secret and left out of exported configs.
  3. Test it. Put the Single key action on a button and pick, say, F5. Or drag one of the built-in presets onto a page and press it — the preset categories cover Keynote, PowerPoint for Mac, Audio, Mouse, Windows, OSX, Watchdog, Screen lock and Misc.

The VICREO Listener version variable fills in once the connection is up, which is the quickest confirmation that Companion and the Listener are talking.

Every text field in the actions accepts variables, and can be switched to an expression. Module version 5 needs Companion 5.0 or newer; the last version for Companion 4 is 4.12.

Free versus licensed

What you can sendFreeLicense
Single key, special key, two-key combination✔️✔️
Three- and four-key combinations, separate key down / key up✔️
Mouse position, click, hold and release, scroll, read position✔️
Type a string of text✔️
Shell command, open a file✔️
Send a key straight to a named process (macOS), window to foreground (Windows)✔️
Process watchdog: running, frontmost, responsive✔️
Lock the screen, see whether it is locked✔️
Subscriptions and custom JSON actions✔️

Actions that need a license are marked (pro-action) in the action dropdown.

Actions switched off on the Listener

The Listener's Settings → Allowed remote actions lets the person running that machine switch off shell commands, opening files, typing text, mouse control, window targeting, the process watchdog (which includes the screen lock state) or locking the screen. A button that sends one of those is refused, and the reason appears as a warning in this connection's log in Companion (Listener 11 or newer). Key presses can never be switched off.

Actions

Keyboard

  • Single key
  • Special key (see the key lists below)
  • Combination — two keys
  • Three keys (pro-action)
  • Four keys (pro-action)
  • Key press, down (pro-action)
  • Key release, up (pro-action)
  • special key OS dependent (pro-action)
  • Send KeyPress To MacOS Process (pro-action)

Text and mouse

  • Send stringmessage — types a string, variables allowed
  • Change mouse position (pro-action)
  • Click the mouse (pro-action) — left, right, middle, double
  • Hold mouse button down (pro-action)
  • Release mouse button (pro-action)
  • Scroll the mouse (pro-action)
  • Get the position of the mouse on screen

System

  • Send shell command (pro-action)
  • Open a file (pro-action)
  • Set a Window to foreground (pro-action, Windows only)
  • Lock screen (pro-action)
  • Subscribe to data (pro-action) — mouse position, process state (watchdog) or screen lock state
  • Custom action (pro-action) — send raw JSON to the Listener
  • Set License Key

Keys

The following keys are supported:

Backspace Delete Enter Tab Esc Arrow up Arrow Down Arrow Right Arrow Left Home End Page Up Page Down F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Command/Win Option/alt Control Shift Right-Shift Space(bar) Leftmouse Rightmouse

Special keys

Some of these do not exist on every operating system.

Audio mute (toggle) Audio volume down Audio volume up Play Stop Pause Previous track Next track Numpad 0 Numpad 1 Numpad 2 Numpad 3 Numpad 4 Numpad 5 Numpad 6 Numpad 7 Numpad 8 Numpad 9 Numpad / divide Numpad * multiply Numpad - minus Numpad + plus Numpad . decimal Numpad separator Monitor brightness up Monitor brightness down Insert Keyboard light up Keyboard light down Printscreen

Process watchdog

Watch applications on the target machine and see on a button when one stops running or hangs. Windows and macOS only, and it needs a Pro license.

Setting it up. In the connection config, fill in Watch these processes with a comma separated list, set a check interval and choose whether to report on every check (see Reporting below). Those processes are watched automatically, including after a reconnect. Use the process name as the machine knows it:

  • Windows: the executable, e.g. chrome.exe, POWERPNT.EXE. The .exe is optional.
  • macOS: the application name or bundle id, e.g. Keynote, Google Chrome, com.apple.Keynote.

You can also start and stop the watch from a button with the Subscribe to data action, choosing process state (watchdog). That replaces whatever the config set, for the rest of the session.

Variables. Each watched process gets four, with the name lowercased and punctuation turned into underscores, so chrome.exe becomes chrome_exe:

VariableValue
$(vicreo-hotkey:process_chrome_exe_running)true / false
$(vicreo-hotkey:process_chrome_exe_frontmost)true / false
$(vicreo-hotkey:process_chrome_exe_responsive)true / false / unknown
$(vicreo-hotkey:process_chrome_exe_pid)process id

They go blank while the connection is down, so a button never shows a stale "running".

Feedback. Use Process state (watchdog) to style a button. Fill in the process name exactly as you watch it and pick the condition — "Process is NOT running" is the usual alarm. There are ready made buttons in the Watchdog preset category.

About "responsive". This asks the application whether its event loop still answers, which is how a frozen-but-running app is caught. It reports unknown when it genuinely cannot be established: a background process with no window, or on macOS an app that is not a normal windowed application. On macOS the Listener needs Accessibility permission for this, the same permission it already needs to send keystrokes. unknown never triggers the "hung" feedback.

Reporting. By default a report is only sent when something changes, so the network stays quiet. Tick Report every interval — in the connection config, or on the Subscribe to data action — if you want a message on every check; a change that was missed is then corrected at the next interval, which is the safer choice for critical monitoring. The interval is clamped to at least 1000 ms, and at most 20 processes can be watched at once.

Screen lock

Lock the target machine from a button, and see on a button whether it is locked. Windows and macOS, Pro license, VICREO Listener 11.1 or newer. Ready made buttons are in the Screen lock preset category.

Locking. The Lock screen action locks the machine the way Win+L or the Apple menu's "Lock Screen" does. There is no unlock action, and there will not be one: both operating systems refuse synthetic key presses on their lock screen, which is exactly what a lock is for.

Seeing the state. Tick Watch whether the screen is locked in the connection config, or use Subscribe to data with screen lock state. Either one fills $(vicreo-hotkey:screen_locked) with true, false or unknown, and drives the Screen locked feedback. The variable goes blank while the connection is down. unknown means the Listener could not establish it, and never counts as locked.

Mouse position and click

From Listener 4.0.10 upwards there is control over the mouse via a position and a click (left, right, middle button, double click). Get the position of the mouse on screen writes the current position into the mouseX and mouseY variables, which is the easy way to find the coordinates you need.

Opening a file

Go to the presets and drag in Open Notepad. That preset shows the exact format.

macOS. To get the path of a file, right-click it, and while the menu is open press and hold Alt to copy the full path. Put quotes around a path that contains spaces, like "filepath".

Windows. Right-click the file while holding Shift to copy the full path. Leave it exactly as Windows gives it to you, backslashes and quotes included.

Tips for macOS

When using PowerPoint for Mac you can jump to a slide through a process. Use the Send KeyPress To MacOS Process action, fill in the process name (in this case Microsoft PowerPoint — you can look it up in Activity Monitor) and select the key, for example ANSI_3. Then add a small delay (30 ms) on the same button for ANSI_KeypadEnter.

Beyond Companion

The Listener does not depend on Companion. It accepts plain JSON over a TCP socket, so anything that can open one can drive it: COGS, Medialon, QLab, Crestron, Node-RED or your own scripts. The Custom action in this module sends raw JSON, which makes it a convenient way to try out a command before wiring it up elsewhere.

Support

Issues with the module: github.com/bitfocus/companion-module-vicreo-hotkey/issues

Details

Manufacturer
VICREO
Product
Listener
Latest Version
v5.1.0
Author
Jeffrey Davidsz
Contributors
JeffreyDavidsz(143)
Julusian(8)
phillipivan(4)
claude(3)
greyshirtguy(2)

Open Issues and Requests

robertskiba#81 Ability to enter UTF8 characters with Vicreo hotkeytonsofpcs#38 Feature request: arbitrary scan codes

To file a new issue, you need to sign up for a user on GitHub.

Go to GitHub issues →

In other news

Buttons v1.8 Main with text

Buttons v1.8

October 2, 2026

Buttons v1.8 IBC award win

Bitfocus wins IBC2026 Best of Show Award for latest Buttons enhancements

September 21, 2026

Buttons v1.8 grey background

Biggest functionality boost yet makes Buttons the perfect platform for broadcast and media management

September 10, 2026

Vivid Buttons on screen

Bitfocus Buttons makes complex OB production feel simple

August 10, 2026

View all news →

More from VICREO

Broadcast Titles

VICREO

Community
View Connection

ColorBox Control API

VICREO

Community
View Connection

Display

VICREO

Community
View Connection

Timer

VICREO

Community
Timing
View Connection