Depuis que j'ai lancé Ubuntu 16.04 à double démarrage sur ma Surface Pro 3, le voyant DEL de verrouillage des majuscules de mon clavier ne fonctionnait plus. J'ai décidé d'essayer de faire quelque chose à ce sujet récemment. Quand je tape la commande
echo 1 | Sudo tee /sys/class/leds/input45\:\:capslock/brightness
La lumière s'allume, elle est donc au moins accessible. Je ne sais pas quoi faire pour que la lumière s’allume ou s’éteigne en fonction de l’état de verrouillage des majuscules. Toute aide serait grandement appréciée.
Apparemment, le led n'est pas défini automatiquement. Le patch d’arrière plan ci-dessous s’occupe de ça
#!/usr/bin/env python3
import subprocess
import time
led = "/sys/class/leds/input45::capslock/brightness"
while True:
time.sleep(1)
ledstate = open(led).read().strip() == "1"
capstate = "Caps Lock: on" in \
subprocess.check_output(["xset", "-q"]).decode("utf-8")
if ledstate != capstate:
newled = "0" if capstate == False else "1"
open(led, "wt").write(newled)
fix_led
(sans extension) dans /usr/local/bin
et rendez-le exécutable./sys/class/leds/input45::capslock/brightness
, vous devez ajouter le script au fichier sudoers, comme expliqué par exemple. ici .Tester le script en exécutant
Sudo /usr/local/bin/fix_led
dans un terminal, testez votre Caps Lock clé.
Ajoutez maintenant le script à vos applications de démarrage: Dash> Applications de démarrage> Ajouter. Ajoutez la commande:
/bin/bash -c "sleep 10 && Sudo /usr/local/bin/fix_led"
C'est ça. Au prochain redémarrage (connexion), cela devrait fonctionner.
Bien entendu, le correctif devrait fonctionner dans toutes les situations où le voyant ne fonctionne pas. l'emplacement exact du fichier capslock/brightness
peut varier. Définissez, si nécessaire, l'emplacement dans la ligne:
led = "/sys/class/leds/input45::capslock/brightness"
dans la tête du script (n'échappez pas le :
dans python
). J'ai testé le script en le plaçant dans le mauvais sens :) (conduit quand Caps Lock était allumé, quand il était éteint).
Informations sur le courant Caps Lock state peut être récupéré par la commande:
xset -q
Une fois par seconde, le script vérifie si Caps Lock: on
est dans la sortie. Le script vérifie également si l'état actuel correspond à l'état du voyant (1 ou 0), tel qu'il est lu dans le fichier capslock/brightness
.
Si ces deux ne correspondent pas, le script définit l’état de la led selon le real Caps Lock Etat.