Настройка Karabiner-Elements для переназначения клавиш на Mac
Переназначить клавиши в macOS через Karabiner-Elements можно за 10 минут: ставите приложение, выдаёте нужные разрешения, делаете простые замены в Simple Modifications или включаете готовые правила в Complex Modifications (например, Caps Lock → Hyper, а по одиночному нажатию — Escape).
Оглавление
Когда хватит macOS, а когда нужен Karabiner
Встроенных настроек macOS достаточно, если нужно лишь поменять модификаторы местами (например, Command ↔ Control) или сделать Caps Lock → Control/Escape — и иногда даже отдельно для конкретной клавиатуры.
Karabiner-Elements нужен, когда вы хотите:
- Hyper Key (обычно
Control + Option + Shift + Command) на одной клавише; - поведение “нажал = одно, удержал = другое” (например, тап по Caps Lock =
Escape); - разные правила для конкретных приложений (IDE/терминал/виртуальная машина);
- “слои” навигации (стрелки на домашнем ряду и т.п.).
Установка и разрешения macOS (если “не работает”)
После установки Karabiner-Elements критично выдать разрешения, иначе переназначение не применится.
Проверьте в System Settings → Privacy & Security:
- Input Monitoring — включите для компонентов Karabiner (обычно
Karabiner-Elementsи/илиKarabiner-...Service). - Accessibility (если используется в вашей версии/сборке правил) — иногда требуется для корректной обработки событий. А также в System Settings → General → Login Items:
- включите фоновые элементы Karabiner, чтобы правила работали после перезагрузки.
После изменения разрешений часто нужен перезапуск приложения, иногда — выход из учётной записи или перезагрузка Mac. Если “вчера работало, сегодня нет” — начните с этого.
Simple Modifications: быстрые замены 1→1
Раздел Simple Modifications — самый безопасный старт: одна клавиша всегда превращается в другую без условий и “магии”.
Практичные варианты:
caps_lock → left_control(удобно для горячих клавиш);left_command ↔ left_control(если используете Windows-клавиатуру);- редкие клавиши можно отдать под нужные (например,
right_optionпод дополнительный модификатор).
Если подключено несколько клавиатур, убедитесь, что меняете правило для нужного устройства (в Karabiner это настраивается по девайсу).
Complex Modifications: Hyper Key, tap vs hold, правила по приложениям
Complex Modifications — это правила на JSON: условия, “тап/холд”, комбинации модификаторов, привязка к приложениям. Начните с готовых “predefined rules”, а уже потом правьте вручную.
Caps Lock → Hyper при удержании и Escape по тапу
Логика обычно такая: удержание Caps Lock даёт Hyper, одиночное нажатие — Escape. Схема минимального правила выглядит так (идея структуры):
{
"description": "CapsLock: Hyper when held, Escape when tapped",
"manipulators": [
{
"type": "basic",
"from": { "key_code": "caps_lock" },
"to": [
{
"key_code": "left_shift",
"modifiers": ["left_command", "left_control", "left_option"]
}
],
"to_if_alone": [{ "key_code": "escape" }]
}
]
}
Не включайте одновременно несколько правил “CapsLock→Hyper” из разных наборов: частый результат — пропадает Escape, “залипают” модификаторы или конфликтуют горячие клавиши.
Правила только для конкретных приложений
Чтобы ремап работал, например, только в виртуальной машине или только в IDE, используйте условие frontmost application (по bundle id). Принцип: действие применяется, только когда приложение на переднем плане.
Где лежат конфиги и как добавлять свои правила
Полезно для бэкапа и переноса настроек:
- основной файл профилей:
~/.config/karabiner/karabiner.json - пользовательские наборы complex-правил:
~/.config/karabiner/assets/complex_modifications/
Рабочий способ добавления своего правила:
- Сохраните
.jsonвassets/complex_modifications/. - Откройте Complex Modifications → Add predefined rule.
- Найдите описание правила и нажмите Enable.
Частые ошибки
- Не выданы разрешения Input Monitoring / отключены фоновые элементы — правило включено, но нажатия не перехватываются.
- Правило включено не в том профиле — проверьте вкладку Profiles и активный профиль.
- Karabiner “видит” не тот key_code — откройте Karabiner-EventViewer и посмотрите, что реально приходит от клавиатуры.
- Конфликт правил и порядок применения — complex-правила применяются сверху вниз; дубликаты лучше отключить.
- Ожидали F1–F12, а получаете яркость/звук — в macOS функциональный ряд может работать как медиакнопки; это влияет на то, какие события получают приложения.
FAQ
Можно ли сделать разные правила для встроенной и внешней клавиатуры?
Да. Karabiner умеет привязывать Simple/Complex правила к конкретному устройству — это удобно, если внешняя клавиатура “под Windows”, а встроенная остаётся “по-маковски”.
Как понять, почему переназначение не сработало?
Сначала проверьте разрешения macOS, затем откройте Karabiner-EventViewer: если нажатие не отображается — проблема в доступах/службах; если отображается, но не меняется — конфликт или неверное правило.
Что лучше: Simple или Complex?
Для “поменять одну клавишу на другую” — Simple. Для Hyper Key, tap/hold, условий по приложениям и слоёв — Complex.
Где хранить настройки для переноса на другой Mac?
Обычно достаточно каталога ~/.config/karabiner/. Перед переносом убедитесь, что на новом Mac вы заново выдали разрешения (они не мигрируют вместе с файлами).