9 releases (1 stable)
Uses new Rust 2024
| 1.0.0 | Jun 1, 2025 |
|---|---|
| 0.2.3 | May 12, 2025 |
| 0.1.3 | May 5, 2025 |
#103 in macOS and iOS APIs
666 downloads per month
15KB
310 lines
macos_keyboard_remapper: remap Dvorak to QWERTY on macOS
this simple macOS daemon will remap keys from the "Dvorak — QWERTY Cmd" layout to US QWERTY layout iff the "control" or "function" keys are pressed ("command" is already covered by "Dvorak — QWERTY Cmd"). this is done in order to preserve compatibility with apps that define their keybindings relative to QWERTY. so, you are free to use any QWERTY keybindings that employ "control", "function", or "command", and if a keybinding uses "alt", you can typically just press "function", because it most often is a no-op in keybindings
why another keyboard remapper?
save for Karabiner-Elements, i have not found any other tools that have similar functionality. but the latter forces me to learn a complicated JSON-based DSL to perform the same simple task. i could not figure out how to make it respect "caps lock" with Dvorak, or how to still remap to QWERTY while an "alt" is pressed
installation
- install the binary into your
~/.cargo/binwithcargo install macos_keyboard_remapper - make sure that
~/.cargo/binis in$PATH - run
macos_keyboard_remapper installto install the service. you will be asked for permission to control your computer; grant it - wait a few seconds and enjoy
deinstallation
- run
macos_keyboard_remapper uninstall - remove the granted accessibility permission in system settings
acknowledgements
most of the work was done by o4-mini and OpenAI Codex, huge thanks to the team that made them
Dependencies
~9–13MB
~164K SLoC