JFW / Keymapper Documentation

Overview

Keymapper is a non-destructive shortcut manager for Blender and Bforartists. It lets you create custom shortcuts in a managed list — organized into folders, with one-click presets, import/export, and live conflict detection.

Instead of editing Blender’s keymap directly — which is destructive, error-prone, and hard to undo — Keymapper layers your shortcuts on top. When a shortcut collides with a built-in default, that specific default is disabled, and it is restored automatically the moment the shortcut is removed or deactivated. Nothing in the factory keymap is ever overwritten.

This layered approach also means you're never locked to a frozen keymap. Keymapper works on top of whichever keyconfig you use — Blender, Industry Compatible, Bforartists, or a custom template — and you can switch between them freely. And when the Blender team adds or changes default keybindings in a new version, those changes reach you as normal: everything you haven't overridden stays stock, so your setup never falls behind the way a manually edited or exported keymap does.

Keymapper main panel with folders and entries

Highlights

  • Non-destructive — factory keybindings are never overwritten, only temporarily disabled while your shortcut needs the key.
  • Any keyconfig — works on top of Blender, Industry Compatible, Bforartists, or custom templates, and switching stays safe.
  • Multi-operator entries — one or more keybinds bound to many operators, so entries work across multiple editor contexts.
  • Conflict detection — see exactly what a shortcut collides with — Blender's defaults, your own KMIs, and KMIs added by other addons — before you commit.
  • Presets — apply curated shortcut sets with one click, and restore any edited preset entry back to its original.
  • Bundled operators — extra tools like a marking menu and a tool-select pie, ready to bind.
  • Import / Export — share your full setup as a single JSON file.

Compatibility

Blender, Bforartists  –  version 5.1 – 5.2

Installation

There are several ways to install Keymapper — use whichever fits you best.

Drag and drop from Superhive

The fastest route. On your Superhive orders page, drag the Keymapper extension straight from the browser into the Blender window. The first time, Blender asks for your Superhive API token (found in your Superhive account settings) and adds Superhive as a remote extension repository.

Once connected, all your Superhive purchases appear under Preferences > Get Extensions with one-click Install — and you get update notifications inside Blender whenever a new version is released.

See Superhive’s own guides: extension support announcement and connecting Superhive as a remote repository.

Install through Blender's extension system

With Superhive connected as a remote repository (see above), open Edit > Preferences > Get Extensions, find Keymapper in the list, and press Install. Updates later are a single click on Update.

Drag and drop the downloaded zip

Download the Keymapper .zip from Superhive (do not extract it), then drag the file from your file browser into the Blender window and confirm the install prompt.

Install from Disk

  1. Download the Keymapper .zip from Superhive. Do not extract it.
  2. In Blender, open Edit > Preferences > Add-ons.
  3. Click the dropdown arrow in the top-right corner and choose Install from Disk…
  4. Select the downloaded .zip and confirm.
  5. Make sure the checkbox next to Keymapper is enabled.

All methods work in Bforartists too — Keymapper detects the host application automatically.

Updating

Via the Superhive repository: press Update in Get Extensions. Manually: install the new version over the old one and restart. Your shortcuts, folders, and settings are preserved either way.

Uninstalling

Before removing the addon, press Restore KMIs in the Keymapper panel to return every keybinding to its original state, then disable or remove Keymapper from the Add-ons list.

Getting Started

Keymapper's panel can be shown in three places:

  • Edit > Preferences > Keymap — shown at the top of the Keymap section. Always enabled, so at least one Keymapper panel exists.
  • The N-panel in the 3D Viewport, under the Keymapper tab.
  • The addon's own preferences page.

The N-panel and Addon Preferences locations are toggled in the addon preferences (Edit > Preferences > Add-ons > Keymapper) under the Panel Visibility dropdown.

The Panel Visibility toggles in the addon preferences

This is the Keymapper panel as it appears in Preferences > Keymap, its default location:

Keymapper panel in Preferences > Keymap

The Settings row

At the top of the panel you'll find:

