• # Chercher du côté de `/etc/acpi/events/` ?

    Posté par (site web personnel) . En réponse au message Luminosité : Passer de 2% à 10% par appui.. Évalué à 3.

    La page suivante m'a bien aidé lorsque j'ai voulu contrôler la luminosité de l'écran de mon portable via les touches de fonctions :

    https://bbs.archlinux.org/viewtopic.php?id=134972 (en particulier le commentaire de cmorgenstern en #11)

    J'utilise une session Openbox installée par-dessus Ubuntu. En m'inspirant des conseils de cmorgenstern ci-dessus, j'ai réussi à ajouter deux fichiers dans /etc/acpi/events/ correspondants aux touches de fonction pour augmenter et diminuer la luminosité.

    Ces fichiers pointent chacun vers un script cible à exécuter lorsque la touche de fonction correspondante est pressée. Si tu arrives à régler la luminosité avec brightnessctl en ligne de commande avec le pas qui t'intéresse (+/- 10%), il est sans doute possible d'utiliser une commande similaire dans ces scripts cibles.

    Dans mon cas, mes scripts cibles écrivent directement dans le fichier système /sys/class/backlight/intel_backlight/brightness pour établir le niveau de luminosité (le fichier système à modifier dépend de ton ordinateur). A titre d'exemple, voici le script cible lancé lorsque je presse la touche de fonction pour diminuer la luminosité :

    #! /bin/bash
    # Fichier système dans lequel le niveau actuel de luminosité est écrit
    bl_device=/sys/class/backlight/intel_backlight/brightness
    # Fichier système contenant la valeur maximale autorisée dans le fichier précédent
    max_br=/sys/class/backlight/intel_backlight/max_brightness
    # Luminosité minimale (choix arbitraire pour éviter de se retrouver avec un écran noir)
    min_br=10
    # Facteur appliqué à la luminosité (ici une baisse de 15%)
    mult_factor=0.85
    # Lecture de la luminosité actuelle
    current_br=`cat $bl_device`
    # Lecture de la luminosité max
    max_br=`cat $max_br`
    # Calcul de la nouvelle luminosité à appliquer
    raw_new_br=`echo "$current_br * $mult_factor" | bc -l`
    # Arrondi de la valeur précédente
    rounded_new_br=`printf %.0f $raw_new_br`
    # Vérifier que la nouvelle valeur de luminosité est comprise entre min_br et max_br
    valid_new_br=$(( min_br > rounded_new_br ? min_br : rounded_new_br ))
    valid_new_br=$(( valid_new_br > max_br ? max_br : valid_new_br ))
    # Debugging si besoin
    #echo "Current brightness: $current_br"
    #echo "Min. brightness: $min_br"
    #echo "Max. brightness: $max_br"
    #echo "New brightness (raw): $raw_new_br"
    #echo "New brightness (rounded): $rounded_new_br"
    #echo "New brightness (valid): $valid_new_br"
    # Modification de la luminosité en écrivant la nouvelle valeur dans le fichier système
    echo $valid_new_br | sudo tee $bl_device

    J'espère que cela pourra t'être utile :)