3 votes

Comment puis-je script les paramètres de rétro-éclairage du clavier ?

Je cherche à modifier les paramètres avec un script, mais je n'arrive pas à trouver où sont stockées les données plist pour les paramètres de rétroéclairage du clavier.

Par exemple, dans les préférences système, j'aimerais modifier les préférences de l'onglet Keyboard avec un script. Ceux-là :

enter image description here

Normalement, la façon dont je trouve un paramètre est

  • Je cours defaults read > before y defaults read -g > before-g
  • Ensuite, je change le paramètre dans les Préférences Système
  • Ensuite, je cours defaults read > after y defaults read -g > after-g
  • Ensuite, je compare les différences entre les fichiers avant et après pour voir ce qui a changé.

Mais pour une raison quelconque, cela ne fonctionne pas avec les paramètres de rétroéclairage du clavier, et je ne vois aucune différence entre les deux. before pour after lorsque j'ai modifié les paramètres de rétroéclairage du clavier entre avant et après.

Comment puis-je script les paramètres de rétro-éclairage du clavier ?

6voto

Réponse courte, TLDR : Non, un simple script ne suffira pas pour ce que vous essayez de faire. Mais ...

Vous aurez plus de chance en utilisant une tierce partie comme celle-ci : https://github.com/pirate/mac-keyboard-brightness . Son code peut prendre l'entrée de l'utilisateur et manipuler le clavier pour vous. Mais je ne suis pas sûr que cela ait été testé dans Mojave mais vous êtes le bienvenu pour essayer.

Réponse longue, pour les curieux :

Certains paramètres du système ou certaines tâches matérielles en cours d'exécution sur un Mac sont initiés et exécutés avec des extensions du noyau et continuent de s'exécuter avec l'extension du noyau. kextd daemon . Ce que sont les pilotes pour Windows, ce sont les extensions de noyau pour Mac OS. Sans les extensions du noyau, votre Mac OS ne pourrait pas démarrer correctement.

Vous pouvez tester en toute sécurité votre son sur votre Mac en utilisant les informations sur la suppression des kexts ici, mais veillez à sauvegarder vos fichiers : http://osxdaily.com/2012/05/30/how-to-completely-disable-audio-sound-in-mac-os-x/

Jetez un coup d'oeil au code écrit là par Pirate, dans son code dans keyboard-brightness.c il fait un bon travail de dissection du Mac. Vous pouvez voir à quel point votre script serait un peu plus complexe si vous essayiez de vous attaquer à ce problème par le code. Un simple script de bash ne suffirait pas.

Dans le code de Pirate, vous pouvez voir qu'il accède à la lumière du clavier avec le framework Foundation et le framework IOKit, écrits en Objective C/C++. Si vous êtes à l'aise avec ce langage, vous devriez essayer de vous familiariser avec son code.

Pourquoi l'exécution des paramètres par défaut n'a rien donné ? La raison defaults ne montre rien, c'est parce que defaults est destiné à modifier plist uniquement.

Comment puis-je voir mes extensions de noyau ? Vous pouvez voir une liste complète des extensions du noyau en cours d'exécution dans le terminal avec la commande suivante :

kextstat

Vous pouvez également voir une liste de toutes les extensions du noyau installées sous :

/System/Library/Extensions

Dans le terminal, vous pouvez voir quel fichier kext de clavier vous avez en exécutant grep :

kextstat | grep "Keyboard"

Je n'ai pas d'ordinateur portable, mais je suppose sans risque que vous aurez également un fichier kext de clavier qui ressemblera au mien :

enter image description here

Où puis-je en savoir plus sur l'IOFramework ? https://developer.apple.com/documentation/iokit?language=objc . Sur la page git de Pirate, vous pouvez voir qu'il a également écrit son code en swift4, ce qui pourrait être plus facile à comprendre. Vous pouvez passer d'un type de langage à l'autre, ObjC et Swift, sur la page des développeurs Apple.

J'espère que cette réponse vous a été utile.

0 votes

Il n'y a donc pas de moyen simple de dire à MacOS de "cocher" ou de "décocher" la case "Éteindre le rétroéclairage du clavier après", et de le laisser gérer le noyau en interne ? Il semble qu'il devrait y avoir un moyen de cocher cette case avec un script.

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