3 votos

¿Cómo puedo script la configuración de la retroiluminación del teclado?

Estoy buscando cambiar la configuración con un script, pero no puedo encontrar donde se almacenan los datos plist para la configuración de la retroiluminación del teclado.

Por ejemplo, en las Preferencias del Sistema, me gustaría modificar las preferencias en la sección Keyboard con un script. Estos:

enter image description here

Normalmente la forma en que encuentro un ajuste es

  • Corro defaults read > before y defaults read -g > before-g
  • Entonces cambio la configuración en Preferencias del Sistema
  • Entonces corro defaults read > after y defaults read -g > after-g
  • Luego comparo las diferencias entre los archivos anteriores y los posteriores para ver qué ha cambiado.

Pero por alguna razón, esto no funciona con la configuración de la retroiluminación del teclado, y no veo ninguna diferencia de before archivos a after archivos cuando he cambiado la configuración de la retroiluminación del teclado entre el antes y el después.

¿Cómo puedo script la configuración de la retroiluminación del teclado?

6voto

Respuesta corta, TLDR: No, un simple script no será suficiente para lo que intentas hacer. Pero...

Tendrás más suerte utilizando un tercero como éste: https://github.com/pirate/mac-keyboard-brightness . Su código puede tomar la entrada del usuario y manipular el teclado para usted. Pero no estoy seguro de si esto fue probado en Mojave pero le invitamos a probar.

Respuesta larga, para los curiosos:

Ciertas configuraciones del sistema o tareas de hardware en ejecución en un Mac se inician y ejecutan con extensiones del kernel y continúan ejecutándose con la extensión kextd daemon . Lo que los drivers son para Windows es lo que las extensiones del kernel son para Mac OS. Sin las extensiones del kernel tu Mac OS no arrancaría correctamente.

Usted puede probar con seguridad con su sonido en su Mac utilizando la información sobre la eliminación de kexts aquí, pero asegúrese de hacer una copia de seguridad de sus archivos: http://osxdaily.com/2012/05/30/how-to-completely-disable-audio-sound-in-mac-os-x/

Echa un vistazo al código escrito allí por Pirate, en su código en keyboard-brightness.c hace un buen trabajo diseccionando el Mac. Puedes ver lo un poco más complejo que sería tu script si intentaras abordar esto a través de código. Un simple bash script no sería suficiente.

En el código de Pirate puedes ver que accede a la luz del teclado con el framework Foundation y el framework IOKit, escritos en Objective C/C++. Si usted se siente cómodo con este lenguaje, entonces usted debe tratar de incursionar más con su código.

¿Por qué al ejecutar los valores predeterminados no se detecta nada? La razón defaults no muestra nada es porque defaults está destinado a editar plist sólo archivos.

¿Cómo puedo ver las extensiones de mi núcleo? Puede ver una lista completa de las extensiones del kernel que se están ejecutando actualmente en el terminal con el siguiente comando:

kextstat

También puedes ver una lista de todas las extensiones del kernel instaladas en:

/System/Library/Extensions

En terminal puedes ver qué archivo kext de teclado tienes ejecutando grep:

kextstat | grep "Keyboard"

No tengo un ordenador portátil, pero estoy asumiendo con seguridad que también tendrá un archivo kext de teclado que se verá similar a la mía:

enter image description here

¿Dónde puedo obtener más información sobre el marco IOF? https://developer.apple.com/documentation/iokit?language=objc . En la página git de Pirate puedes ver que también escribió su código en swift4, que podría ser más fácil de entender. Puedes alternar entre ObjC y Swift en la página de desarrolladores de Apple.

Espero que esta respuesta le haya sido útil.

0 votos

Entonces, ¿no hay una forma sencilla de decirle a MacOS que "marque" o "desmarque" la casilla de verificación "Apagar la retroiluminación del teclado después de", y dejar que maneje las cosas del kernel internamente? Parece que debería haber alguna forma de marcar esa casilla con un script.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X