1 votes

Script pour basculer entre les touches de fonction (avec Touch Bar)

Je suis en train d'essayer d'écrire un script pour basculer entre les touches Fn et les contrôles d'application sur la Touch Bar en utilisant macOS High Sierra. Il y a quelques applications qui disent pouvoir le faire mais aucune ne semble fonctionner pour la Touch Bar. Donc, je suis en train d'écrire un script qui ouvre les Préférences Système, les paramètres du clavier et bascule le réglage de la Touch Bar. Jusqu'à présent, j'ai le code ci-dessous qui bascule "Ajuster la luminosité du clavier en basse lumière". Il me suffit de le modifier pour sélectionner une option dans le menu déroulant de la Touch Bar.

tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.keyboard"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell

quit application "System Preferences"

description de l'image

2voto

Gio Valerio Points 761

Vous pouvez vérifier les composants de l'interface utilisateur de l'application que vous essayez de scripter avec la commande "éléments UI"

tell application "System Events"
    tell application process "Préférences Système"
        get the UI elements of the window "Clavier"
    end tell
end tell

vous pouvez ensuite parcourir la liste pour trouver où se trouve l'élément requis

tell application "System Events"
    tell application process "Préférences Système"
        get the UI elements of tab group 1 of window "Clavier"
    end tell

en fait, en utilisant l' application Accessibilité Inspector (partie de Xcode) peut vous aider à identifier quel élément inspecter

Pour nos besoins, il semblerait que le popup qui nous intéresse est le bouton pop up 2 du groupe d'onglets 1 de la fenêtre "Clavier"

Comme c'est un popup, pour interagir avec son menu, vous devez cliquer dessus puis sélectionner l'élément que vous voulez activer. Cela peut être fait en spécifiant le label complet de l'élément de menu à cliquer, j'ai préféré simuler les frappes nécessaires pour changer la sélection (soit la flèche vers le haut ou vers le bas puis la touche retour)...

tell application "Préférences Système"
    -- activer
    reveal anchor "ongletClavier" de l'identifiant de volet "com.apple.preference.keyboard"
end tell

delay 0.5 -- cela dépend de la vitesse de votre mac

tell application "System Events"
    tell application process "Préférences Système"
        set lePopup to bouton pop up 2 du groupe d'onglets 1 de la fenêtre "Clavier"

        tell lePopup
            click
            delay 0.2

            if la valeur de lePopup commence par "App" ou la valeur de lePopup commence par "Expanded" then
                key code {125, 125, 125, 36}
            else
                key code {126, 36}
            end if

        end tell

    end tell
end tell

quittez l'application "Préférences Système"

au fait, dans une autre question, quelqu'un a remarqué que si vous n' activez pas l'application Préférences Système, les scripts fonctionneront quand même mais sans afficher sa fenêtre (vous verrez toujours le menu contextuel qui change, cependant)

0voto

user3439894 Points 52496

Je ne suis pas en mesure de tester, cependant l'exemple suivant de code AppleScript est comment je l'écrirais.

  • Avec click pop up button n, changez n au bon numéro.
    • Exemple : click pop up button 2
  • Avec click menu item n, changez n au bon numéro, ou utilisez le nom de menu item.
    • Exemples : click menu item 1 ou click menu item "F1, F2, etc. Keys"
    • Notez que comme je ne peux pas tester, dans cet exemple, 1 peut ne pas être égal au nom affiché.

Déterminez la valeur correcte pour n dans les deux click commandes, en le remplaçant au besoin.


Exemple code AppleScript :

tell application "Préférences Système"
    disclose ancre "keyboardTab" de la fenêtre id "com.apple.preference.keyboard"
    activer
    delay 1
    tell application "Évènements Système"
        tell groupe d'onglets 1 de fenêtre 1 de processus d'application "Préférences Système"
            click pop up button n
            delay 0.2
            click menu item n
            delay 0.2
        end tell
    end tell
    quitter
end tell

Remarque : Le exemple code AppleScript est juste cela et n'utilise aucune gestion d'erreurs et n'est destiné qu'à montrer une des nombreuses façons d'accomplir une tâche. Il incombe toujours à l'Utilisateur d'ajouter/utiliser une gestion d'erreurs appropriée selon les besoins/envies.

Notez également que la valeur des delay commandes peut nécessiter d'être ajustée pour votre système et/ou des delay commandes supplémentaires peuvent être nécessaires ou non. Les delay commandes sont incluses ici à titre d'exemple de ce qui peut/peut être nécessaire en fonction de plusieurs facteurs.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X