1 votes

Script pour basculer entre les touches de fonction (avec Touchbar)

Je suis en train d'essayer d'écrire un script pour basculer entre les touches Fn et les commandes d'application sur la Touchbar en utilisant macOS High Sierra. Il y a quelques applications qui prétendent pouvoir le faire mais aucune ne semble fonctionner pour la Touchbar. Je suis donc 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. J'ai jusqu'à présent le code ci-dessous qui bascule "Ajuster la luminosité du clavier en cas de faible luminosité". Il me suffit de l'ajuster pour sélectionner une option dans le menu déroulant de la Touch Bar.

tell application "Préférences Système"
    activer
    définir le panneau actuel sur l'identifiant du panneau "com.apple.preference.keyboard"
    révéler l'ancre "keyboardTab" du panneau "com.apple.preference.keyboard"
end tell

tell application "Événements Système" to tell process "Préférences Système"
    cliquer sur la case à cocher 1 du groupe d'onglets 1 de la fenêtre 1
end tell

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

insérer la description de l'image ici

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 d'interface utilisateur"

tell application "System Events"
    tell application process "System Preferences"
        get the UI elements of the window "Keyboard"
    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 "System Preferences"
        get the UI elements of tab group 1 of window "Keyboard"
    end tell

En fait, l'utilisation de l'application Accessibility Inspector (partie de Xcode) peut vous aider à identifier quel élément inspecter

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

Comme il s'agit d'une popup, pour interagir avec son menu, vous devez cliquer dessus puis sélectionner l'élément que vous souhaitez activer. Cela peut être fait en spécifiant tout le libellé 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 soit vers le bas, puis la touche retour)...

tell application "System Preferences"
    -- activer
    reveal anchor "keyboardTab" of pane id "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 "System Preferences"
        set thePopup to pop up button 2 of tab group 1 of window "Keyboard"

        tell thePopup
            click
            delay 0.2

            if the value of thePopup begins with "App" or the value of thePopup begins with "Expanded" then
                key code {125, 125, 125, 36}
            else
                key code {126, 36}
            end if

        end tell

    end tell
end tell

quit application "System Preferences"

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

0voto

user3439894 Points 52496

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

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

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


Exemple code AppleScript code :

tell application "Préférences Système"
    révéler ancre "onglet clavier" du panneau id "com.apple.preference.keyboard"
    activer
    délai 1
    tell application "Événements Système"
        tell groupe d'onglets 1 de fenêtre 1 du processus de l'application "Préférences Système"
            click pop up button n
            délai 0.2
            click menu item n
            délai 0.2
        end tell
    end tell
    quitter
end tell

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

Notez également que la valeur des délai commandes peut avoir besoin d'être ajustée pour votre système et/ou des délai commandes supplémentaires peuvent être nécessaires ou non. Les délai 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