Русский
Может ли Karabiner-Elements назначить игровой контроллер?
Это приложение полностью бесплатное. Создавать учётную запись не нужно. Нет подписок, нет сложных загрузок, и ничего не заблокировано. Оптимизировано для Apple Silicon.
Отчасти, и меньше, чем нужно большинству людей. Karabiner-Elements остаётся лучшим настройщиком клавиатуры на Mac, бесплатным и с открытым исходным кодом, и он построен вокруг клавиатур и мышей. Начиная с версии 14.13, вышедшей в декабре 2023 года, он также читает некоторые геймпады: в его заметках к выпуску сказано, что устройства DirectInput поддерживаются, а XInput не поддерживаются вовсе, а более поздние версии добавили мёртвую зону для использования стика геймпада как указателя. Поэтому появится ли ваш геймпад, зависит от самого геймпада и его режима. Другой распространённый путь: геймпад, который может притворяться клавиатурой, например 8BitDo Zero 2 в режиме клавиатуры, который настраивают многие пользователи Anki. Если нужно, чтобы контроллер посылал клавиши и двигал мышь во всех приложениях, короче путь через программу назначения для контроллеров, например InputConfig.
Шаги
- Установите InputConfig и разрешите доступ Универсальный доступ.
- Сопрягите контроллер обычным способом. Он остаётся контроллером.
- Добавьте строку, нажмите Scan (Сканировать), нажмите кнопку и выберите клавишу, которую она должна посылать.
- Нажмите Включить (Activate). Работает во всех приложениях.
Назначьте контроллер на клавиши с помощью программы для контроллеров
- Вы: Установите InputConfig, разрешите доступ Универсальный доступ и сопрягите контроллер обычным способом. Добавьте строку, нажмите Scan, нажмите кнопку и выберите клавишу, которую она должна посылать.
- InputConfig: Читает геймпад как контроллер и посылает выбранную клавишу. Стики могут двигать мышь или четыре клавиши.
- Проверка: Нажмите Включить (Activate), затем нажмите кнопку в любом приложении. Клавиша придёт туда.
Для Anki в частности, в руководстве по Anki есть готовая раскладка.

