Changing key bindings from the palette
Add or remove a shortcut for any command from inside fman, without editing a JSON file.
You don't have to edit a JSON file to rebind a key. Every command in the command palette can be given a shortcut — or have one taken away — from inside fman, in the same Shift+Enter menu that edits a command's keywords and name.
The three screens
Open the palette (Ctrl+Shift+P), find the row you want, then press
Shift+Enter instead of Enter and choose Change key bindings for "…".
| Screen | What it offers | Enter | Escape |
|---|---|---|---|
| Entry menu | Change keywords, Change key bindings, Rename to… | opens the shortcut list | back to the palette |
| Shortcut list | Add shortcut…, then one row per shortcut | Add asks you to press a key; a shortcut opens the menu below | back to the palette |
| Shortcut menu | Remove, Go back | unbinds the shortcut, or returns | back to the shortcut list |
The shortcut list marks where each binding came from:
Add shortcut...
Ctrl+Alt+P (yours)
F5 (default)
(yours) is a binding from your own file — yours to delete. (default) is one fman ships; removing it works differently (below).
Adding a shortcut
Add shortcut… opens a small dialog and waits for you to press the
combination — you never type the string, so there is no way to misspell
PgDown or Num+Down. Press Escape to back out.
If the combination already runs something else, fman names that command and asks whether to take the key over:
F5currently runscopy. Bind it to "Pack" instead?
Answering yes is honest about what happens: your binding is written to the
front of your own file, and fman dispatches the first match it finds, so
yours wins and copy loses F5. Answering no changes nothing.
Changes take effect immediately — no restart, and no reload_plugins.
Removing a shortcut
Pick a shortcut, then Remove. What that means depends on where it came from:
- One of yours is deleted from your file outright.
- A shipped default cannot be deleted — fman never writes to the files it
ships. It is shadowed instead: removing
F5writes a binding ofF5to thedo_nothingcommand, which is a real command that does exactly that. The key stops working, the palette stops advertising it, and you can see why by reading your file.
do_nothing is invisible in the palette — it is a target for this, not an
action you would ever run.
Viewer commands
The viewer palettes have the same Shift+Enter, and this is where it earns its
keep: most viewer commands (video_mute, viewer_next_file,
image_actual_size, …) ship with no default key at all, so binding them
used to mean creating a file by hand.
Viewer bindings are written to Viewer Key Bindings (<OS>).json, a separate
file from the global one. The editor picks the right file from which palette
you opened it in; there is nothing to choose.
Removing a viewer default (Space for play/pause, say) shadows it with
do_nothing just like a global one, and the viewer honours that instead of
falling through to its built-in key.
Where your edits are stored
%APPDATA%/fman/Plugins/User/Settings/Key Bindings (Windows).json — the
per-OS user file, and the same one you would edit by hand. Viewer bindings land
beside it in Viewer Key Bindings (Windows).json. On macOS and Linux the
folder and the (Mac) / (Linux) suffix change; nothing else does.
The editor only ever writes that one file, so everything it does is reversible by deleting a line from it. After each write fman reloads its settings, which is what makes a new binding live without a restart.
Two things it can't do
- Bind Escape. Escape cancels the capture dialog, so it can never be recorded. Add it by hand if you really want it.
- Spot a differently-spelled duplicate. Shortcuts are compared as plain
strings throughout fman, so a hand-written
Shift+Ctrl+Pand a capturedCtrl+Shift+Plook like two unrelated keys — the conflict prompt won't fire and both entries stay in the file. The dialog always writes one canonical modifier order, so this only bites files you edited yourself.