Чи можу я зробити власну розкладку клавіатури (та, яка не була включена до 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 , яка запропонувала запустити Assistant Assistant знову:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Спочатку я подумав, що це більше не підтримується в Леві, оскільки виконання цієї команди не мало ефекту. Лише після публікації цього питання я помітив, що в команді є друкарська помилка. Космічні символи потрібно уникати належним чином, або розташування двійкового файлу потрібно вказати. З цієї причини підказка, з якою я пов’язаний, не працює.
Ось правильна команда:
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
для того, щоб вона відображалася на екрані вибору розкладки клавіатури Асистента налаштування.
Оновлення: На ОС X X 10.8 вам потрібно буде виконати додаткову команду (тобто спочатку видалити файл):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Крім того, вам доведеться створити новий обліковий запис користувача, щоб завершити програму Assistant 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.
Висновок стверджує, що він щось виправляє, але насправді нічого не робив. Мені все-таки довелося самому редагувати макет, і він почав працювати, як і раніше.