La commutation de la disposition du clavier à l'aide de CapsLock est une fonctionnalité ajoutée à MacOS 10.12 en 2016. Elle ne semble pas être très bien documentée par Apple - ce qui ne devrait pas surprendre quiconque utilise ses produits depuis longtemps. Je n'ai pas réussi à trouver la moindre documentation de cette fonction au niveau des développeurs.
Donc, en gros, pour répondre à votre question : Pour pouvoir passer d'une langue/d'une présentation à l'autre à l'aide de CapsLock, vous devez créer une présentation de clavier personnalisée qui combine les deux présentations. Je pense qu'Ukelele serait le moyen le plus simple d'y parvenir.
Cependant, sachez que cette solution de contournement est proche de la fonction originale, bien qu'il y ait quelques différences mineures qui, pour moi, sont en fait préférables à la façon dont la fonction originale a été conçue pour fonctionner - bien que vos préférences et vos priorités puissent évidemment varier. Votre solution utilisant le mousqueton reproduit plus fidèlement la fonction d'origine, ce qui rend mon option quelque peu redondante et potentiellement inférieure. Mais comme elle présente certains avantages à mon avis, j'ai décidé de la publier.
Quoi qu'il en soit, pour pouvoir utiliser ma solution de contournement, vous devez créer une seule disposition de clavier personnalisée basée sur le clavier américain, avec la disposition appropriée de la langue étrangère/du système d'écriture programmée directement dans les combinaisons de modificateurs basées sur CapsLock (couches de clavier ou niveaux de majuscules - telles que Caps+Shift, Caps+Option & etc.) Mac OSX traite CapsLock comme une touche de modification normale, mais verrouillable, sans aucune limitation. Ainsi, avec Ukelele, vous pouvez créer une disposition qui supporte plusieurs scripts et utiliser CapsLock pour passer de l'un à l'autre.
Les combinaisons de modificateurs latins peuvent être créées automatiquement de plusieurs façons (la plus simple étant de dupliquer le clavier américain que vous utilisez ou de créer une disposition qui reflète la disposition active).
Pour les couches secondaires script, vous pouvez ouvrir le clavier de la langue que vous souhaitez émuler (ou approcher) et faire glisser les combinaisons de touches de ce clavier vers le vôtre (en activant la combinaison de modificateurs basée sur CapsLock).
Je ne pense pas qu'un peu de travail manuel puisse être évité, mais vous pouvez atteindre votre objectif de cette manière. Cette option présente des avantages et des inconvénients potentiels en fonction de vos préférences. Par exemple, le drapeau ne passera pas des États-Unis à un autre drapeau, ce qui peut être considéré comme un inconvénient, bien que cela n'ait pas d'importance pour moi personnellement. Cependant, vous aurez le voyant CapsLock comme indicateur visible sur le clavier lui-même, ce qui peut être considéré comme un avantage. Cela évite également d'avoir à changer la disposition du clavier, ce qui est parfois nécessaire lorsqu'on change d'application ou de document, ainsi que le léger délai que cela implique - ce qui est particulièrement intéressant pour moi, car cela me rend fou lorsque la disposition du clavier est potentiellement différente dans chaque application.
Comme vous avez déjà trouvé une solution, celle-ci ne sera probablement pas d'une grande utilité. Cependant, un autre utilisateur pourrait peut-être trouver cette solution utile ou instructive.