Что такое Karabiner-Elements? Link to heading
Karabiner-Elements — это мощный инструмент для настройки клавиатуры и мыши в macOS, позволяющий полностью контролировать поведение клавиш. Принцип работы приложения прост: оно перехватывает сигналы от устройств и изменяет их перед отправкой в систему.
Зачем мне это понадобилось? Link to heading
Я случайно приобрёл клавиатуру RSQ-20052:
Эта клавиатура имеет раскладку под Windows. Да, часть клавиш можно переназначить стандартными средствами системы или софта производителя, но функционал таких решений сильно ограничен. В настройках macOS можно поменять местами ⌘, ⌃ и ⌥, но мне хотелось более гибкой настройки.
Кроме того, у меня есть мышь Logitech с дополнительными кнопками, которые по умолчанию не работают на macOS. Их тоже хотелось бы задействовать.
Установка Link to heading
Karabiner-Elements можно установить либо с официального сайта, либо через Homebrew — я выбрал второй способ:
brew install karabiner-elements
После установки и первого запуска приложения необходимо дать разрешения на использование драйверов. Приложение само покажет, куда зайти и что нажать.
После всех этих шагов у вас будут доступны два приложения:
- Karabiner-Elements — основное приложение для настройки клавиатуры и мыши.
- Karabiner-EventViewer — утилита для просмотра событий от ваших устройств, полезна для определения кодов нажимаемых клавиш.
Настройка мыши Link to heading
- Открываем Karabiner-EventViewer и нажимаем нужные кнопки на мыши, чтобы узнать их точные идентификаторы.
- Переходим в Karabiner-Elements → Simple Modifications.
- Выбираем ваше устройство (мышь) из списка. Определить модель можно по названию.
- Назначаем новое действие для каждой кнопки по принципу: «Что заменить → Чем заменить».
Пример моих настроек:
Настройка клавиатуры Link to heading
Для сложных переназначений используется раздел Complex Modifications. Он позволяет создавать комбинации и более тонко настраивать поведение клавиш.
- С помощью Karabiner-EventViewer узнаём точные названия клавиш.
- В Karabiner-Elements переходим в Complex Modifications → Add your own rule.
- Вставляем следующий JSON-конфиг:
{
"conditions": [
{
"identifiers": [
{
"manufacturer": "GSKY",
"product": "RSQ-20052",
"product_id": 58383,
"transport": "USB",
"vendor_id": 13357
}
],
"type": "device_if"
}
],
"description": "Make RSQ-20052 for MacOS",
"manipulators": [
{
"description": "Change Left Alt to Left ⌘",
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
},
{
"description": "Change Left ⊞ to Left Alt",
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }],
"type": "basic"
},
{
"description": "Change Right Alt to Right ⌘",
"from": { "key_code": "right_option" },
"to": [{ "key_code": "right_command" }],
"type": "basic"
},
{
"description": "Change Print Screen to ⌘+⇧+5 (MacOS Screenshot menu)",
"from": { "key_code": "print_screen" },
"to": [
{
"key_code": "5",
"modifiers": ["left_command", "left_shift"]
}
],
"type": "basic"
},
{
"description": "Change Pause to Lock Screen",
"from": { "key_code": "pause" },
"to": [
{
"key_code": "q",
"modifiers": ["left_control", "left_command"]
}
],
"type": "basic"
},
{
"description": "Change Scroll lock to Mission Control",
"from": { "key_code": "scroll_lock" },
"to": [{ "apple_vendor_keyboard_key_code": "mission_control" }],
"type": "basic"
},
{
"description": "Change Insert to ⌘+V",
"from": { "key_code": "insert" },
"to": [
{
"key_code": "v",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"description": "Change Caps to Change language",
"from": { "key_code": "caps_lock" },
"to": [{ "apple_vendor_top_case_key_code": "keyboard_fn" }],
"type": "basic"
}
]
}
- Нажимаем Save, затем активируем правило.
Что делает этот конфиг? Link to heading
Условие: только для клавиатуры GSKY RSQ-20052
- Левый Alt (⌥) работает как Command (⌘)
- Левый Win (⊞) работает как Alt (⌥)
- Правый Alt (⌥) работает как Command (⌘)
- PrintScreen открывает встроенное меню скриншотов macOS (⌘+⇧+5)
- Pause блокирует экран (⌘+Ctrl+Q)
- ScrollLock вызывает Mission Control
- Insert работает как ⌘+V (вставка)
- CapsLock переключает язык (как Fn)