Quiero escribir un AppleScript que
- corre (en un bucle) hasta que presione Esc
- "escucha" para las pulsaciones de teclado 1 , 2 , etc.
- ejecuta un comando dado para cada pulsación de tecla (ejecutando un comando de shell)
ddcctl
para cambiar el brillo / contraste del monitor secundario)
He buscado y todo lo que encuentro se relaciona con simulando una pulsación de tecla.
(Si esto se puede hacer en bash
eso está bien, pero no sé suficientes scripts de shell para siquiera comenzar ...)
ACTUALIZAR
Residencia en esta consejo, escribí el script de shell a continuación, que funciona muy bien, pero solo si lo ejecuto dentro de la terminal. ¿Hay alguna forma de ejecutar este script 'invisiblemente', por ejemplo, desde Spotlight o mediante AppleScript? do shell script
, y que responda hasta que salga?
#!/bin/bash
if [ -t 0 ]; then stty -echo -icanon -icrnl time 0 min 0; fi
keypress=''
while [ "$k" != "^[" ]; do
case "$k" in
1) ddcctl -d 1 -b 10;;
2) ddcctl -d 1 -b 20;;
3) ddcctl -d 1 -b 30;;
# ...etc...
0) ddcctl -d 1 -b 100;;
esac
k="`cat -v`"
done
if [ -t 0 ]; then stty sane; fi
exit 0
applescript
bash
Ze'ev
fuente
fuente
Respuestas:
La forma más fácil de lograr esto es, probablemente, usar Automator para crear un Servicio. El servicio debería ejecutar un script de bash similar a este:
Luego, en Preferencias del sistema en Teclado, agregue un método abreviado de teclado para activar su Servicio.
De esta manera su acceso directo funcionará en todos los programas.
Probablemente deba hacer esto para cada uno de los 10 atajos de teclado que necesita.
fuente
Acabo de encontrar una solución increíble. Puedes cambiar el brillo con
-b [+-]number
. Por ejemplo:#!/bin/bash ddcctl -d 1 -b +10
Referencia: Cómo obtener el control de volumen del sistema en el monitor Dell .
fuente