Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

xbacklight(luminosité de l'écran) et xbindkeys sur un Samsung NC10

1 réponse
Avatar
Benoit B
Bonjour =E0 tous,

Pour g=E9rer la luminosit=E9 de l'=E9cran de mon notebook, j'ai ajout=E9 ce=
ci
dans .xbindkeysrc :

#Augmenter la luminosit=E9
"xbacklight -inc 15"
XF86MonBrightnessUp

# Diminuer la luminosit=E9
"xbacklight -dec 15"
XF86MonBrightnessDown

Et quand essaie le raccourci clavier Fn+fl=E8che bas ou Fn+fl=E8che haut,
l'=E9cran se met =E0 clignoter et le processus se reproduit de mani=E8re
anarchique, alors que je n'ai actionn=E9 qu'un fois la combinaison de
touche.
$ ps
3689 ? 00:00:00 sh
3690 ? 00:00:00 xbacklight
3692 ? 00:00:00 sh
3694 ? 00:00:00 sh
3695 ? 00:00:00 xbacklight
3696 ? 00:00:00 xbacklight
3702 ? 00:00:00 sh
3703 ? 00:00:00 xbacklight
3705 ? 00:00:00 sh
3707 ? 00:00:00 sh
3708 ? 00:00:00 xbacklight
3710 ? 00:00:00 xbacklight
3711 ? 00:00:00 sh
3712 ? 00:00:00 xbacklight
3714 ? 00:00:00 sh
3715 ? 00:00:00 xbacklight
3720 ? 00:00:00 sh
3722 ? 00:00:00 sh
3723 ? 00:00:00 xbacklight
3725 ? 00:00:00 xbacklight
3726 ? 00:00:00 sh
3727 ? 00:00:00 xbacklight
3729 ? 00:00:00 sh
3730 ? 00:00:00 xbacklight
3738 ? 00:00:00 sh
3739 ? 00:00:00 xbacklight

Pour m'assurer que j'actionne une seule fois la combinaison, j'ai mis
xterm =E0 la place.
#Augmenter la luminosit=E9
"xterm &"
XF86MonBrightnessUp

Il n'y a bien qu'une seule fen=EAtre de xterm qui s'affiche.

Puis j'ai r=E9essay=E9 avec ou sans &
#Augmenter la luminosit=E9
"xbacklight -inc 15 &"
XF86MonBrightnessUp

M=EAme probl=E8me... (Sauf qu'il n'y a peut-=EAtre pas de sh pour chaque
processus xbacklight).

Qui peut m'aider r=E9soudre ce probl=E8me de multiplication de processus
avec xbacklight ?

Mon objectif est d'utiliser openBox(config l=E9g=E8re et ind=E9pendante d'u=
n
gestionnaire de bureau).

Merci d'avance.

--=20
Beno=EEt


Ps.
Je pourrais utiliser l'acpi

echo 5 > /sys/class/backlight/acpi_video0/brightness

Mais c'est + compliqu=E9 :
a) il faut voir combien il y a dans
/sys/class/backlight/acpi_video0/actual_brightness

b) augmenter (fl=E8che haut) ou diminuer(fl=E8che bas) de 1 et ne pas d=E9p=
asser 0 ou
/sys/class/backlight/acpi_video0/max_brightness

c) le tout en root donc utiliser un bit (je ne sais plus quoi) sur mon
script ou l'ajouter dans
/etc/sudoers

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/CAK_7-eTnMqCUYdJWrnp2YbbQnkJ=0VNSXVHOcKcnioX1cBq0ZA@mail.gmail.com

1 réponse

Avatar
xakz
--0OAP2g/MAC+5xKAE
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Thu, Feb 23, 2012 at 12:22:47PM +0100, Benoit B wrote:
Bonjour à tous,

Pour gérer la luminosité de l'écran de mon notebook, j'ai ajouté ceci
dans .xbindkeysrc :

#Augmenter la luminosité
"xbacklight -inc 15"
XF86MonBrightnessUp

# Diminuer la luminosité
"xbacklight -dec 15"
XF86MonBrightnessDown



[..]

J'ai un NC110, xbackilight ne marchait pas du tout pour moi donc j'ai
fait un qques ligne de code pour changer la valeur dans /sys. J'ai
fait un programme en C pcq on ne peut pas mettre un script suid, mais
une solution via sudo aurait ete aussi bonne.

Ci joint le bout de code C, a modifier selon le besoin (ou a jeter si
ca ne plait pas).


--
xakz

--0OAP2g/MAC+5xKAE
Content-Type: text/x-csrc; charset=us-ascii
Content-Disposition: attachment; filename="setbacklight.c"


#include <stdio.h>
#include <stdlib.h>

#define BRIGHTNESS_FILE "/sys/class/backlight/intel_backlight/brightness"
#define PRINT_OLD 1
#define BRIGHTNESS_MAX 12000

void mod_brightness(int delta);
void set_brightness(int bright);
int get_brightness();


int main(int ac, char *av[])
{
int bright = 0;
int is_delta = 0;

if (ac < 2)
{
fprintf(stderr, "%s [+|-]VALUEn", av[0]);
exit(EXIT_FAILURE);
}

bright = atoi(av[1]);
if (av[1][0] == '+' || bright < 0)
is_delta = 1;

if (is_delta)
{
if (bright > 0)
fprintf(stderr, "Increasing brightness by %dn", bright);
else if (bright < 0)
fprintf(stderr, "Decreasing brightness by %dn", -bright);
mod_brightness(bright);
}
else
{
fprintf(stderr, "Setting brightness to %dn", bright);
set_brightness(bright);
}

return 0;
}

void mod_brightness(int delta)
{
int bright;

bright = get_brightness();
#ifdef PRINT_OLD
fprintf(stderr, "Old brightness was %dn", bright);
#endif
bright += delta;
set_brightness(bright);
}

void set_brightness(int bright)
{
FILE *fd;

if (bright < 0)
bright = 0;
else if (bright > BRIGHTNESS_MAX)
bright = BRIGHTNESS_MAX;
fd = fopen(BRIGHTNESS_FILE, "w");
if (!fd)
{
perror("Unable to open " BRIGHTNESS_FILE);
exit(EXIT_FAILURE);
}
fprintf(fd, "%dn", bright);
if (ferror(fd))
{
perror("Unable to write " BRIGHTNESS_FILE);
exit(EXIT_FAILURE);
}
fclose(fd);
}

int get_brightness()
{
FILE *fd;
char buffer[64];
size_t r;

fd = fopen(BRIGHTNESS_FILE, "r");
if (!fd)
{
perror("Unable to open " BRIGHTNESS_FILE);
exit(EXIT_FAILURE);
}
r = fread(buffer, 1, 63, fd);
if (ferror(fd) || !r)
{
perror("Unable to read " BRIGHTNESS_FILE);
exit(EXIT_FAILURE);
}
fclose(fd);
buffer[r] = 0;
return atoi(buffer);
}




--0OAP2g/MAC+5xKAE--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/