Posso creare un layout di tastiera personalizzato (uno che non era incluso in OS X per impostazione predefinita) sistema predefinito - anche per la schermata di accesso?
Posso creare un layout di tastiera personalizzato (uno che non era incluso in OS X per impostazione predefinita) sistema predefinito - anche per la schermata di accesso?
Funziona su OSaver 10.9 Mavericks, con un layout di tastiera che ho creato con Ukulele. Supponendo di avere il layout già installato nel tuo sistema, accedi al tuo account e rendi attivo il tuo layout di tastiera personalizzato.
Apri un terminale ed esegui il seguente comando:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Se intendi utilizzare un editor di testo (ad es. TextWrangler) per apportare questa modifica al posto di XCode (che ha un editor di plist grafico specializzato), esegui anche :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Adesso apri /tmp/com.apple.HIToolbox.plist
nell'editor di testo o in XCode.
Nel file troverai diverse menzioni di una chiave KeyboardLayout ID
seguita da un intero e KeyboardLayout Name
seguite da una stringa. Cambia queste stringhe con il nome del layout di tastiera personalizzato e i numeri interi ID dell'ID del tuo layout (il modo più semplice per trovare i valori corretti è confrontarlo con le impostazioni utente trovate nel file ~/Library/Preferences/com.apple.HIToolbox.plist
.
Anche il valore della chiave AppleCurrentKeyboardLayoutInputSourceID
deve essere modificato di conseguenza (probabilmente in qualcosa come org.unknown.keylayout.NameOfYourLayout
). Anche in questo caso è possibile trovare questo valore nel file delle preferenze locali.
Una volta apportate queste modifiche, salva il file e torna al terminale. Per giocare sul sicuro, puoi creare una copia del file com.apple.HIToolbox.plist
originale, nel caso in cui hai commesso un errore e hai bisogno di eseguire il rollback. Ad esempio, per salvare una copia nella cartella Documenti :
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Quindi installa le modifiche con quanto segue:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Non è necessario convertire il file fuori forma di testo con plutil
se lo hai fatto prima.)
Esci dal terminale e riavvia il computer (il logout non è sufficiente: il file non verrà riletto). Dopo il riavvio, dovresti avere il layout della tastiera nella schermata di accesso.
NOTA: è possibile che sarebbe stato sufficiente copiare il file com.apple.HIToolbox.plist
da ~/Library/Preferences/
a /Library/Preferences/
, tuttavia nel mio caso ha più voci, quindi ho deciso di giocare sul sicuro e modificare solo l'esistente file.
Ho trovato questo vecchio suggerimento MacWorld , che suggeriva di eseguire nuovamente l'Assistente di configurazione:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
All'inizio pensavo che non fosse più supportato in Lion dato che l'esecuzione di questo comando non sembrava avere alcun effetto. Solo dopo aver postato questa domanda, ho notato che c'è un errore nel comando. I caratteri spaziali devono essere opportunamente escape, o la posizione del binario deve essere citata. Per questo motivo, il suggerimento a cui mi sono collegato non funziona.
Ecco il comando corretto:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
In alternativa, funzionerebbe anche così:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Un altro getcha che non è stato menzionato nella pagina a cui mi sono collegato: il layout personalizzato della tastiera deve essere installato in /Library/Keyboard Layouts/
(cioè cd /Library/Keyboard\ Layouts
), non ~/Library/Keyboard Layouts
, perché appaia nella tastiera di Assistente installazione schermata di selezione del layout.
Aggiornamento: A partire da OS X 10.8, dovrai eseguire un comando extra (ad esempio, rimuovere prima un file):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Inoltre, dovrai creare un nuovo account utente per completare l'Impostazione Assistita, ma non preoccuparti, puoi eliminare il nuovo account in seguito.
Questo trucco non funziona più nelle recenti versioni di OS X 10.8.
Aggiornamento: Ecco tutto ciò che so sui layout di tastiera personalizzati su OS X .
Sto utilizzando un layout di tastiera personalizzato creato con Ukelele in OS X 10.8.5 . Ho modificato il layout della tastiera dello schermo di accesso con i seguenti passaggi:
Users & Groups
in System Preferences
Login Options
dalla parte inferiore del riquadro di sinistra Show Input menu in login window
Other input sources
dal menu di input, situato in alto a destra Show Input menu in login window
per impedire ulteriori modifiche al layout di accesso Ho trovato questo metodo molto più semplice della modifica di alcuni file .plist
casuali e l'esecuzione di comandi nel Terminale.
Questo metodo potrebbe richiedere l'accesso amministrativo, poiché è possibile sbloccare il riquadro destro nel passaggio 3. precedente facendo clic sull'icona del lucchetto in basso.
Aggiornamento: Purtroppo non sembra funzionare su OS X 10.9.
Dopo aver installato macOS Sierra, il mio layout personalizzato è stato reinizializzato al valore predefinito ogni volta dopo il login nel mio account.
Apple ha aggiunto nuove tastiere e l'ID era in conflitto con la tastiera che stavo usando.
Per convalidare se si verifica questo problema:
sudo touch /Library/Keyboard\ Layouts/
L'output:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
L'output afferma che risolve qualcosa ma in realtà non ha fatto nulla. Dovevo ancora modificare il layout e ha iniziato a funzionare come prima.
Leggi altre domande sui tag login keyboard login-screen