Skip to content
Vimputer
Esc
↑↓navigate↵open⌘Jpreview
On this page

Karabiner

Import an existing karabiner.json, and what does and doesn't come across.

Vimputer writes Karabiner-Elements config, and can read it back. To start from the config you already have, open Settings → Karabiner → Import, choose Preview to see what it found, then Apply.

What imports

Each Karabiner profile becomes a Vimputer profile. Each manipulator becomes a binding with an action per moment. Variables that bindings set become variables, and bindings gated on the same variable value are grouped into a layer. Regrouping can change which binding wins, so check Conflicts after an import. Raycast deeplinks become Raycast plugin actions, and afplay commands become sound actions.

Some imported parts can be kept and written back but not edited in the UI:

Part In Vimputer
Mouse buttons and media keys as triggers Kept; the recorder can’t capture them
Optional modifiers (from.modifiers.optional) Kept; the recorder can’t mark a modifier optional
Notifications and raw events Kept as they are
Extra device IDs, input source languages Kept; the editor shows the first

What doesn’t

The preview counts what it skipped and lists a warning for each.

Skipped Why
Manipulators other than basic, such as mouse_motion_to_scroll Not modelled
Triggers with from.any Not modelled
App conditions by file_paths only Vimputer matches apps by bundle ID
Manipulators with no action Vimputer understands Nothing left to bind