2 votes

Activer le zoom d'écran via le terminal

Il y a deux paramètres d'accessibilité (indiqués par le rectangle rouge dans la capture d'écran ci-dessous) qui permettent de zoomer dans l'écran en tenant ctrl et en faisant défiler la souris.

Existe-t-il un moyen d'activer ces paramètres depuis le terminal ?

enter image description here

2voto

user3439894 Points 52496

Sur mon système, il y a quatre .plist fichiers dans ~/Library/Preferences/ qui sont modifiés lorsque ces deux cases à cocher sont cochées/décochées :

  • com.apple.AppleMultitouchTrackpad.plist
  • com.apple.driver.AppleBluetoothMultitouch.trackpad.plist
  • com.apple.symbolichotkeys.plist
  • com.apple.universalaccess.plist

Alors qu'on pourrait prendre les mesures nécessaires pour voir clés obtenir ajouté/modifié/supprimé et pourrait écrire un script à l'utilisation defaults 1 pour modifier les clés dans ces fichiers néanmoins, il serait juste plus facile d'utiliser AppleScript pour le faire en Préférences du système si vous souhaitez l'automatiser.

  1. En Terminal utilisez ce qui suit commandement composé pour créer le fichier et l'ouvrir :

    touch togzoom; open togzoom
  2. Copiez et collez le exemple AppleScript code illustré plus loin, dans l'ouverture togzoom fichier .

  3. Sauvegardez et fermez le fichier .

  4. Faites le fichier exécutable :

    chmod u+x togzoom

Utilicé togzoom pour : [tog]gle zoom

NOTE : Pour cela, il faudra également donner Terminal privilèges d'accessibilité pour que cela fonctionne correctement.

Vous pouvez maintenant l'utiliser à partir de l répertoire c'est en utilisant ./togzoom sinon /path/to/togzoom Toutefois, il est préférable de le placer dans un fichier répertoire qui est dans votre PATH déclaration . Ensuite, il peut être utilisé de n'importe où en togzoom (ou tout autre nom que vous avez donné à l exécutable ).


Les éléments suivants exemple AppleScript code a été testé et fonctionne pour moi, tel que codé, sur MacOS High Sierra y MacOS Mojave Toutefois, une modification mineure est nécessaire pour MacOS Mojave et est noté dans le paragraphe après le code .

Exemple AppleScript code :

#!/usr/bin/osascript

if running of application "System Preferences" then
    try
        quit application "System Preferences"
    on error
        do shell script "killall 'System Preferences'"
    end try
end if

repeat while running of application "System Preferences" is true
    delay 0.1
end repeat

tell application "System Preferences" to ¬
    reveal anchor "Seeing_Zoom" of ¬
        pane id "com.apple.preference.universalaccess"

tell application "System Events" to tell ¬
    application process "System Preferences" to tell ¬
    window "Accessibility"

    repeat until exists checkbox "Use keyboard shortcuts to zoom"
        delay 0.1
    end repeat

    set UKSTZ to (value of checkbox "Use keyboard shortcuts to zoom" as boolean)
    set USGWMKTZ to (value of checkbox "Use scroll gesture with modifier keys to zoom:" as boolean)

    if UKSTZ and USGWMKTZ then
        click checkbox "Use keyboard shortcuts to zoom"
        click checkbox "Use scroll gesture with modifier keys to zoom:"
        set theMessage to "   The target Zoom checkboxes are now not checked."
    else if not UKSTZ and not USGWMKTZ then
        click checkbox "Use keyboard shortcuts to zoom"
        click checkbox "Use scroll gesture with modifier keys to zoom:"
        set theMessage to "   The target Zoom checkboxes are now checked."
    else if UKSTZ and not USGWMKTZ then
        click checkbox "Use keyboard shortcuts to zoom"
        set theMessage to "   The target Zoom checkboxes were out of sync and are now not checked." & ¬
            linefeed & "   Run again to check the target Zoom checkboxes..."
    else if not UKSTZ and USGWMKTZ then
        click checkbox "Use scroll gesture with modifier keys to zoom:"
        set theMessage to "   The target Zoom checkboxes were out of sync and are now not checked." & ¬
            linefeed & "   Run again to check the target Zoom checkboxes..."
    end if

    delay 0.1

end tell

quit application "System Preferences"

return theMessage

Pour utiliser le exemple AppleScript code sur MacOS Mojave , apportez la modification suivante au fichier code montré ci-dessus :

Changez :

window "Accessibility"

A :

group 1 of window "Accessibility"

Ce que cette script fait :

  1. Il bascule el état des deux cases à cocher cibles .
  2. Si le cases à cocher cibles ne sont pas synchronisés, il décontrôle celui qui est contrôlé et renvoie un message.

Le tableau suivant montre les commande courir trois fois en Terminal pour afficher sa sortie. À des fins de démonstration, dans Préférences du système > Accessibilité > Zoom l'un des cases à cocher cibles est vérifié et l'autre est pas vérifié.

$ ./togzoom
   The target Zoom checkboxes were out of sync and are now not checked.
   Run again to check the target Zoom checkboxes...
$ ./togzoom
   The target Zoom checkboxes are now checked.
$ ./togzoom
   The target Zoom checkboxes are now not checked.
$ 

Note : Le exemple AppleScript code utilisé ici est juste cela et ne contient pas d'informations supplémentaires. erreur la manipulation qui s'impose. C'est à l'utilisateur qu'il incombe d'ajouter toute traitement des erreurs selon ce qui est approprié, nécessaire ou souhaité. Consultez le essayez déclaration y erreur déclaration en el Guide du langage AppleScript . Voir aussi, Travailler avec des erreurs .


1 Alors que le defaults commande peut être utilisé pour modifier .plist Néanmoins, dans ce cas particulier com.apple.symbolichotkeys.plist peut être difficile et obtenir les changements dans ce fichier et les fichiers susmentionnés nécessite de tuer les utilisateurs par programme. cfprefsd démon pour tenter de faire en sorte que les changements prennent effet. Dans certains cas, ce processus échouera et c'est pourquoi nous avons choisi d'utiliser AppleScript comme script.

0 votes

Très utile, merci. Je souhaite defaults write com.apple.universalaccess closeViewScrollWheelToggle fonctionnerait.

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