Вопрос или проблема
У меня есть несколько нестандартных источников ввода, которые полностью заменяют оригинальную раскладку клавиатуры, поставляемую с OS X. Однако кнопка удаления серого цвета для единственной оригинальной раскладки, которую я хотел бы удалить. Это очевидно сделано для того, чтобы предотвратить потерю ввода с клавиатуры, если их пользовательские раскладки не работают.
Могу ли я вручную удалить раскладку из какого-либо конфигурационного plist, оставив только последние три?
(На самом деле, достаточно было бы удалить язык из ротации выбора ввода.)
- Смените текущий источник ввода на пользовательскую раскладку клавиатуры.
- Откройте
~/Library/Preferences/com.apple.HIToolbox.plist
(в 10.9) или~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist
(в 10.8 и ранее). Вы можете конвертировать plist в XML с помощьюplutil -convert xml1
. - Удалите источник ввода или источники ввода, которые вы хотите отключить, из словаря
AppleEnabledInputSources
. Если есть ключAppleDefaultAsciiInputSource
, удалите его. - Перезагрузите.
Смотрите https://apple.stackexchange.com/questions/44921/how-to-remove-or-disable-a-default-keyboard-layout для получения дополнительной информации.
Этот вопрос изначально задавался для OS X Mavericks 10.9 или ранее, при этом решение Lri было принято как ответ (можно отметить, что вы также можете открывать и редактировать .plist-файлы в Xcode без необходимости их конвертировать (возможно, это было невозможно в 2014 году?)).
С macOS High Sierra 10.13 до macOS Monterey 12 добавление пользовательской раскладки и удаление всех других раскладок через системные параметры не было проблемой.
Однако с macOS Sonoma 14 (возможно, с macOS Ventura 13) это снова является проблемой, как сказал thorstenhirsch (к сожалению, я не могу ни проголосовать за его ответ, ни прокомментировать его пока).
Также его решение работает:
- Заблокируйте экран, используя меню Применить или нажав Control-Command-Q
- На экране блокировки нажмите на значок клавиатуры в правом верхнем углу, чтобы выбрать (стандартную) раскладку, которую вы хотите удалить
- Снова нажмите значок клавиатуры, чтобы выбрать
Удалить текущий источник ввода
Теперь в списке источников ввода в настройках клавиатуры осталась только пользовательская раскладка.
Там вы также можете снова добавить стандартную раскладку, и кнопка для ее удаления снова будет серого цвета.
В командной строке метод, который работает для меня на 14.4.1 и работает уже несколько больших версий:
- Получите XML-выдержки для раскладок клавиатуры, которые вы хотите оставить:
defaults export com.apple.HIToolbox -
, затем сохраните<dict>
блоки, которые вам нужны, ниже<array>
перед<key>AppleEnabledInputSources</key>
- Стирайте все раскладки:
defaults delete com.apple.HIToolbox AppleEnabledInputSources
- Для каждой XML-выдержки, соответствующей пользовательской раскладке, которую вы хотите добавить, отредактируйте ее в одну строку и выполните
defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add 'ваш xml'
. Например,defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '<dict><key>InputSourceKind</key><string>Keyboard Layout</string><key>KeyboardLayout ID</key><integer>-4377</integer><key>KeyboardLayout Name</key><string>Lithuanian Standard</string></dict>'
- Вы можете сделать это глобально или не глобально, для этого используйте те же команды, предваряя их
sudo
и добавляя-g
передcom.apple.HIToolbox
. Если команда экспорта ничего не вернула, значит, у вас нет глобальных настроек, и вам не нужно делать остальное. - Перезагрузите
Можете ли вы удалить стандартный источник ввода на экране входа или блокировки? Вот что работало у меня. Значок клавиатуры в строке меню показывал стандартный ввод и позволял мне его удалить.
Не беспокойтесь о том, что у вас не останется раскладки – пользовательская раскладка все еще на месте.
Ответ или решение
Для того чтобы удалить стандартную раскладку клавиатуры в macOS, оставив только пользовательские раскладки, можно воспользоваться несколькими способами. Ниже приведен детализированный процесс для разных версий macOS.
Способ 1: Редактирование plist-файлов
-
Переключите текущий источник ввода на пользовательскую раскладку.
-
Откройте файл настроек:
- Для macOS 10.9 и более поздних версий:
~/Library/Preferences/com.apple.HIToolbox.plist
- Для macOS 10.8 и более ранних версий:
~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist
- Для преобразования plist в XML, выполните команду:
plutil -convert xml1 ~/Library/Preferences/com.apple.HIToolbox.plist
- Для macOS 10.9 и более поздних версий:
-
Удалите источник ввода, который хотите отключить:
- Найдите словарь
AppleEnabledInputSources
и удалите из него нужные элементы. - Если существует ключ
AppleDefaultAsciiInputSource
, удалите и его.
- Найдите словарь
-
Перезапустите компьютер.
Способ 2: Удаление через экран блокировки
-
Заблокируйте экран, используя меню "Применить" или нажав
Control-Command-Q
. -
На экране блокировки кликните по иконке клавиатуры в правом верхнем углу, чтобы выбрать стандартную раскладку, которую хотите удалить.
-
Щелкните по иконке клавиатуры еще раз и выберите "Удалить текущий источник ввода".
Теперь в списке источников ввода в системных настройках клавиатуры останется только ваша пользовательская раскладка.
Способ 3: Использование командной строки
Если вы предпочитаете работать с терминалом, можно выполнить следующие команды:
-
Получите XML-фрагменты для раскладок клавиатуры, которые хотите сохранить:
defaults export com.apple.HIToolbox -
Сохраните нужные блоки
<dict>
под<array>
с ключом<key>AppleEnabledInputSources</key>
. -
Очистите все раскладки:
defaults delete com.apple.HIToolbox AppleEnabledInputSources
-
Для каждой пользовательской раскладки, которую хотите добавить, отредактируйте ее на одну строку и выполните команду:
defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add 'ваш xml'
Например:
defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '<dict><key>InputSourceKind</key><string>Keyboard Layout</string><key>KeyboardLayout ID</key><integer>-4377</integer><key>KeyboardLayout Name</key><string>Lithuanian Standard</string></dict>'
-
При необходимости используйте команды с
sudo
и добавляйте-g
передcom.apple.HIToolbox
, чтобы изменить глобальные настройки. -
Перезапустите компьютер.
Дополнительные советы
-
Если при любых манипуляциях возникнут проблемы или вы потеряете возможность ввода, не беспокойтесь. Ваша пользовательская раскладка останется доступной, если вы правильно переключили источник ввода перед внесением изменений.
-
По возможности используйте графический интерфейс для редактирования plist-файлов, например с помощью Xcode, если он у вас установлен.
Эти методы помогут вам удалить стандартные раскладки клавиатуры и оставить только ваши пользовательские настройки ввода в системе macOS.