Summary
VICREO Listener is a software hotkey automation tool that receives JSON commands over TCP on port 10001. It simulates keyboard input, mouse actions, shell commands, and file operations on the host machine.
Transport
protocols:
- tcp
addressing:
port: 10001 # stated: configurable, default 10001
auth:
type: password_md5 # From v3.0.0 send a password field; hash configured passwords with MD5, or send empty when unset.
Traits
# inferred from source command types:
# - powerable: N/A (no power control)
# - routable: N/A (no I/O routing)
# - queryable: yes - getMousePosition, subscribe/unsubscribe
# - levelable: N/A
traits:
- queryable
Actions
# press - simulate keypress
- id: press
command: press
label: Press Key
kind: action
params:
- name: key
type: string
description: Key name (see Keys table)
- name: password
type: string
description: MD5 hash when configured in Listener; an empty password may be sent when not configured.
# pressSpecial - special keys
- id: pressSpecial
command: pressSpecial
label: Press Special Key
kind: action
params:
- name: password
type: string
notes: "The message type is documented; additional required payload fields and types are UNRESOLVED in this source. The global password requirement still applies."
# combination - two keys
- id: combination
command: combination
label: Key Combination
kind: action
params:
- name: key
type: string
- name: modifiers
type: array
items:
type: string
description: Modifier keys (alt, command, ctrl, shift)
- name: password
type: string
# trio - three keys
- id: trio
command: trio
label: Key Trio
kind: action
params:
- name: key
type: string
- name: modifiers
type: array
items:
type: string
- name: password
type: string
# quartet - four keys
- id: quartet
command: quartet
label: Key Quartet
kind: action
params:
- name: password
type: string
notes: "The message type is documented; additional required payload fields and types are UNRESOLVED in this source. The global password requirement still applies."
# down - key down
- id: down
command: down
label: Key Down
kind: action
params:
- name: password
type: string
notes: "The message type is documented; additional required payload fields and types are UNRESOLVED in this source. The global password requirement still applies."
# up - key up
- id: up
command: up
label: Key Up
kind: action
params:
- name: password
type: string
notes: "The message type is documented; additional required payload fields and types are UNRESOLVED in this source. The global password requirement still applies."
# processOSX - send keys to mac process via AppleScript
- id: processOSX
command: processOSX
label: Send to Process (macOS)
kind: action
params:
- name: key
type: string
- name: processName
type: string
description: Target application name
- name: modifiers
type: array
items:
type: string
- name: password
type: string
# string - type a string
- id: string
command: string
label: Type String
kind: action
params:
- name: msg
type: string
description: String to type
- name: password
type: string
# shell - perform shell command
- id: shell
command: shell
label: Shell Command
kind: action
params:
- name: shell
type: string
description: Shell command to execute
- name: password
type: string
# file - open a file
- id: file
command: file
label: Open File
kind: action
params:
- name: path
type: string
description: File path to open
- name: password
type: string
# mousePosition - set cursor position
- id: mousePosition
command: mousePosition
label: Set Mouse Position
kind: action
params:
- name: x
type: string
description: Coordinate encoded as a JSON string in the example ("500"); range is UNRESOLVED.
- name: y
type: string
description: Coordinate encoded as a JSON string in the example ("500"); range is UNRESOLVED.
- name: password
type: string
# mouseClick - simulate mouse click
- id: mouseClick
command: mouseClick
label: Mouse Click
kind: action
params:
- name: button
type: string
description: Source example uses "left"; other literal button values are UNRESOLVED.
- name: double
type: string
description: Source example encodes the single-click value as the string "false"; double-click capability is stated but its literal value is UNRESOLVED.
- name: password
type: string
# mouseClickHold - hold mouse button
- id: mouseClickHold
command: mouseClickHold
label: Mouse Button Hold
kind: action
params:
- name: button
type: string
description: Source example uses "left"; other literal button values are UNRESOLVED.
- name: password
type: string
# mouseClickRelease - release mouse button
- id: mouseClickRelease
command: mouseClickRelease
label: Mouse Button Release
kind: action
params:
- name: button
type: string
description: Source example uses "left"; other literal button values are UNRESOLVED.
- name: password
type: string
# mouseScroll - scroll mouse wheel
- id: mouseScroll
command: mouseScroll
notes: "Source example encodes vertical and horizontal as JSON strings (3 and 0 respectively); allowed ranges are UNRESOLVED."
label: Mouse Scroll
kind: action
params:
- name: vertical
type: string
- name: horizontal
type: string
- name: password
type: string
# setWindowToForeGround - bring window to foreground (Windows only)
- id: setWindowToForeGround
command: setWindowToForeGround
label: Bring Window to Foreground
kind: action
params:
- name: windowTitle
type: string
- name: password
type: string
# subscribe - subscribe to information
- id: subscribe
command: subscribe
label: Subscribe
kind: action
params:
- name: name
type: string
description: Information type to subscribe to (e.g. mousePosition)
- name: password
type: string
# unsubscribe - unsubscribe from information
- id: unsubscribe
command: unsubscribe
label: Unsubscribe
kind: action
params:
- name: name
type: string
- name: password
type: string
- id: getMousePosition
command: getMousePosition
label: Get Mouse Position
kind: query
params:
- name: password
type: string
Feedbacks
# UNRESOLVED: source shows subscribe mechanism but response format not documented
Variables
# getMousePosition - query current cursor position
- id: mousePosition
label: Mouse Position
kind: variable
description: Mouse cursor position is retrievable; response shape and coordinate wire types are UNRESOLVED.
Events
# UNRESOLVED: subscription push events not documented in source
Macros
# UNRESOLVED: no multi-step sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings in source - software automation tool controls host directly; user responsible for command intent
Notes
VICREO Listener is a software application (not hardware). It runs on the host machine and simulates keyboard/mouse input and executes shell commands. From v3.0.0 requests require a password field: MD5-hash a configured password, or send an empty password when none is configured. The source also says to leave the Listener password empty for older connection methods. Port default 10001, configurable.
Modifier keys supported: alt, command (Windows key), ctrl, shift. Platform restrictions noted in keys table (Windows-only, macOS-only, Linux-only).
Each Action command names the JSON type value. Payload fields are asserted only where source examples establish them. Strings shown as strings must not be silently converted to numeric or boolean JSON. TCP message framing beyond sending a JSON object is UNRESOLVED.
Keys
The following keys are supported:
| Key | Description | Notes |
|---|---|---|
| backspace | Forward delete (delete key on extended keyboards) | |
| delete | Backspace key | |
| enter | Return/Enter key (main keyboard) | |
| tab | Tab key | |
| escape | Escape key | |
| up | Up arrow key | |
| down | Down arrow key | |
| right | Right arrow key | |
| left | Left arrow key | |
| home | Home key | |
| end | End key | |
| pageup | Page Up key | |
| pagedown | Page Down key | |
| f1 | Function key F1 | |
| f2 | Function key F2 | |
| f3 | Function key F3 | |
| f4 | Function key F4 | |
| f5 | Function key F5 | |
| f6 | Function key F6 | |
| f7 | Function key F7 | |
| f8 | Function key F8 | |
| f9 | Function key F9 | |
| f10 | Function key F10 | |
| f11 | Function key F11 | |
| f12 | Function key F12 | |
| f13 | Function key F13 | |
| f14 | Function key F14 | |
| f15 | Function key F15 | |
| f16 | Function key F16 | |
| f17 | Function key F17 | |
| f18 | Function key F18 | |
| f19 | Function key F19 | |
| f20 | Function key F20 | |
| command | Command key (⌘) | |
| alt | Option/Alt key | |
| right_alt | Right Option key | |
| control | Control key | |
| right_ctrl | Right Control key | |
| shift | Shift key | |
| right_shift | Right Shift key | |
| caps_lock | Caps Lock key | |
| fn | Function (fn) modifier key | |
| space | Space bar | |
| printscreen | Print Screen key | No Mac support |
| insert | Insert key | No Mac support |
| pause | Pause/Break key | Windows only |
| scrolllock | Scroll Lock key | Windows only |
| numlock | Num Lock key | Windows only |
| win | Windows key / Start key | Windows only |
| leftwindows | Left Windows key | Windows only |
| rightwindows | Right Windows key | Windows only |
| keypaddecimal | Keypad Decimal (.) | |
| keypadmultiply | Keypad Multiply (*) | |
| keypadplus | Keypad Plus (+) | |
| keypadclear | Keypad Clear | |
| keypaddivide | Keypad Divide (/) | |
| keypadenter | Keypad Enter | |
| keypadminus | Keypad Minus (-) | |
| keypadequals | Keypad Equals (=) | |
| numpad_0 | Numpad 0 | No Linux support |
| numpad_1 | Numpad 1 | No Linux support |
| numpad_2 | Numpad 2 | No Linux support |
| numpad_3 | Numpad 3 | No Linux support |
| numpad_4 | Numpad 4 | No Linux support |
| numpad_5 | Numpad 5 | No Linux support |
| numpad_6 | Numpad 6 | No Linux support |
| numpad_7 | Numpad 7 | No Linux support |
| numpad_8 | Numpad 8 | No Linux support |
| numpad_9 | Numpad 9 | No Linux support |
| leftmouse | Left mouse button | Windows only |
| rightmouse | Right mouse button | Windows only |
| middlemouse | Middle mouse button | Windows only |
| x1mouse | Extra mouse button 1 | Windows only |
| x2mouse | Extra mouse button 2 | Windows only |
| comma | Comma (,) | Windows only |
| asterisk | Asterisk (*) | Windows only |
| plus | Plus (+) | Windows only |
| pipe | Pipe (|) | Windows only |
| minus | Minus (-) | Windows only |
| period | Period (.) | Windows only |
| slash | Forward slash (/) | Windows only |
| backslash | Backslash () | Windows only |
| audio_mute | Mute the volume | |
| audio_vol_down | Lower the volume | |
| audio_vol_up | Increase the volume | |
| audio_play | Play | |
| audio_stop | Stop | |
| audio_pause | Pause | |
| audio_prev | Previous Track | |
| audio_next | Next Track | |
| audio_rewind | Rewind (fast backward) | Linux only |
| audio_forward | Fast Forward | Linux only |
| audio_repeat | Repeat | Linux only |
| audio_random | Random (Shuffle) | Linux only |
| stop | Stop media playback | Windows only |
| play | Play media | Windows only |
| pause | Pause media | Windows only |
| launchpad | Launchpad key (opens Launchpad) | |
| missioncontrol | Mission Control key (opens Mission Control) | |
| lights_mon_down | Monitor brightness down | Alias for F14 on some keyboards |
| lights_mon_up | Monitor brightness up | Alias for F15 on some keyboards |
Provenance
source_domains:
- vicreo-listener.com
source_urls:
- https://www.vicreo-listener.com
retrieved_at: 2026-04-30T02:33:47.521Z
last_checked_at: 2026-09-28T15:35:02.889Z
Verification Summary
verdict: verified
checked_at: 2026-09-28T15:35:02.889Z
matched_actions: 20
action_count: 20
confidence: medium
summary: "All20 documented message types represented; literal JSON field types, password rules and TCP transport match; unspecified payloads remain unknown. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "device classification — this is a software automation tool, not hardware AV control module"
- "source shows subscribe mechanism but response format not documented"
- "subscription push events not documented in source"
- "no multi-step sequences documented in source"
- "no safety warnings in source - software automation tool controls host directly; user responsible for command intent"
- "subscription response format not documented"
- "pressSpecial parameters not fully specified in source"
- "firmware version compatibility not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0