¿Cómo puedo usar la tecla de locking de desplazamiento para alternar la luz de background en mi keyboard?

Recientemente compré un keyboard retroiluminado que requiere Bloq Despl para alternar las luces. Rápidamente llegué a algunos problemas que se pueden solucionar con algunos commands bash simples: mira este hilo.

En resumen, el command que encontré que solucionó este problema fue:

xset led named "Scroll Lock" 

Para habilitar Bloq Despl (y encender las luces), y

 xset -led named "Scroll Lock" 

Para desactivar Bloq Despl y apagar las luces.

¿Qué opciones están disponibles si deseo emitir el command anterior si se recibe un evento de tecla Bloq Despl y se desactiva la function (Bloq Despl), y la última en el otro caso? Es decir,

 if(ScrollLockIsEnabled) systemCommand('xset -led named "Scroll Lock"); else systemCommand('xset led named "Scroll Lock"`); 

O similar.

Estaba pensando, al less, tal vez haciendo algún tipo de script Bash que conservara una variable (si fuera posible) que me permitiera conservar el último estado de Bloq Despl. Podría ejecutar este script usando xbindkeys (que emite commands basados ​​en events key ingresados ​​por el usuario).

Solutions Collecting From Web of "¿Cómo puedo usar la tecla de locking de desplazamiento para alternar la luz de background en mi keyboard?"

Encontrado esto después de search un problema similar. Como tiene un año, podría responder de todos modos.

Al igual que en la pregunta si usa xset led named "Scroll Lock" , habilitará leds y xset -led named "Scroll Lock" deshabilitará los leds del keyboard. Si examina el xset --help , menciona que xset q imprime la información de estado actual.

Aquí hay una muestra truncada de la stdout en la terminal:

 Keyboard Control: auto repeat: on key click percent: 0 LED mask: 00000002 XKB indicators: 00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off 03: Compose: off 04: Kana: off 05: Sleep: off 06: Suspend: off 07: Mute: off 08: Misc: off 09: Mail: off 10: Charging: off 11: Shift Lock: off 12: Group 2: off 13: Mouse Keys: off 

La cadena Scroll lock: off solo estará presente en la salida si y solo si Scroll Lock está desactivado, entonces podemos usar grep para verificar esta cadena. xset q | grep "Scroll Lock: off" xset q | grep "Scroll Lock: off" funciona bien para nuestros propósitos. Luego, en un script de shell podemos verificar si la cadena nula se ve cuando está activada.

 #!/bin/sh result=$(xset q | grep "Scroll Lock: off") if [ -z "$result" ]; then # Scroll Lock must be on echo "Off" xset -led named "Scroll Lock" else echo "On" xset led named "Scroll Lock" fi 

Luego, si lo desea, simplemente use su administrador de windows o la configuration del entorno de escritorio para ejecutar este script cuando presione el locking de desplazamiento.

simplemente usando bash, U puede hacer esto, yo uso esto en un keyboard retroiluminado con locking de desplazamiento. debe ejecutarse como root

 #!/usr/bin/env bash if [[ $EUID -ne 0 ]]; then echo "this program requires root user" 2>&1 exit 1 fi dir1=$(find /sys/devices/ -name brightness | grep scrolllock) while : do var1=`cat $dir1` if [ $var1 == 0 ] ; then echo 1 > $dir1 fi sleep 5 done 

Yo uso esto en el crontab raíz

 @reboot sh ~/sh/backlight.sh &