Les touches F3 & F4, servant à régler le rétro-éclairage du clavier, ne fonctionnent pas.
Si je fais Fn+F3 ou Fn+F4, le logo du rétro-éclairage s’affiche au centre de l’écran, mais le niveau du rétro-éclairage ne change pas.
J’ai cherché un peu, et j’ai changé la ligne GRUB_CMDLINE_LINUX_DEFAULT="quiet" du fichier /etc/default/grub en GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=" : cela a eu pour effet de désactiver le réglage de la luminosité de l’écran, et n’a pas arrangé mon problème.
Comment faire pour contrôler cette luminosité ?
Pour info :
$ uname -a
Linux giljourdan 4.18.0-2-amd64 #1 SMP Debian 4.18.10-2 (2018-10-07) x86_64 GNU/Linux
J’ai essayé acpi_osi=0 et acpi_osi=1 : cela ne change rien. Mais les autres touches de fonction (son et luminosité de l’écran) fonctionnent toujours : c’est déjà ça.
Alors des recherches indiquent que l’on peut utiliser Windows ou Linux comme paramètre.
Les résultats ne sont pas toujours ceux escomptés ou alors complets.
Et ça parle un peu d’erreurs ACPI subies.
Je laisse la suite à d’autres qui ont connu ce type de réglage.
acpi_osi= [HW,ACPI] Modify list of supported OS interface strings
acpi_osi="string1" # add string1
acpi_osi="!string2" # remove string2
acpi_osi=!* # remove all strings
acpi_osi=! # disable all built-in OS vendor
strings
acpi_osi=!! # enable all built-in OS vendor
strings
acpi_osi= # disable all strings
Du coup, je me demande : dois-je installer acpid pour tenter de faire fonctionner le contrôleur du rétro-éclairage du clavier ? Ou chercher une autre solution, puisque l’expérience prouve que cela peut fonctionner sansacpid ?
Ça me plaît beaucoup. Le fichier /etc/acpi/asus-keyboard-backlight.sh contient ceci :
$ cat /etc/acpi/asus-keyboard-backlight.sh
#!/bin/sh
# this directory is a symlink on my machine:
KEYS_DIR=/sys/class/leds/asus\:\:kbd_backlight
test -d $KEYS_DIR || exit 0
MIN=0
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)
if [ "$1" = down ]; then
VAL=$((VAL-1))
else
VAL=$((VAL+1))
fi
if [ "$VAL" -lt $MIN ]; then
VAL=$MIN
elif [ "$VAL" -gt $MAX ]; then
VAL=$MAX
fi
echo $VAL > $KEYS_DIR/brightness
J’ai bien un répertoire /sys/class/leds/ :
$ ls /sys/class/leds/
asus::kbd_backlight asus::lightbar asus-wireless::airplane input0::capslock input0::numlock input0::scrolllock phy0-led
Si je tape echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness, le rétroéclairage du clavier est coupé ! Et je le réactive avec echo 1 | etc., ou echo 2, ou echo 3 selon la luminosité désirée.
Je n’ai plus qu’à faire correspondre ces commandes aux touches F3 et F4 !
Le fichier /etc/acpi/events/asus-keyboard-backlight-down contient ceci :
$ cat /etc/acpi/events/asus-keyboard-backlight-down
# /etc/acpi/events/asus-keyboard-backlight-down
# This is called when the user presses the key brightness
# down button and calls /etc/acpi/asus-keyboard-backlight.sh for
# further processing.
event=hotkey ATKD 000000c5
action=/etc/acpi/asus-keyboard-backlight.sh down
Je teste donc la touche F3 à l’aide de la commande acpi_listen :
$ acpi_listen
0B3CBB35-E3C2-45� 000000ff 00000000
Problème : la touche F4 renvoie exactement la même valeur, à savoir 0B3CBB35-E3C2-45� 000000ff 00000000 (et le caractère � ne me dit rien de bon). Et cette valeur ne correspond pas à celle requise par le script, à savoir hotkey ATKD 000000c5. Comment modifier cela ?
J’ai ensuite lancé xev pour voir ce que renvoyaient ces touches, et je n’ai rien trouvé de correspondant : nulle valeur 115, nulle key volumeup. Flop.
Mais ce qui m’étonne, c’est que presser les touches Fn + F3 genère l’affichage à l’écran du pictogramme correspondant au réglage de luminosité du clavier : cela prouve bien que le système détecte un événement quelconque, non ?
Les évènements des touches multimédia spécifiques à ma machine
sont détectés et gérés par asus-nb-wmi
ACPI n’est pas non plus installé sur ma machine ASUS G53SW
et les raccourcis clavier Fn+F3 et Fn+F3
permettent de modifier la luminosité du rétro-éclairage du clavier de ma machine
xev détecte les événements clavier au niveau du serveur X (serveur graphique)
Mais sur ta machine, les touches qui sont utilisées en combinaison avec la touche Fn
sont des touches spécifiques à ta machine ASUS qui sont gérées à un niveau matériel
inaccessible à un quelconque système d’exploitation qui chercherais à accéder au clavier
en utilisant la méthode standardisée
Il devrait être possible d’accéder au rétro-éclairage du clavier depuis le compte rooten envoyant une valeur numérique vers les liens qui ont été associés à ce matériel.
Sur mon PC portable ASUS G53SW la valeur maximum qu’il est possible d’envoyer
est retournée par la ligne de commande suivante :
C’est la combinaison de la touche Fn et des touches F3 ou F4 qui donne ce résultat.
Et oui, je peux m’en sortir avec # echo 3 > /sys/class/leds/asus::kbd_backlight/brightness
; mais un raccourci clavier serait quand même plus pratique.
Pis ça m’intéresserait de comprendre ce qui se passe.
en lançant plusieurs fois de suite, depuis le compte root
la ligne de commande suivante,
ça devrait faire augmenter la luminosité du rétro-éclairage
/etc/acpi/asus-keyboard-backlight.sh
et la ligne de commande suivante devrait en faire diminuer la luminosité
/etc/acpi/asus-keyboard-backlight.sh down
Il faudrait voir ce que retourne
la ligne de commande suivante
acpi_listen | hd
quand on appuie ensuite sur Fn+F3
puis sur Fn+F4
Je ne sais pas comment rechercher ce qui déclenche l’affichage
du logo du rétro-éclairage (cité dans ton premier message de ce fil de discussion)
qui s’affiche au centre de l’écran,
mais affiche-t-il un curseur correspondant à l’augmentation ou la diminution d’une valeur ?
ce sont effectivement exactement les mêmes retours.
On aura juste appris que le caractère qui ne pouvait pas être représenté a pour code ASCII 255 <=> ff en hexadecimal.
Le problème reste le même : que mettre dans le champ event qui pourrait correspondre à ce que la commande acpi_listen a retourné ?
Car, même si les deux combinaisons de touches retournent la même chose,
si on pouvait faire en sorte de déclencher le lancement d’un script,
il suffirait de faire faire à ce script une boucle de d’incrémentation suivie d’une décrémentation.
Oui, une boucle serait très bien : il n’y a que quatre niveaux d’illumination, ça suffit amplement.
Mais comment faire ?
Par ailleurs, j’ai un peu cherché, mais je ne vois pas comment signaler ce dysfonctionnement aux développeurs de asus-nb-wmi. C’est curieux : je croyais me souvenir que github permettait justement cela.
Bon, ben… croyez-moi si vous voulez, mais je viens de ré-essayer les boutons du clavier permettant de régler la luminosité du clavier et ILS FONCTIONNENT !
Je ne comprends pas pourquoi. Mais plus besoin de echo 0 > /sys/class/leds/asus::kbd_backlight/brightness !