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 |