Définir une configuration de clavier personnalisée comme configuration système par défaut - même pour l'écran de connexion

37

Puis-je définir une configuration de clavier personnalisée (celle qui n'était pas incluse par défaut avec OS X) comme configuration système par défaut - même pour l'écran de connexion?

Mathias Bynens
la source
(pendant ce temps, vous pouvez refuser la réponse, les lecteurs risquent d’être confus)
o0 '.
1
@ Lohoris: C'est fait!
Mathias Bynens
Veuillez mettre à jour la question b en supprimant la note de mise à jour, la meilleure réponse fonctionne désormais également pour les dernières versions d'osx
Bert Goethals le

Réponses:

13

Cela fonctionne sur OSX 10.9 Mavericks, avec une disposition de clavier que j'ai créée avec Ukulele. En supposant que la disposition soit déjà installée sur votre système, connectez-vous à votre compte et activez votre disposition de clavier personnalisée.

Ouvrez un terminal et exécutez la commande suivante:

cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/

Si vous avez l'intention d'utiliser un éditeur de texte (par exemple, TextWrangler) pour effectuer cette modification au lieu de XCode (qui dispose d'un éditeur de pliste graphique spécialisé), exécutez également :

plutil -convert xml1 /tmp/com.apple.HIToolbox.plist

Maintenant, ouvrez /tmp/com.apple.HIToolbox.plistdans l'éditeur de texte ou dans XCode.

Tout au long du fichier, vous trouverez plusieurs mentions d'une KeyboardLayout IDclé suivie d'un entier et KeyboardLayout Namesuivies d'une chaîne. Remplacez ces chaînes par le nom de votre disposition de clavier personnalisée et par id les entiers par l'ID de votre disposition (le moyen le plus simple de rechercher les bonnes valeurs consiste à comparer vos paramètres utilisateur dans le fichier ~/Library/Preferences/com.apple.HIToolbox.plist.

De plus, la valeur de la clé AppleCurrentKeyboardLayoutInputSourceIDdoit être modifiée en conséquence (probablement comme quelque chose comme org.unknown.keylayout.NameOfYourLayout). Encore une fois, vous pouvez trouver cette valeur dans votre fichier de préférences local.

Une fois ces modifications effectuées, enregistrez le fichier et revenez au terminal. Pour vous protéger, vous pouvez créer une copie du com.apple.HIToolbox.plistfichier d' origine , au cas où vous commettriez une erreur et que vous deviez revenir en arrière. Par exemple, pour enregistrer une copie dans votre dossier Documents :

sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents

Ensuite, installez votre modification avec les éléments suivants:

sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'

(Il n'est pas nécessaire de reconvertir votre fichier hors du formulaire texte plutilsi vous l'avez fait plus tôt.)

Quittez le terminal et redémarrez l'ordinateur (la déconnexion n'est pas suffisante: le fichier ne sera pas relu). Après le redémarrage, la disposition de votre clavier devrait apparaître dans l'écran de connexion.

REMARQUE: il est possible que cela aurait été suffisant pour copier le fichier à com.apple.HIToolbox.plistpartir ~/Library/Preferences/de /Library/Preferences/, mais dans mon cas , il a plus d' entrées, alors j'ai décidé de jouer la sécurité et il suffit de modifier le fichier existant.

Eric J. Francois
la source
Essayer cela maintenant, car l'autre réponse ne fonctionnait pas. FWIW, voici à quoi com.apple.HIToolbox.plistressemble mon fichier après les modifications: gist.github.com/anonymous/d18bae208b5cf12e48be
Mathias Bynens
Travaillé sans faille, merci! Je suis désolé, je ne peux plus vous donner la prime, je vais donc en créer une nouvelle juste pour vous récompenser de cette réponse.
Mathias Bynens
Content que cela ait aidé. Merci pour la prime supplémentaire! :-)
Eric J. Francois
Travaillé comme un charme. Bon conseil!
SƬƠƑ
C'est fantastique. Mon clavier belge m'a paralysé trop longtemps! J'aimerais pouvoir vous donner plusieurs votes!
Bert Goethals
12

J'ai trouvé cette vieille astuce MacWorld suggérant de réexécuter l'assistant d'installation:

sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant

Au début, je pensais que cela n’était plus supporté par Lion car l’exécution de cette commande ne semblait pas avoir d’effet. Après avoir posté cette question, j'ai remarqué qu'il y avait une faute de frappe dans la commande. Les caractères d'espacement doivent être échappés correctement ou l'emplacement du binaire doit être indiqué. Pour cette raison, le conseil auquel j'ai lié ne fonctionne pas.

Voici la commande correcte:

sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

Sinon, cela fonctionnerait aussi bien:

sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant

Un autre casse-tête qui n’a pas été mentionné sur la page à laquelle je me suis lié: la disposition de clavier personnalisée doit être installée /Library/Keyboard Layouts/(c.- à -d. cd /Library/Keyboard\ Layouts) Et non ~/Library/Keyboard Layoutspour qu’elle apparaisse dans l’écran de sélection de disposition de clavier de l’Assistant d’installation.


Mise à jour: à partir de OS X 10.8, vous devez exécuter une commande supplémentaire (c.-à-d. Supprimer d'abord un fichier):

sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

De plus, vous devrez créer un nouveau compte utilisateur pour pouvoir terminer l’Assistant réglages. Ne vous inquiétez pas, vous pouvez supprimer le nouveau compte ultérieurement.

Cette astuce ne fonctionne plus dans les versions récentes d'OS X 10.8.


Mise à jour: Voici tout ce que je connais des dispositions de clavier personnalisé sur OS X .

Mathias Bynens
la source
J'ai suivi vos étapes pour le Mountain Lion 10.8 et lancé l'assistant de configuration pour configurer ma configuration de clavier par défaut sur Dvorak et j'ai essayé de me connecter, mais cela n'a pas fonctionné. au redémarrage, il utilisait toujours qwerty pour l’écran de connexion.
ams
Oui, cela ne semble plus fonctionner depuis OS X 10.8. :(
Mathias Bynens
3

J'utilise une disposition de clavier personnalisée créée avec Ukelele sous OS X 10.8.5 . J'ai modifié la disposition du clavier de l'écran de connexion en procédant comme suit:

  1. Ouvrir Users & GroupsdansSystem Preferences
  2. Sélectionnez en Login Optionsbas du panneau de gauche
  3. Vérifier Show Input menu in login window
  4. Aller à l'écran de connexion
  5. Sélectionnez la disposition préférée sous Other input sourcesdans le menu de saisie, situé en haut à droite
  6. Revenez en arrière et décochez la Show Input menu in login windowpour empêcher toute modification ultérieure de la structure de connexion

J'ai trouvé cette méthode beaucoup plus facile que l'édition de certains .plistfichiers aléatoires et l'exécution de commandes via le terminal.

Cette méthode peut nécessiter un accès administrateur, car vous devrez peut-être déverrouiller le volet de droite à l'étape 3. ci-dessus en cliquant sur l'icône de verrouillage en bas.

Mise à jour: Malheureusement, cela ne semble pas fonctionner sous OS X 10.9.

Jawa
la source
Je vous ai remis la prime, car cela semblait être la meilleure réponse, mais cela ne semble pas fonctionner - cela revient toujours à la configuration de clavier par défaut des États-Unis. Pour tester cela, j'ai utilisé une disposition de clavier qui me permet de taper trois symboles avec une frappe, afin de voir combien de caractères masqués apparaissent dans la zone de saisie du mot de passe. Après avoir appliqué les étapes que vous avez mentionnées, je ne pouvais entrer qu'un symbole à la fois (comme sur le clavier américain).
Mathias Bynens
Pouvez-vous décrire ce qui ne fonctionne pas avec OS X 10.9? Je suis capable de suivre ces étapes (je n’ai pas fait l’étape 6) avec succès lors de l’utilisation de la disposition Workman (trouvée ici: workman.deekayen.net ). Mon problème cependant, c'est que si cette disposition est sélectionnée et que je verrouille l'ordinateur, le menu de saisie n'apparaît pas dans l'écran de connexion, alors que c'est bien si j'ai Dvorak ou quelque chose d'autre supporté nativement par OS X. (c'est-à-dire que je vois le menu. et peut revenir aux États-Unis si nécessaire)
Timothée Boucher
@ TimothéeBoucher Mon commentaire précédent décrit ce qui ne va pas et comment j'ai testé cela.
Mathias Bynens
2

Après l’installation de macOS Sierra, ma présentation personnalisée a été réinitialisée à sa valeur par défaut après chaque connexion à mon compte.

Apple a ajouté de nouveaux claviers et l'ID était en conflit avec le clavier que j'utilisais.

Pour valider si vous avez ce problème exécuté:

sudo touch / Bibliothèque / Clavier \ Layouts /

Le résultat:

Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.

La sortie affirme que cela corrige quelque chose mais qu’il n’a en réalité rien fait. Je devais encore modifier la mise en page moi-même et cela a commencé à fonctionner comme avant.

Jrobichaud
la source
Également eu ma coutume changé. Malheureusement, corriger les identifiants dans les fichiers .plist ne m'a pas aidé.
Pavel Gurkov
@PavelGurkov avez-vous exécuté la commande sudo touch sur le dossier après? Il était nécessaire que le système d'exploitation le considère.
jrobichaud
Oui, j'ai fait ça, pas de sortie du tout. Vérifié tout ce que je pouvais, mais quand même ... Travaillé sans faille sur El Capitan, pas de chance sur Sierra.
Pavel Gurkov