Czy mogę zrobić niestandardowy układ klawiatury (domyślnie nie był dołączony do OS X) domyślny system - nawet na ekranie logowania?
Czy mogę zrobić niestandardowy układ klawiatury (domyślnie nie był dołączony do OS X) domyślny system - nawet na ekranie logowania?
Odpowiedzi:
Działa to na OSX 10.9 Mavericks, z układem klawiatury, który stworzyłem z Ukulele. Zakładając, że masz już zainstalowany układ w swoim systemie, zaloguj się na swoje konto i aktywuj niestandardowy układ klawiatury.
Otwórz terminal i uruchom następujące polecenie:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Jeśli zamierzasz używać edytora tekstu (np. TextWrangler), aby dokonać tej zmiany zamiast XCode (który ma wyspecjalizowany edytor grafiki plist), także biegnij :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Teraz otwarte /tmp/com.apple.HIToolbox.plist
w edytorze tekstu lub w XCode.
W całym pliku znajdziesz kilka wzmianek o a KeyboardLayout ID
klucz, po którym następuje liczba całkowita i KeyboardLayout Name
po którym następuje ciąg. Zmień te ciągi na nazwę niestandardowego układu klawiatury i id liczb całkowitych na identyfikator swojego układu (najprostszym sposobem znalezienia właściwych wartości jest porównanie z ustawieniami użytkownika znajdującymi się w pliku ~/Library/Preferences/com.apple.HIToolbox.plist
.
Również wartość klucza AppleCurrentKeyboardLayoutInputSourceID
należy odpowiednio zmienić (prawdopodobnie na coś takiego org.unknown.keylayout.NameOfYourLayout
). Ponownie możesz znaleźć tę wartość w lokalnym pliku preferencji.
Po zakończeniu tych zmian zapisz plik i wróć do terminala. Aby zagrać bezpiecznie, możesz utworzyć kopię oryginału com.apple.HIToolbox.plist
plik, na wypadek gdybyś popełnił błąd i musiałeś wycofać. Na przykład, aby zapisać kopię w swoim Dokumenty teczka:
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Następnie zainstaluj swoją zmianę w następujący sposób:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Nie jest konieczne konwertowanie pliku z formy tekstowej za pomocą plutil
jeśli zrobiłeś to wcześniej.)
Zamknij terminal i uruchom ponownie komputer (wylogowanie nie jest wystarczające: plik nie zostanie ponownie odczytany). Po restarcie powinieneś mieć układ klawiatury na ekranie logowania.
UWAGA: możliwe, że wystarczyłoby skopiować plik com.apple.HIToolbox.plist
z ~/Library/Preferences/
do /Library/Preferences/
jednak w moim przypadku ma więcej wpisów, więc postanowiłem zagrać bezpiecznie i zmodyfikować istniejący plik.
com.apple.HIToolbox.plist
plik wygląda jak po zmianach: gist.github.com/anonymous/d18bae208b5cf12e48be
znalazłem ta stara wskazówka MacWorld , co sugerowało ponowne uruchomienie Asystenta instalacji:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Na początku myślałem, że nie jest to już obsługiwane w Lionie, ponieważ uruchomienie tego polecenia nie wydaje się mieć żadnego efektu. Dopiero po opublikowaniu tego pytania zauważyłem literówkę w poleceniu. Znaki spacji muszą być poprawnie ukrywane lub należy podać miejsce binarne. Z tego powodu wskazówka, z którą nawiązałem połączenie, nie działa.
Oto poprawne polecenie:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Alternatywnie, to również zadziałałoby:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Kolejny błąd, o którym nie wspomniałem na stronie, do której nawiązałem połączenie: niestandardowy układ klawiatury musi być zainstalowany /Library/Keyboard Layouts/
(to znaczy. cd /Library/Keyboard\ Layouts
), nie ~/Library/Keyboard Layouts
, aby pojawił się na ekranie wyboru klawiatury Asystenta ustawień.
Aktualizacja: Od wersji OS X 10.8 musisz uruchomić dodatkowe polecenie (tzn. Najpierw usunąć plik):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Musisz także utworzyć nowe konto użytkownika, aby ukończyć Asystenta ustawień - ale nie martw się, możesz później usunąć nowe konto.
Ta sztuczka nie działa już w ostatnich wersjach OS X 10.8.
Aktualizacja: Oto wszystko, co wiem o niestandardowych układach klawiatury w systemie OS X .
Używam niestandardowego układu klawiatury utworzonego za pomocą Ukulele w OS X 10.8.5 . Zmieniłem układ klawiatury ekranu logowania, wykonując następujące czynności:
Users & Groups
w System Preferences
Login Options
od dołu lewego panelu Show Input menu in login window
Other input sources
z menu wprowadzania, znajdującego się w prawym górnym rogu Show Input menu in login window
aby zapobiec dalszym zmianom układu logowania Uważam, że ta metoda jest znacznie łatwiejsza niż edycja losowa .plist
pliki i uruchomione polecenia to Terminal.
Ta metoda może wymagać dostępu administracyjnego, ponieważ prawdopodobnie trzeba odblokować prawy panel w kroku 3. powyżej, klikając ikonę kłódki na dole.
Aktualizacja: Niestety, nie działa to w systemie OS X 10.9.
Po zainstalowaniu macOS Sierra mój niestandardowy układ został ponownie zainicjowany do stanu domyślnego za każdym razem po zalogowaniu na moim koncie.
Apple dodał nowe klawiatury, a identyfikator był sprzeczny z klawiaturą, której używałem.
Aby sprawdzić poprawność, jeśli masz ten problem, uruchom:
sudo touch / Library / Keyboard
Wyjście:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
Wyjście twierdzi, że coś naprawia, ale w rzeczywistości nic nie robi. Nadal musiałem samodzielnie edytować układ i zaczął działać jak poprzednio.