Je travaille un peu avec des alphabets non ASCII comme l'hébreu et le grec, et j'ai donc les dispositions de clavier appropriées disponibles dans le menu langue et texte du panneau supérieur. Cependant, je ne connais pas encore tous les caractères, et je dois donc faire apparaître le visualiseur de clavier lorsque je veux taper dans ces langues, afin de pouvoir rechercher les caractères que je veux. Existe-t-il un moyen de faire apparaître automatiquement le visualiseur de clavier lorsque certaines dispositions de clavier sont sélectionnées et de le faire disparaître lorsque je reviens à la normale ?
Réponse
Trop de publicités?OK, en partant d'un post sur SuperUser , voici ce qu'il en est :
Vous pouvez créer des AppleScripts pour passer d'une langue à l'autre. Si vous créez des services qui ne prennent aucune entrée et que vous appelez simplement celui-ci script, ils vivront heureux dans le menu Services quand vous le voudrez. Sinon, utilisez la méthode de déclenchement AppleScript de votre choix.
Pour passer au grec, par exemple, et faire apparaître le visualiseur de clavier, exécutez ce script :
tell application "System Events"
if exists process "Keyboard Viewer" then
display alert "running"
try
tell application "KeyboardViewer" to quit
end try
end if
end tell
tell application "Finder"
open item "System:Library:Input Methods:KeyboardViewer.app" of the startup disk
end tell
changeKeyboardLayout("Greek")
on changeKeyboardLayout(layoutName)
tell application "System Events" to tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
end tell
end changeKeyboardLayout
Pour revenir à la présentation américaine, en tuant l'observateur à ce moment-là, utilisez ceci :
tell application "System Events"
if exists process "Keyboard Viewer" then
display alert "running"
try
tell application "KeyboardViewer" to quit
end try
end if
end tell
changeKeyboardLayout("U.S.")
on changeKeyboardLayout(layoutName)
tell application "System Events" to tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
end tell
end changeKeyboardLayout
Remplacez les noms des dispositions de clavier que vous souhaitez dans les champs changeKeyboardLayout("layout name")
commande.