Удалить раскладку клавиатуры из OS X, оставив только пользовательские раскладки

Вопрос или проблема

У меня есть несколько нестандартных источников ввода, которые полностью заменяют оригинальную раскладку клавиатуры, поставляемую с OS X. Однако кнопка удаления серого цвета для единственной оригинальной раскладки, которую я хотел бы удалить. Это очевидно сделано для того, чтобы предотвратить потерю ввода с клавиатуры, если их пользовательские раскладки не работают.

Могу ли я вручную удалить раскладку из какого-либо конфигурационного plist, оставив только последние три?

(На самом деле, достаточно было бы удалить язык из ротации выбора ввода.)

введите описание изображения здесь

  1. Смените текущий источник ввода на пользовательскую раскладку клавиатуры.
  2. Откройте ~/Library/Preferences/com.apple.HIToolbox.plist (в 10.9) или ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist (в 10.8 и ранее). Вы можете конвертировать plist в XML с помощью plutil -convert xml1.
  3. Удалите источник ввода или источники ввода, которые вы хотите отключить, из словаря AppleEnabledInputSources. Если есть ключ AppleDefaultAsciiInputSource, удалите его.
  4. Перезагрузите.

Смотрите 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 (к сожалению, я не могу ни проголосовать за его ответ, ни прокомментировать его пока).

Также его решение работает:

  1. Заблокируйте экран, используя меню Применить или нажав Control-Command-Q
  2. На экране блокировки нажмите на значок клавиатуры в правом верхнем углу, чтобы выбрать (стандартную) раскладку, которую вы хотите удалить
  3. Снова нажмите значок клавиатуры, чтобы выбрать Удалить текущий источник ввода

Теперь в списке источников ввода в настройках клавиатуры осталась только пользовательская раскладка.
Там вы также можете снова добавить стандартную раскладку, и кнопка для ее удаления снова будет серого цвета.

В командной строке метод, который работает для меня на 14.4.1 и работает уже несколько больших версий:

  1. Получите XML-выдержки для раскладок клавиатуры, которые вы хотите оставить: defaults export com.apple.HIToolbox -, затем сохраните <dict> блоки, которые вам нужны, ниже <array> перед <key>AppleEnabledInputSources</key>
  2. Стирайте все раскладки: defaults delete com.apple.HIToolbox AppleEnabledInputSources
  3. Для каждой 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>'
  4. Вы можете сделать это глобально или не глобально, для этого используйте те же команды, предваряя их sudo и добавляя -g перед com.apple.HIToolbox. Если команда экспорта ничего не вернула, значит, у вас нет глобальных настроек, и вам не нужно делать остальное.
  5. Перезагрузите

Можете ли вы удалить стандартный источник ввода на экране входа или блокировки? Вот что работало у меня. Значок клавиатуры в строке меню показывал стандартный ввод и позволял мне его удалить.

Не беспокойтесь о том, что у вас не останется раскладки – пользовательская раскладка все еще на месте.

Ответ или решение

Для того чтобы удалить стандартную раскладку клавиатуры в macOS, оставив только пользовательские раскладки, можно воспользоваться несколькими способами. Ниже приведен детализированный процесс для разных версий macOS.

Способ 1: Редактирование plist-файлов

  1. Переключите текущий источник ввода на пользовательскую раскладку.

  2. Откройте файл настроек:

    • Для 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
  3. Удалите источник ввода, который хотите отключить:

    • Найдите словарь AppleEnabledInputSources и удалите из него нужные элементы.
    • Если существует ключ AppleDefaultAsciiInputSource, удалите и его.
  4. Перезапустите компьютер.

Способ 2: Удаление через экран блокировки

  1. Заблокируйте экран, используя меню "Применить" или нажав Control-Command-Q.

  2. На экране блокировки кликните по иконке клавиатуры в правом верхнем углу, чтобы выбрать стандартную раскладку, которую хотите удалить.

  3. Щелкните по иконке клавиатуры еще раз и выберите "Удалить текущий источник ввода".

Теперь в списке источников ввода в системных настройках клавиатуры останется только ваша пользовательская раскладка.

Способ 3: Использование командной строки

Если вы предпочитаете работать с терминалом, можно выполнить следующие команды:

  1. Получите XML-фрагменты для раскладок клавиатуры, которые хотите сохранить:

    defaults export com.apple.HIToolbox -

    Сохраните нужные блоки <dict> под <array> с ключом <key>AppleEnabledInputSources</key>.

  2. Очистите все раскладки:

    defaults delete com.apple.HIToolbox AppleEnabledInputSources
  3. Для каждой пользовательской раскладки, которую хотите добавить, отредактируйте ее на одну строку и выполните команду:

    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>'
  4. При необходимости используйте команды с sudo и добавляйте -g перед com.apple.HIToolbox, чтобы изменить глобальные настройки.

  5. Перезапустите компьютер.

Дополнительные советы

  • Если при любых манипуляциях возникнут проблемы или вы потеряете возможность ввода, не беспокойтесь. Ваша пользовательская раскладка останется доступной, если вы правильно переключили источник ввода перед внесением изменений.

  • По возможности используйте графический интерфейс для редактирования plist-файлов, например с помощью Xcode, если он у вас установлен.

Эти методы помогут вам удалить стандартные раскладки клавиатуры и оставить только ваши пользовательские настройки ввода в системе macOS.

Оцените материал
Добавить комментарий

Капча загружается...