MouseMux Telemetry and Network Data Insights

Share

This page explains the types of data (telemetry) sent and received by the MouseMux program, as well as other network-related data.

Note: This telemetry documentation applies to MouseMux version 2.2.x and later.

Note: In MouseMux, a "user" refers to a virtual user - a pointer device (mouse) combined with a keyboard. This is not an actual person, but rather the logical pairing of input devices that MouseMux manages.


  • When MouseMux starts, it checks for updates by contacting the MouseMux update server. It downloads a JSON file with update metadata and may fetch individual update packages.

  • MouseMux sends crash dumps (.dmp) and log files when a crash is detected.

  • MouseMux sends telemetry data to our servers. A unique system identifier is generated by hashing the computer name and the username. In paid versions, telemetry can be disabled completely.

Telemetry includes the following data:


Key Description
Application Events
app.start Application started
app.exit.okay Clean application exit
app.license License type on startup
app.license.edition License edition (free/home/pro/business/industry/trial)
app.running Total session duration (timer)
app.boot-{version} Startup duration by version (timer)
app.calibration Mouse calibration duration (timer)
app.fps.frames Frame count (timer)
app.fps.time FPS time (timer)
app.fps.average Average FPS (timer)
---------------------------------------- ----------------------------------------------------------------
App Launcher Events
app.launcher.open Launcher dialog opened
app.launcher.close Launcher dialog closed
app.launcher.run.{name} Specific app launched by name
---------------------------------------- ----------------------------------------------------------------
Mode Events
mode.native Switched to native mode
mode.switched Switched to switched mode
mode.multiplex Switched to multiplex mode
mode.kb.multi Keyboard multi-mode enabled
mode.time.native Time spent in native mode (timer)
mode.time.switched Time spent in switched mode (timer)
mode.time.multiplex Time spent in multiplex mode (timer)
---------------------------------------- ----------------------------------------------------------------
User Events
user.add.{number} Mouse added and becomes active
user.active User active duration (timer)
user.name.change User name changed
user.cursor.change Cursor theme changed (includes theme name)
user.cursor.flag Cursor flag changed
---------------------------------------- ----------------------------------------------------------------
Program Events
program.enter Program (executable name)
program.leave Program (executable name and duration)
---------------------------------------- ----------------------------------------------------------------
Feature Events
feature.macro.record Macro recording started
feature.macro.play Macro playback started
feature.coalesce.enable Input coalescing enabled
---------------------------------------- ----------------------------------------------------------------
Settings Events
main.settings Settings screen opened
main.settings.register.activate License activate button pressed
settings.start.automatic Auto-start enabled
settings.start.minimized Start minimized enabled
settings.start.tray Start to tray enabled
settings.start.logo.disable Logo disabled
settings.users.load Load users enabled
settings.users.save Save users enabled
settings.users.hash.base Hash base enabled
settings.users.keyboard.restore Keyboard restore enabled
settings.performance.loop.speed Loop speed configured
settings.performance.priority.thread Thread priority enabled
settings.performance.priority.multiplex Multiplex priority enabled
settings.features.buffered.disable Buffered input disabled
settings.features.pointers.disable Pointers disabled
settings.features.capture.disable Capture disabled
settings.features.telemetry.disable Telemetry disabled
settings.features.dpi.disable DPI awareness disabled
settings.cursor.native Native cursor enabled
settings.cursor.delta.motion Delta motion enabled
settings.cursor.inactive.hide Hide inactive cursor enabled
settings.sdk.win.enabled Window SDK enabled
settings.sdk.web.enabled WebSocket SDK enabled
settings.sdk.web.port WebSocket SDK port configured
settings.advanced.launcher.disable App launcher disabled
settings.advanced.browser.* App launcher browser launch method
---------------------------------------- ----------------------------------------------------------------
Device Events
devices.pointer.count Number of pointer devices connected
devices.keyboard.count Number of keyboards connected
---------------------------------------- ----------------------------------------------------------------
WebSDK Events
websdk.connect WebSocket SDK client connected
websdk.disconnect WebSocket SDK client disconnected
websdk.login WebSocket SDK client app name registration
---------------------------------------- ----------------------------------------------------------------
License Events
license.limit.pointer Hit maximum pointer device limit
license.limit.keyboard Hit maximum keyboard limit
license.trial.start User chose Trial mode
license.trial.free User chose Free mode
license.trial.buy User clicked Buy button
---------------------------------------- ----------------------------------------------------------------
User Config Events
config.user.winject.{type} Injection method (sendinput, touch.win8, touch.win10, pen.win10)
config.user.meta.{flag} Meta flags (emulate.pressure, enable.delta, etc.)
config.user.keyboard.{flag} Keyboard flags (force.hardware, force.altgr, etc.)
---------------------------------------- ----------------------------------------------------------------
Error Tracking
(crash reports) Errors and warnings with file/line/text via crash reporting