Могу ли я сделать собственную раскладку клавиатуры ( такую, которая не была включена в OS X по умолчанию) системной по умолчанию - даже для экрана входа в систему?
Могу ли я сделать собственную раскладку клавиатуры ( такую, которая не была включена в OS X по умолчанию) системной по умолчанию - даже для экрана входа в систему?
Ответы:
Это работает на OSX 10.9 Mavericks с раскладкой клавиатуры, которую я создал с помощью Ukulele. Предполагая, что в вашей системе уже установлена раскладка, войдите в свою учетную запись и сделайте свою раскладку клавиатуры активной.
Откройте терминал и выполните следующую команду:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Если вы намерены использовать текстовый редактор (например, TextWrangler), чтобы сделать это изменение вместо XCode (который имеет специализированный графический редактор списков), также запустите :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Теперь откройте /tmp/com.apple.HIToolbox.plist
в текстовом редакторе или в XCode.
Во всем файле вы найдете несколько упоминаний о KeyboardLayout ID
ключе, за которым следует целое число и KeyboardLayout Name
строка. Измените эти строки на имя вашей пользовательской раскладки клавиатуры, а целые числа id - на идентификатор вашей раскладки (самый простой способ найти правильные значения - это сравнить с вашими пользовательскими настройками, найденными в файле ~/Library/Preferences/com.apple.HIToolbox.plist
.
Также значение ключа AppleCurrentKeyboardLayoutInputSourceID
должно быть соответственно изменено (возможно, на что-то подобное org.unknown.keylayout.NameOfYourLayout
). Опять же, вы можете найти это значение в вашем локальном файле настроек.
Как только эти изменения будут сделаны, сохраните файл и вернитесь в терминал. Для безопасного воспроизведения вы можете создать копию исходного com.apple.HIToolbox.plist
файла на тот случай, если вы допустили ошибку и вам необходимо выполнить откат. Например, чтобы сохранить копию в папке « Документы »:
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Затем установите изменения следующим образом:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Нет необходимости конвертировать ваш файл обратно в текстовую форму, plutil
если вы делали это раньше.)
Выйдите из терминала и перезагрузите компьютер (выхода из системы недостаточно: файл не будет перечитан). После перезагрузки у вас должна быть раскладка клавиатуры на экране входа в систему.
ПРИМЕЧАНИЕ: возможно, этого было бы достаточно, чтобы скопировать файл com.apple.HIToolbox.plist
из, ~/Library/Preferences/
в который /Library/Preferences/
, однако, в моем случае в нем больше записей, поэтому я решил проигнорировать его и просто изменить существующий файл.
com.apple.HIToolbox.plist
выглядит мой файл после изменений: gist.github.com/anonymous/d18bae208b5cf12e48be
Я нашел этот старый совет MacWorld , который предлагал снова запустить Ассистент настройки:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Сначала я думал, что это больше не поддерживается в Lion, так как запуск этой команды, похоже, не дал никакого эффекта. Только после публикации этого вопроса я заметил опечатку в команде. Символы пробела должны быть экранированы правильно, или местоположение двоичного файла должно быть заключено в кавычки. По этой причине совет, с которым я связан, не работает.
Вот правильная команда:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Кроме того, это будет работать так же:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Еще одно замечание, которое не было упомянуто на странице, на которую я ссылался: пользовательская раскладка клавиатуры должна быть установлена /Library/Keyboard Layouts/
(то есть cd /Library/Keyboard\ Layouts
), а не ~/Library/Keyboard Layouts
для того, чтобы она появлялась на экране выбора раскладки клавиатуры Ассистента настройки.
Обновление: Начиная с OS X 10.8, вам нужно будет выполнить дополнительную команду (т.е. сначала удалить файл):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Кроме того, вам нужно будет создать новую учетную запись пользователя, чтобы завершить работу с Помощником по настройке - но не волнуйтесь, вы можете удалить новую учетную запись впоследствии.
Этот прием больше не работает в последних версиях OS X 10.8.
Обновление: Вот все , что я знаю о раскладке клавиатуры на заказ OS X .
Я использую пользовательскую раскладку клавиатуры, созданную с помощью Ukelele в OS X 10.8.5 . Я изменил раскладку клавиатуры на экране входа в систему, выполнив следующие действия:
Users & Groups
вSystem Preferences
Login Options
в нижней части левой панелиShow Input menu in login window
Other input sources
в меню ввода, расположенном в правом верхнем углуShow Input menu in login window
чтобы предотвратить дальнейшие изменения в структуре входаЯ нашел этот метод намного проще, чем редактировать некоторые случайные .plist
файлы и запускать команды в терминале.
Этот метод может потребовать административного доступа, поскольку вам, возможно, придется разблокировать правую панель на шаге 3 выше, щелкнув значок замка внизу.
Обновление: к сожалению, это не работает на OS X 10.9.
После установки macOS Sierra мой пользовательский макет каждый раз после входа в мою учетную запись переинициализировался до значения по умолчанию.
Apple добавила новые клавиатуры, и идентификатор конфликтовал с клавиатурой, которую я использовал.
Чтобы проверить, есть ли у вас эта проблема, выполните:
sudo touch / Библиотека / Клавиатура \ Раскладки /
Выход:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
Выходные данные утверждают, что это что-то исправляет, но на самом деле ничего не делает. Мне все еще пришлось редактировать макет самостоятельно, и он начал работать как раньше.