Можно ли удалить или отключить одну из стандартных раскладок клавиатуры OS X Lion?
Я использую пользовательскую раскладку клавиатуры, и теперь, когда мне удалось установить ее в качестве общесистемной раскладки клавиатуры по умолчанию , я хотел бы иметь возможность снять или удалить встроенную раскладку клавиатуры «США», которая поставляется с ОС X. Вот скриншот - обратите внимание, что флажок отключен:
В OS X 10.9 эта панель настроек была переработана, но все равно нет способа «удалить» встроенную «американскую» раскладку клавиатуры:
Так как я никогда не использую раскладку клавиатуры США, я бы хотел избавиться от нее, то есть удалить ее из меню ввода в строке меню. Как я могу это сделать?
Обновление: ответ Даниэля на самом деле не отвечает на этот вопрос, но он предлагает некоторую ценную информацию относительно этой проблемы:
Для Mac OS X требуется, по крайней мере, одна раскладка клавиатуры, которую система распознает как раскладку «латинские символы».
Если предположить, что это точная информация (спасибо, Даниэль!), Вопрос можно перефразировать следующим образом:
Как заставить OS X считать пользовательскую клавиатуру раскладкой символов латинского алфавита?
Обновление: я только что столкнулся с чем-то, что могло бы помочь.
Ответы:
f=~/Library/Preferences/ByHost/com.apple.HIToolbox*.plist; plutil -convert xml1 $f; open $f -e
.Изменить: вышеописанный метод, кажется, перестал работать в 10.9. Это работало в 10.9 или 10.8, хотя:
~/Library/Preferences/com.apple.HIToolbox.plist
(в 10.9) или~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist
(в 10.8 и ранее). Вы можете конвертировать plist в XML с помощьюplutil -convert xml1
.AppleEnabledInputSources
словаря. Если естьAppleDefaultAsciiInputSource
ключ, удалите его.источник
Похоже, что вы не можете делать то, что хотите, без какого-то еще неизвестного взлома системы . Для Mac OS X требуется, по крайней мере, одна раскладка клавиатуры, которую система распознает как раскладку «латинские символы». Это предотвращает невозможность ввода пароля на экране входа в систему и т. Д. Если вы выбрали французский, канадский или другую раскладку клавиатуры, которую система распознает как латинские символы, вы можете отменить выбор раскладки США.
Ваша проблема заключается в том, что ваша пользовательская раскладка, содержащая латинские символы, не распознается системой как латинская раскладка клавиатуры и, следовательно, не может быть единственной выбранной раскладкой клавиатуры. Смотрите этот вопрос (к сожалению, не хватает хорошего ответа) для получения дополнительной информации.
Обратите внимание, что отличный ответ на этот вопрос также ответит на ваш вопрос. Увы, мой ответ здесь только проясняет, в чем проблема, но у меня нет пошагового решения для вас. Хотя такой взлом возможен, я не вижу доказательств того, что кто-то понял, как убедить Mac OS X в том, что определенная настраиваемая клавиатура безопасна для использования в качестве единственной выбираемой клавиатуры.
источник
Ради полноты, я подал это как идентификатор ошибки # 11137961 в Apple, и это ответ, который я получил:
источник
Вот еще одна идея: несколько лет назад пакет (ы) для раскладок клавиатуры Apple было намного проще редактировать, и эта проблема, похоже, была решена:
http://hintsforums.macworld.com/archive/index.php/t-71629.html
Возможно, можно было бы использовать старый редактируемый пакет, если бы вы могли получить его из старой системы, в текущей ОС.
источник
Я только что наткнулся на то, что могло бы помочь. Вот оно:
Это в моей системе, где моя пользовательская раскладка клавиатуры (названная «QWERTY») используется по умолчанию. Обратите внимание , что
KeyboardLayout Name
иKeyboardLayout ID
свойства относятся к ID и имени в начале.keylayout
файла.Как видите, по-
defaults read /Library/Preferences/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID
прежнему возвращает строку"com.apple.keylayout.Dutch"
. Есть ли где-нибудь список доступныхcom.apple.keylayout
значений? Можно ли получить такое значение для пользовательской раскладки клавиатуры? Потому что в этом случае мы могли бы просто переопределить свойство.Кроме того
AppleEnabledInputSources
, свойстваAppleInputSourceHistory
, и,AppleSelectedInputSources
кажется, игнорируют пользовательскую раскладку клавиатуры, поскольку их значения соответствуют встроенной раскладке клавиатуры OS X, которую я первоначально выбрал при запуске Setup Assistant.Еще одно обновление: ага! Похоже, есть еще один
plist
файл, из которого мы могли бы скопировать настройки.Как вы можете видеть (
AppleCurrentKeyboardLayoutInputSourceID
), очевидно, что пользовательские раскладки клавиатуры получают такие значения, как"org.unknown.keylayout.FOO"
гдеFOO
имя раскладки клавиатуры (как указано в.keylayout
файле).Итак, давайте попробуем установить все значения для нашей пользовательской раскладки клавиатуры с именем
QWERTY
и идентификатором1337
(указанным в.keylayout
файле):К сожалению, это не похоже на работу.
Обновление: @Lri обнаружил надежный метод - смотрите его ответ.
источник
Ответ Apple на мой отчет об ошибке, в котором я просил сделать возможным удалить раскладку клавиатуры по умолчанию в системе, если в Системных настройках выбрана другая:
источник
Я только что успешно удалил макет по умолчанию в High Sierra, используя следующий метод:
Library/Preferences
папку.com.apple.HIToolbox.plist
файла, дважды щелкнув по нему или используяopen
в командной строке. Это сделает XCode всплывающим и может потребоваться установить дополнительные компоненты.AppleEnabledInputSources
узел и разверните его.Теперь вам, вероятно, нужно выйти из системы или перезагрузить компьютер, чтобы сделать этот финал. Я все равно должен был перезагрузиться для какого-то обновления, чтобы мне это удалось. Теперь я радостно печатаю в Нео с мучительной ледниковой скоростью, но ни одного QWERTZ не видно!
источник
Вот идея: Убедившись, что для идентификатора клавиатуры вашего пользовательского макета установлено значение Roman, создайте собственный AppleKeyboardLayouts.bundle, который содержит только этот макет, и замените его на тот, который поставляется с ОС. (Я сам не знаю, что связано с созданием .bundle)
источник
Вы можете использовать Ukelele, чтобы пометить ваш использованный макет как тот, который использует латиницу. Экспортируйте как пакет, установите, и тогда вы сможете удалить американский.
источник
Это можно сделать легко. Сначала измените свой пользовательский макет (используйте строку меню «Меню ввода»), затем отмените выбор американского макета.
источник