KeyLime
v0.5.0A lightweight keyboard remapping app for macOS. Remap keys, create layers, and use tap-hold gestures — all from the menu bar.
Requires macOS 14.0 (Sonoma) or later. Free to download.
Screenshots
Features
Key Remapping
Remap any key to any other key. No kernel extensions, no system modifications.
Tap-Hold
Assign different actions for tapping vs holding a key. Turn Caps Lock into Escape on tap, layer switch on hold.
Layers
Define multiple layers of remappings and switch between them dynamically, like a programmable keyboard.
Profiles
Create and switch between different remapping configurations for different workflows.
Visual Editor
Configure mappings through an interactive keyboard UI. No manual config editing needed.
Menu Bar App
Runs quietly in the menu bar with a quick enable/disable toggle. Hot reload when you edit the config file.
Configuration
KeyLime stores its config at ~/.config/keylime/config.json. A default config is created on first run. Here's an example that turns Caps Lock into a dual-purpose key:
{
"profiles": [
{
"name": "Default",
"settings": {
"tap_hold_threshold_ms": 200
},
"layers": {
"base": {
"remaps": {
"caps_lock": {
"tap": "escape",
"hold": null,
"hold_layer": "nav"
}
}
},
"nav": {
"remaps": {
"h": "left_arrow",
"j": "down_arrow",
"k": "up_arrow",
"l": "right_arrow"
}
}
}
}
]
}Tap Caps Lock → Escape. Hold Caps Lock → Activate a navigation layer where H/J/K/L become arrow keys.
Getting Started
- Download the latest DMG and drag KeyLime to your Applications folder.
- Launch KeyLime. It will appear in your menu bar.
- Grant Accessibility permission when prompted: System Settings → Privacy & Security → Accessibility → Enable KeyLime
- The default config maps Caps Lock to Escape (tap) and a navigation layer (hold). Customize by editing the config or using the visual editor.