Используйте оба: один для клавиш, другой для контроллеров
Они не конкурируют. Используйте Karabiner-Elements для клавиатуры, например Caps Lock на Escape, а InputConfig для контроллера, MIDI-устройств и дополнительных кнопок мыши.
InputConfig добавляет задачу клавише и оставляет на месте её собственную, поэтому он не может поменять местами две клавиши, а это как раз то, для чего создан Karabiner. Он слушает клавиатуру, не блокируя и не переназначая саму клавишу, а клавиши с любой клавиатуры считаются одной и той же клавишей.
Выберите правильный инструмент для задачи с клавиатурой
Большинство тех, кто ищет альтернативу Karabiner-Elements, хотят чего-то проще или того, что не ставит драйвер. Правильный ответ зависит от задачи:
- Поменять местами Caps Lock, Control, Option, Command или Globe. macOS делает это в Системных настройках, Клавиатура, Сочетания клавиш, Modifier Keys. Ничего ставить не нужно.
- Превратить одну клавишу в другую до следующей перезагрузки. Собственная команда macOS
hidutilв Terminal (Терминал), показана ниже. - Клавиша Hyper на Caps Lock. Небольшое приложение Hyperkey или правило в Karabiner-Elements.
- Макросы, горячие клавиши и правила для приложений с визуальным редактором. BetterTouchTool или Keyboard Maestro, оба платные.
- Переназначение со слоями, записанное в файле конфигурации. Kanata, бесплатный и с открытым исходным кодом. На Mac он опирается на тот же драйвер виртуальной клавиатуры, что и Karabiner-Elements.
- Дать задачу запасным клавишам, кнопкам мыши, контроллеру или MIDI-пэду. InputConfig, бесплатное приложение, которое я делаю. Он не ставит драйвер и хорошо справляется с F13 до F19, удерживаемыми правыми модификаторами и разной задачей для одной клавиши в каждом приложении.
Terminal: Поменять Caps Lock на F18 до следующей перезагрузки.
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}'Что происходит: Caps Lock теперь посылает F18, который InputConfig может прочитать как вход. Перезагрузка возвращает Caps Lock. На странице правые клавиши Command и Option больше команд, которые можно вставить.
Если ваш 8BitDo не появляется в Karabiner-Elements
Проверяйте по порядку, начиная с самого простого шага:
- Проверьте режим. В заметках к выпуску Karabiner-Elements сказано, что поддержка геймпадов покрывает только устройства DirectInput, поэтому геймпад в другом режиме может не появиться.
- Используйте режим клавиатуры. У 8BitDo с таким режимом, например Zero 2 или Micro, в нём устройство появляется как клавиатура.
- Разрешите Мониторинг ввода. Karabiner-Elements нужен доступ Мониторинг ввода, чтобы видеть пульт в режиме клавиатуры.
- Используйте его как контроллер. InputConfig читает геймпады 8BitDo в режимах, перечисленных на странице подключения 8BitDo.
Коротко
- Клавиатуры. Используйте Karabiner-Elements или встроенные в macOS Modifier Keys (Клавиши-модификаторы) и hidutil.
- Контроллеры. Используйте программу назначения контроллеров, например InputConfig.
- Оба на одном Mac. Они не конкурируют.
Karabiner меняет то, чем является клавиша, а InputConfig даёт управлению задачу.
Вопросы
Поддерживает ли Karabiner-Elements контроллеры Xbox или PS5?
Не как программа назначения контроллеров. В заметках к выпуску сказано, что он читает геймпады DirectInput, а не XInput, поэтому всё зависит от геймпада и его режима. Программа назначения контроллеров вроде InputConfig читает контроллеры Xbox и PS5 напрямую.
Можно ли использовать контроллер 8BitDo с Karabiner-Elements?
Надёжно только модель, которая может переключиться в режим клавиатуры, например 8BitDo Zero 2. В обычных режимах он игровой контроллер, который InputConfig читает напрямую.
Как настроить пульт Anki на Mac с Karabiner-Elements?
Сопрягите пульт в режиме клавиатуры, дайте Karabiner-Elements доступ Мониторинг ввода и напишите правило, которое превращает каждую клавишу пульта в Space, 1, 2 или 4. Проще сопрячь его в одном из режимов контроллера и использовать программу назначения. На странице пульта Anki есть оба варианта.
Почему мой 8BitDo не появляется в Karabiner-Elements?
Karabiner-Elements создан для клавиатур и мышей, а в заметках к выпуску сказано, что поддержка геймпадов покрывает только устройства DirectInput, поэтому геймпад в другом режиме может не появиться. 8BitDo с режимом клавиатуры, например Zero 2 или Micro, появляется в нём как клавиатура. Чтобы использовать его как контроллер, InputConfig читает его напрямую.
Есть ли альтернатива Karabiner-Elements без драйвера?
Для замены клавиш-модификаторов сам macOS: Системные настройки, Клавиатура, Сочетания клавиш, Modifier Keys. Чтобы поменять одну клавишу на другую до перезагрузки, есть встроенная команда hidutil. Чтобы дать задачу запасным клавишам, кнопкам мыши и контроллерам, есть InputConfig: он не ставит драйвер и добавляет задачу клавише, а не заменяет её.
Ещё на русском
Подробные руководства на английском
Кто это пишет. Ryleigh Newman разрабатывает InputConfig и каждый день управляет своим Mac с помощью геймпада, потому что руки плохо слушаются. Эта страница переведена с английского. Если на Mac выбран русский язык, InputConfig показывается по-русски. Некоторые страницы сайта пока есть только на английском.
Эта страница на других языках: English
Бесплатно. macOS 14 или новее. Без учётной записи, ничего не покидает ваш Mac. Исходный код на GitHub.