Об этом проекте

keymapper — это кроссплатформенный контекстно-зависимый инструмент для переназначения клавиш, предназначенный для переопределения раскладок клавиатуры и комбинаций клавиш как на системном уровне, так и для отдельных приложений. Позволяет управлять всеми горячими клавишами в одном конфигурационном файле, менять аналогичные действия в разных приложениях одновременно и делиться настройками между GNU/Linux, Windows, macOS и FreeBSD. Инструмент поддерживает отображение символов напрямую (а не только физических клавиш), запуск приложений через комбинации клавиш и управление состоянием через внешние утилиты, такие как keymapperctl. Можно также мапить кнопки мыши и события колёсика. Конфигурация использует простой синтаксис с разделением входных и выходных выражений знаком '>>', поддерживаются модификаторы, последовательности, таймауты и виртуальные клавиши для переключения состояния. Блоки контекста позволяют настраивать условные отображения на основе заголовка окна, класса, пути процесса, устройства или состояния модификаторов. Расширенные возможности включают абстрактные команды, многоэтапную обработку, вывод при отпускании клавиши, ввод символов, макросы и директивы для тонкой настройки поведения. Установка варьируется по ОС: Linux требует настройки systemd и опциональной интеграции Wayland; macOS нужен драйвер Karabiner-Elements; Windows предлагает установщики или портативные сборки. Служба работает как привилегированный демон (keymapperd), тогда как пользовательское приложение (keymapper) обрабатывает конфигурацию и контекст. Внешнее управление через keymapperctl позволяет писать скрипты, внедрять нажатия клавиш, переключать виртуальные клавиши и запрашивать состояние. Для аварийного выхода доступна комбинация Shift+Escape+K. Конфигурационные файлы чувствительны к регистру и поддерживают include, алиасы и регулярные выражения. Встроенные макросы обеспечивают динамическую генерацию отображений. Идеально подходит для опытных пользователей, которым нужна глубокая кастомизация без привязки к платформе.