Переключение раскладки —
единственное, ради чего ты
держал Karabiner.
Большинство ставит Karabiner-Elements ради одного: нажал клавишу — сменилась раскладка. Zwitch — это та самая функция, только без JSON-конфига, папки complex_modifications и переустановки драйвера после каждого крупного обновления macOS.
Правило, которое ты написал один раз и забыл
Типичное правило переключения раскладки в Karabiner живёт в ~/.config/karabiner/karabiner.json и выглядит примерно так:
{
"description": "Right Command → switch input source",
"manipulators": [
{
"type": "basic",
"from": { "key_code": "right_command" },
"to": [ { "select_input_source": { "language": "^ru$" } } ]
}
]
}
Оно работает. Но ты тащишь JSON-файл, заново выдаёшь права драйверу после больших апдейтов macOS, а переключение «туда-обратно» между двумя языками (а не выбор одного) требует переменных и условий. Zwitch заставляет ту же клавишу делать очевидное — чекбоксом вместо конфига.
Что переносится один в один
- Одна клавиша, мгновенно. Zwitch выставляет активную раскладку напрямую через системный API ввода macOS — около 14 мс от отпускания клавиши, без анимации переключения.
- Твоя клавиша — твой выбор. Fn / 🌐 (Globe), Caps Lock или правый ⌘ — выбираешь одну, как выбрал бы
from.key_codeв Karabiner. - Твои текущие раскладки. Zwitch перебирает источники ввода, уже включённые в Системных настройках, в их порядке. Добавил или убрал язык там — Zwitch подхватил, никаких правок правила.
- Один доступ, а не драйвер. Zwitch нужен системный Универсальный доступ (Accessibility), выдаётся один раз. Никакого виртуального устройства клавиатуры и расширения ядра/драйвера.
Где Karabiner всё ещё выигрывает — честно
Zwitch уже намеренно. Если ты вешаешь несколько клавиш на несколько конкретных языков или ремапишь клавиши под что-то кроме источника ввода — оставайся на Karabiner, это правильный инструмент. Единственное отличие именно для переключения: Zwitch перебирает по кругу, а select_input_source в Karabiner может прыгнуть на названный язык. С двумя раскладками это одно и то же; с тремя и более Karabiner выбирает одну напрямую.
| Настройка | Переключение | Скорость | |
|---|---|---|---|
| Правило Karabiner | JSON + драйвер | по кругу или прыжок на язык | быстро |
| Zwitch | один доступ | по кругу | ~14 мс |
Выброси конфиг
FAQ
Заменит ли Zwitch моё правило переключения в Karabiner?
Да, для частого случая — одна клавиша, которая переключает раскладку. Zwitch жмёт одну клавишу (Fn / Globe, Caps Lock или правый Command) и перебирает раскладки, уже добавленные в macOS, примерно за 14 мс, без JSON-конфига.
Что умеет Karabiner, чего нет в Zwitch?
Karabiner ремапит любую клавишу и может прыгнуть на названный язык. Zwitch только перебирает раскладки по кругу. С двумя раскладками это одно и то же; с тремя и более Karabiner выбирает одну напрямую.
Обязательно ли удалять Karabiner?
Нет — они уживаются. Просто отключи правило переключения раскладки в Karabiner, чтобы одна клавиша не срабатывала дважды.