J'ai eu exactement le même problème : une disposition de clavier personnalisée qui fonctionnait très bien sur macOS 10.12 Sierra a soudainement refusé de fonctionner avec les applications par défaut et les applications installées depuis l'App Store après la mise à jour vers macOS 10.13 High Sierra. Le système d'exploitation revenait toujours à la disposition de clavier par défaut de ma région (finlandaise). Cela m'a fait réfléchir et j'ai réussi à corriger la disposition que j'utilise afin qu'elle fonctionne désormais avec toutes les applications, pas seulement celles installées depuis homebrew.
Le truc est de modifier votre disposition personnalisée pour qu'elle soit définie sur votre région actuelle. Vous pouvez le faire soit en modifiant le bundle manuellement soit en utilisant Ukelele.
1. Modifier la disposition avec Ukelele
Téléchargez et installez Ukelele depuis, par exemple, homebrew. Lorsque vous ouvrez l'application, ouvrez votre disposition personnalisée depuis un fichier ou, si vous l'avez actuellement active, vous pouvez créer un nouveau bundle basé sur celle-ci en choisissant 'Fichier' 'Nouveau à partir de la source d'entrée actuelle'. Après l'avoir ouvert, vous devez définir la langue correcte (et éventuellement la région) depuis les paramètres 'Langue...' trouvés dans l'onglet 'dispositions de clavier'. La langue n'a pas besoin de correspondre à la langue du système d'exploitation et je ne sais pas si la région a un rapport avec ce problème (Ukelele dit que c'est optionnel), mais la définir sur votre région ne peut pas faire de mal.
Après avoir défini la langue depuis l'onglet 'Dispositions de clavier', vous devez définir la localisation depuis l'onglet 'Localisations'. S'il y a déjà une ligne de localisation dans la liste, vous pouvez la modifier en double-cliquant dessus et en définissant la langue (cela n'a toujours pas besoin de correspondre à la langue du système d'exploitation), sinon vous pouvez en ajouter une nouvelle en utilisant le bouton avec un signe '+' dessus. Définir la région est également facultatif ici, mais mieux vaut prévenir que guérir. Après cela, vous pouvez enregistrer le bundle et passer à l'installation et à l'activation de votre disposition.
2. Modifier la disposition manuellement
Les bundles de dispositions de clavier sont en réalité simplement des répertoires avec une certaine structure, donc vous pouvez également les modifier manuellement depuis la ligne de commande. Ce que vous devez faire, c'est accéder au répertoire Votre.bundle/Contenu
et modifier Info.plist
en ajoutant KLInfo_
dict. Voici un exemple du Info.plist
de la disposition que j'utilise :
CFBundleIdentifier
com.apple.keyboardlayout.arkkudvorak
CFBundleName
ArkkuDvorak
CFBundleVersion
1.0
KLInfo_ArkkuDvorak
TISInputSourceID
com.apple.keyboardlayout.arkkudvorak.arkkudvorak
TISIntendedLanguage
fi-FI
La chose principale ici est d'inclure vos abréviations de langue et de région en tant que valeur de chaîne pour TISIntendedLanguage
. Je suppose que TISInputSourceID
peut être n'importe quoi tant que c'est préfixé par CFBundleIdentifier
.
Après avoir défini la langue et la région, vous pouvez enregistrer et fermer le fichier Info.plist
. Vous devez encore modifier légèrement la structure du répertoire. Accédez à Votre.bundle/Contenus/Ressources
et renommez le .lproj
en _.lproj
, dans mon cas fi_FI.lproj
. Après avoir fait cela, vous avez terminé avec les modifications.
3. Installer et activer votre disposition
Après avoir corrigé les paramètres de langue, de région et de localisation et enregistré le bundle, déplacez-le dans /Bibliothèque/Dispositions de clavier/
si vous ne l'avez pas modifié directement à partir de là. Redémarrez votre ordinateur, réajoutez la disposition depuis 'Préférences Système' 'Clavier' 'Sources d'entrée' et elle devrait maintenant fonctionner avec toutes les applications.
Cela a fonctionné pour moi, faites-moi savoir si cela a fonctionné pour vous.
Avis de non-responsabilité : Je ne suis pas l'auteur du bundle ArkkuDvorak, je l'utilise simplement.