The Keymapper settings row
  • Active / Inactive — the master switch. Turning it off unregisters all your shortcuts and restores every disabled default.
  • Keyconfig dropdown — the native keyconfig template Blender is using (Blender, Industry Compatible, etc.).
  • Restore KMIs — removes all Keymapper entries (KMIs = keymap items, Blender's individual keybinding entries) and restores defaults.
  • Re-scan Operators — refreshes the operator and keymap scan; it turns red when a re-scan is recommended (e.g. after enabling other addons or switching keyconfig template).
  • Save — saves your entries; highlighted when there are unsaved changes.
  • F / P — toggles between friendly operator names and raw Python identifiers.

Creating Shortcuts

  1. Click the + button in the toolbar to open the entry form.
  2. Pick one or more operators via Browse Operators.
  3. Set the keybinding — key, modifiers (Shift/Ctrl/Alt/Win), and event type (Press, Click, Drag, …).
  4. Confirm. The shortcut is registered immediately.
The entry form with operator and keybind set

Adding from the right-click menu

The fastest way to bind something you're looking at: right-click a button or menu item in the UI and choose Add Keymapper Shortcut Entry…

Right-click menu with Add Keymapper Shortcut Entry

A popup panel opens with that operator already filled in — set the keybind and confirm right there, without opening the full Keymapper panel. The popup also has a button that redirects you to the full panel for further editing; which panel it redirects to is configurable in the addon preferences.

The right-click add popup panel
The addon preference for choosing which panel the popup redirects to

Browse modes

  • All — every operator, organized into categories.
  • Simple — curated multi-operator actions, e.g. one "Select All" that covers every editor and mode at once.
  • Factory — every binding the factory keymap actually uses. Disabled by default; enable in preferences under Other.
Browse Operators in All mode
Browse Operators in Simple mode

Multi-Operator Entries

An entry can hold several operators and several extra keybinds at the same time. Each operator in the entry carries its own context (which editor or mode it fires in) and its own properties, editable per operator in the entry form. Because contexts don't overlap, the operators never fight each other — the one that belongs to the editor you're in is the one that runs.

A multi-operator entry's form with per-operator contexts and properties

This is what makes one key work "everywhere": a single Select All entry can carry mesh.select_all, object.select_all, curve.select_all and more, each scoped to its home context. Contexts can be left on automatic, where Keymapper resolves each operator's home keymaps for you, or set manually per operator. The live conflict preview at the bottom of the form updates as you edit.

The quickest way to build one is the Simple browse mode: selecting a multi-op there adds the whole bundle of operators in one click, with the correct per-operator contexts and properties already set.

Selecting a multi-op bundle in the Simple browse mode

Labels & Icons

Entry labels

An entry's displayed name comes in two flavors. By default it is pre-registered: Keymapper derives it from the entry's first operator using its friendly-name catalog (the F/P button in the Settings row switches between these friendly names and the raw Python identifiers). Set a custom label in the entry form and it overrides the derived name entirely — useful when a bundle of operators deserves a name of its own.

Attribute-based operators get plain-language names too: an entry built on a wm.context_* operator is named after the setting it changes, so a shortcut reads "Face Orientation" rather than "Context Toggle".

Custom icons

Each entry shows an icon, automatically resolved from its first operator. To change it, open the entry form and click the icon to open the icon picker — browse by category or search, preview the current and selected icon side by side, and use Reset to Auto to return to the automatic choice.

The icon picker popup

Entry Buttons

A shortcut doesn't have to be a keybind at all — an entry can also be a button placed in Blender's UI. In the entry form, enable Button and pick one or more locations from the dropdown; the button shows the entry's icon and/or label (both can be toggled, though at least one must stay on). Pressing it runs the first of the entry's operators that is valid in that context.

Keybind and Button can be combined on the same entry, but at least one of the two must remain enabled. A button-only entry registers no keybindings and disables no defaults — by default it is excluded from conflict scanning, but an optional toggle can make it detect and disable shortcut conflicts.

The Button box in the entry form
The entry button visible in the UI

Additional Keybind Detection Contexts

Every keybind slot in the entry form has an Additional Keybind Detection Context(s) dropdown. Contexts checked here don't create a keybinding — they extend the conflict detection for that key, so same-key defaults in those extra contexts are disabled too. Use it when a default binding in a context your operators don't cover would otherwise still swallow your key. Contexts the entry's operators already occupy show pre-checked and locked.

The Additional Keybind Detection Contexts dropdown

Bundled Operators

Keymapper ships with a few operators of its own — extra tools that Blender doesn't have, ready to be bound like any other operator. You'll find them in Browse Operators under Keymapper's own subcategory in the category "Addon Operators".

  • Marking Menu — a pie menu for fast access to common actions.
    The Marking Menu open in the 3D Viewport
  • Tool-Select Menu — a pie menu for switching the selection tool.
    The Tool-Select pie menu
  • Pivot Transform — ability to easily edit the pivot point of an object.
    Pivot Transform in use
  • Open Asset Browser Window — opens the Asset Browser in its own separate window.
    The Asset Browser opened in its own window

All of the bundled operators are included in the shortcut presets, so they work the moment you apply those — see Folders & Presets.

Folders & Presets

Folders

Entries are organized into folders. Use the toolbar to create, remove, rename or move folders up/down. You can also move entries up/down, duplicate, and copy/paste entries between folders. The folder icon on the right side of the toolbar is specifically for moving entries to other folders.

Entries organized into collapsible folders
The toolbar buttons for folders and entries

Shortcut Presets

The Shortcut Presets popup offers curated folders of ready-made shortcuts — navigation, selection, tools, pie menus and more. Apply everything with Add All, a single folder, or individual entries. Some presets bind Keymapper's own bundled operators — the marking menu, tool-select pie, pivot editing, and asset browser window — so they work the moment you apply them.

The Shortcut Presets button
The Shortcut Presets popup

Applied preset entries remember where they came from: if you edit one, a Restore button lets you revert it to the original preset definition at any time.

Conflict Detection

Keymapper checks your entries against two kinds of conflicts:

  • Against Blender's defaults — shortcut conflicts (a default doing the same thing) and keybind conflicts (a different action already on your key).
  • Between your own entries — duplicates, shared keys, and overlapping operators, marked with a warning icon on the entry card.
Shortcut and keybind conflict rows on an entry

Clicking an entry's conflict icon enters focus mode, dimming everything not involved in that conflict so you can see exactly which entries collide.

Conflict focus mode dimming unrelated entries

An entry that is identical to a default keybinding shows a dimmed blue mirror icon. Instead of creating a duplicate, Keymapper takes control of the existing default — and returns it to its original state when the entry is removed or edited away from being identical.

An entry with the dimmed mirror icon, identical to a default keybinding

A conflict is not necessarily a problem — disabling a colliding default is exactly how Keymapper gives your shortcut priority. The icons are there so you always know what a binding affects.

Turning the overriding off

By default, when one of your shortcuts conflicts with a built-in binding, Keymapper overrides it — the colliding default is disabled so your shortcut wins. If you'd rather keep certain defaults active, this can be switched off per conflict type in the addon preferences, under Conflict Detection > Conflict Overrides:

The Conflict Overrides settings in the addon preferences
  • Override Shortcut Conflicts — controls whether defaults that do the same thing as your entry get disabled, with a sub-toggle for defaults whose operator properties differ.
  • Override Keybind Conflicts — controls whether defaults sitting on the same key get disabled, with a per-action-value matrix (Press, Release, Click, Double Click, Click Drag) for fine-grained control over which event types count.

With an override switched off, conflicts of that type are still detected and shown on the entry — but the default keybinding is left untouched.

What counts as a conflict is configurable in the addon preferences — including which keyconfig layers are scanned and how property and action values are compared.

Overrides can also be controlled per entry. An entry's conflict list shows every default it currently overrides, each with its own checkbox — untick one, and that specific default stays enabled while the rest of the entry works as normal. Handy when you want your key everywhere except in a few contexts.

An entry's keybind conflict overrides, with three manually disabled

Import / Export

The export button in the toolbar saves your complete setup — folders, entries, keybinds, and operator properties — to a single JSON file. Import merges a JSON file back in, recreating folders and entries and registering their shortcuts immediately.

Exporting a Keymapper JSON
Importing a Keymapper JSON

This is also the easiest way to move your shortcuts between Blender and Bforartists, between machines, or to share a setup with someone else.

Settings

The addon preferences (Edit > Preferences > Add-ons > Keymapper) contain:

  • Panel Visibility — choose where the Keymapper panel appears (N-panel, addon preferences — the Keymap location is always enabled), and where the right-click popup's edit button redirects to.
  • Conflict Detection — which keyconfig layers are scanned (Factory / User / Addon) and override rules for shortcut and keybind conflicts, including a per-action-value detection matrix.
  • Other — Changelog and extra options such as enabling the Factory browse mode.
Keymapper addon preferences

Every checkbox shows a restore button whenever its value differs from the default, so you can always get back to stock behavior.

Changelog

1.1.2

  • Fixed a duplicated entry silently disabling the original's shortcut after being moved above it.
  • Fixed the master Active/Inactive switch being bypassed by edits.
  • Fixed editing an entry bound identically to a Blender default killing its shortcut.
  • Fixed overridden Blender defaults sometimes staying disabled after their entry was removed.
  • Fixed "Restore KMIs" deleting some factory bindings that share one key.
  • Preset entries are now stored with the same complete field set as imported entries.

1.1.1

  • Fixed picking a multi-operator in the Simple browse view also selecting a neighbouring one.
    A grouped operator counted as selected as soon as its first property variant was in the selection, so two groups that shared one variant lit up together.

1.1.0

  • (NEW FEATURE) Right-Click add Popup Panel
    When adding a shortcut from the right-click menu, a popup panel now appears where you can finalize the shortcut creation without needing to open the full Keymapper panel.
    There is also a button in the popup panel to re-direct you to the full Keymapper panel if you want to edit it further there.
    Three new togglable options have therefore been added to the addon preferences, where you can select which Keymapper panel it should re-direct to.
  • (NEW FEATURE) Changelog
    Added a collapsable changelog in addon preferences, making it possible to see everything that's changed since release.
  • (NEW) Update notification.
    If Keymapper was installed through the online extension system, the main panel now shows an "Update Available!" banner when a newer version has been published. Clicking it opens Blender's extension list so you can install the update. The check reads the repository listing Blender itself has already downloaded, so it appears once Blender has checked for updates.
  • (NEW) Every keybind of an entry now has its own slot.
    Entries with several keybinds previously showed only the first one plus a "+ N other keybindings" note. Each keybind is now listed in full on the entry card, and entries that also create a button show it beneath them.
  • (NEW) Attribute names are now shown in plain language.
    Entries built on wm.context_* operators are named after the setting they change, so a shortcut now reads "Face Orientation" instead of "Context Toggle".
  • (NEW) "Show in Keymap" is now permanently enabled, so at least one Keymapper panel always exists.
  • Reworked the entry editor layout.
    Icon, label and folder now share one row, the Keybind and Button checkboxes double as their section headers, and each selected operator sits in its own box with its properties below the context selector.
  • Fixed internal conflicts not being detected for entries bound in global keymaps.
    An entry living in the Window or Screen keymap fires in every editor, but it was only compared against a fixed list of contexts. Anything outside that list — Animation, Sequencer, Grease Pencil modes and others — was treated as unrelated, so real collisions went unreported.
  • Fixed conflicts being missed for operators that bind to many keymaps.
    Activating an entry registers its operator in every keymap that operator belongs to, but conflict detection only considered the first one, so collisions in the other keymaps went unreported.
  • Fixed the conflicts list not refreshing after changing a keybind.
    Internal conflicts were served from a cache that was not cleared when the shortcut changed, so a conflict found with the previous keybind could stay listed after it no longer applied.
  • Fixed a crash that could occur while scanning the keyconfig after enabling or disabling add-ons.
  • Fixed the enable checkbox doing nothing on an entry that had not been confirmed yet.
  • Fixed a button using the operator name instead of the entry label when no custom button label was set.
  • Updated Documentation to reflect changes.

1.0.2

  • Fixed a bug where the initial "Scan Keyconfig" prompt would not go away after pressing it if the Keymapper was installed through the online extension system.

1.0.1

  • Fixed a bug where default KMIs would get disabled from conflict detection even though conflict detection was set to disabled.

1.0.0

  • Initial release of Keymapper