Skip to main content

The configuration file

Everything you set up in the configuration window is saved in one file, config.toml. Input.Observer reads it when it starts and whenever you apply changes. You never need to touch it: the configuration window reads and writes it for you. This page is for when you want to know where it is, keep it somewhere else, recover it, or edit it by hand.

Where it is​

Input.Observer looks for config.toml in this order:

  1. Beside the program, in the folder that holds Input.Observer.exe. If a config.toml is there, Input.Observer uses it — this is how a copy run from a USB stick keeps its settings with it.
  2. Otherwise in your user profile: %APPDATA%\Input.Observer\config.toml.

If that file contains only a pointer to another file, Input.Observer uses the other file ("Keeping the configuration somewhere else" below).

To open the folder, choose Open Config Folder from the tray menu. In Advanced mode, the General page's Config file card shows the file in use and whether it is encrypted, and Reveal opens it in File Explorer.

These files sit beside config.toml and always go with it:

File or folderHolds
license.datYour license email and key
console.tomlThe console's script editor text and window position
gesture_profile.datWhich gesture profile is active
storage.tomlValues scripts store between runs
styles.tomlThe Styles plugin's settings (other plugins may keep their own files here too)
Backup\Automatic backups of config.toml ("Backups" below)
Recordings\Saved macro recordings
Entitlements\Style purchase files (Appearance)

Backups​

Each time Input.Observer exits, it copies config.toml into the Backup folder beside it — but only when the configuration has really changed since the newest backup. Comments, spacing and the order of entries don't count as changes. The newest 10 backups are kept; older ones are deleted.

  • Backup names carry the date and time in UTC, for example config.20260923T180512Z.toml, so sorting by name sorts by age. Each has a .sha256 file beside it that Input.Observer uses to tell whether anything changed.
  • A backup of a protected configuration stays encrypted, with the password that was in use at the time. When you set a password, the plain-text backups are deleted (Security).
  • To go back to a backup, close Input.Observer (tray menu, Exit), copy the backup over config.toml under that name, and start Input.Observer again.

When the file can't be loaded​

If config.toml exists but can't be read — it isn't valid, or the file it points to is missing — Input.Observer shows "Input.Observer can't load your configuration" at startup, with where it looked and, under Details, what is wrong. It offers three choices:

ChoiceWhat happens
Browse for a configuration filePick another config.toml on this computer. Input.Observer uses that file where it is, and remembers it: the usual file becomes a pointer to it. If the usual file held settings, it is first renamed aside. If the file you pick can't be loaded either, the dialog shows why and asks again.
Start fresh with a new default configurationThe broken file is renamed, not deleted, and a new minimal configuration is written in its place.
Close Input.ObserverNothing changes. Fix the file yourself, then start Input.Observer again.

A renamed file is named like config.toml.broken-20260923-180512.bak, in the same folder. If the file can't be renamed (for example, another program has it open) or the folder can't be written to, nothing is overwritten: the dialog tells you and asks again.

The same dialog appears after three wrong passwords for a protected configuration — see If you forget the password.

If there is no config.toml at all, that is a first run: Input.Observer creates a new one with the starter set and opens the welcome (First run).

Keeping the configuration somewhere else​

You can keep your real config.toml in another folder — a synced folder, for example — and leave a pointer in the usual place. The pointer is a config.toml that contains only this:

[config_location]
path = "D:\\Sync\\Input.Observer\\config.toml"
  • A relative path is read from the folder the pointer file is in.
  • Everything that goes with the configuration (the files in the table above) then lives beside the target file, not beside the pointer.
  • Browse for a configuration file in the recovery dialog writes this pointer for you.
  • If the target doesn't exist, Input.Observer shows the recovery dialog at startup rather than starting with defaults. Reload Config keeps the running configuration and says the target is missing.
  • The pointer is never encrypted, and is never exported or imported.

Restart Input.Observer, or choose Reload Config from the tray menu, after changing the pointer.

Editing the file by hand​

config.toml is a plain-text TOML file, and you can edit it with any text editor. Know these first:

  • A protected configuration can't be edited by hand. It is encrypted; remove the password first (Security).
  • Apply your edit with Reload Config from the tray menu, or restart Input.Observer. While the configuration window is open, it notices the file changed when you next save and asks whether to Reload (dropping your unsaved changes in the window), Overwrite the file, or Keep editing.
  • If Reload Config can't read the file, it tells you. The previous configuration stays in effect, and a Configuration Not Reloaded message names the line and column of the mistake, with the reason in English as the file reader reports it (Reload Config). Fix it and reload again. At the next start, the same mistake brings up the recovery dialog.
  • Input.Observer repairs what it can and tells you. An entry it can't use is skipped, and a value out of range is reset or limited. Each repair is listed in the console's System section, and the configuration window shows them as notes from the engine. A few serious cases also show a message at once.
  • Input.Observer may rewrite the file. When a setting it expects is missing, it writes the whole file back with every setting present, and comments you added are lost then. Keep notes elsewhere.
  • A file larger than 8 MB still runs, but the configuration window can't open it; Input.Observer warns at startup.
  • Make a copy before a large edit. The backups only cover changes made up to the last exit.