Если вы работаете с несколькими языками на Mac, рано или поздно столкнётесь с тем, что переключение клавиатурной раскладки работает… мягко говоря, через жопу. Разбираемся, почему это происходит и как сделать переключение языка быстрым, стабильным и предсказуемым.
Проблема
- Язык не всегда переключается с первого раза
- Приходится нажимать клавиши несколько раз
- Сочетания конфликтуют со Spotlight или Siri
Что помогает
- Отключить Spotlight и Siri
- Задать фиксированные горячие клавиши
- Перезапустить службы ввода
- Использовать утилиты (Karabiner, LangIsKey)
Команды для терминала
1. Перезапустить системные службы
killall SystemUIServer
killall TextInputMenuAgent
2. Отключить индексацию Spotlight
Это освободит сочетание Cmd + Space
:
sudo mdutil -a -i off
Чтобы включить обратно:
sudo mdutil -a -i on
Стереть индекс:
sudo mdutil -E /
3. Посмотреть текущие источники ввода
defaults read com.apple.HIToolbox AppleEnabledInputSources
4. Сброс кэша ввода
Если языки «путаются» после обновлений:
rm ~/Library/Preferences/com.apple.HIToolbox.plist
killall SystemUIServer
Фиксированные сочетания
В настройках можно задать конкретные клавиши для каждого языка:
Cmd + Option + 1
→ АнглийскийCmd + Option + 2
→ РусскийCmd + Option + 3
→ Украинский
Путь: Системные настройки → Клавиатура → Источники ввода → Горячие клавиши
Утилиты для продвинутой настройки
- Karabiner-Elements — переназначение клавиш, логика переключения
- LangIsKey — быстрое переключение между двумя последними языками
- Ukelele — визуальный редактор пользовательских раскладок
Сводная таблица команд
Действие | Команда |
---|---|
Перезапустить интерфейс | killall SystemUIServer |
Перезапустить агент ввода | killall TextInputMenuAgent |
Отключить Spotlight | sudo mdutil -a -i off |
Сброс ввода | rm ~/Library/Preferences/com.apple.HIToolbox.plist |
Показать активные языки | defaults read com.apple.HIToolbox AppleEnabledInputSources |
После отключения Siri и Spotlite ситуация с переключением может улучшиться, но это не точно.