Что такое 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

  1. Открываем Karabiner-EventViewer и нажимаем нужные кнопки на мыши, чтобы узнать их точные идентификаторы.
  2. Переходим в Karabiner-Elements → Simple Modifications.
  3. Выбираем ваше устройство (мышь) из списка. Определить модель можно по названию.
  4. Назначаем новое действие для каждой кнопки по принципу: «Что заменить → Чем заменить».

Пример моих настроек:


Настройка клавиатуры Link to heading

Для сложных переназначений используется раздел Complex Modifications. Он позволяет создавать комбинации и более тонко настраивать поведение клавиш.

  1. С помощью Karabiner-EventViewer узнаём точные названия клавиш.
  2. В Karabiner-Elements переходим в Complex Modifications → Add your own rule.
  3. Вставляем следующий 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"
        }
    ]
}
  1. Нажимаем 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)