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 :
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.