Crea un layout di tastiera personalizzato come predefinito di sistema, anche per la schermata di accesso

35

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?

    
posta Mathias Bynens 21.03.2012 - 13:46
fonte

4 risposte

13

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.

    
risposta data 08.11.2013 - 12:10
fonte
12

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 .

    
risposta data 21.03.2012 - 13:53
fonte
3

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:

  1. Apri Users & Groups in System Preferences
  2. Seleziona Login Options dalla parte inferiore del riquadro di sinistra
  3. Verifica Show Input menu in login window
  4. Vai alla schermata di accesso
  5. Seleziona il layout preferito in Other input sources dal menu di input, situato in alto a destra
  6. Torna indietro e deseleziona 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.

    
risposta data 08.11.2013 - 12:26
fonte
2

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.

    
risposta data 18.09.2016 - 04:07
fonte

Leggi altre domande sui tag