Page 1 sur 2

[Touches Fn] - Samsung N210.

Publié : sam. 24 août 2013, 20:41
par Origyne
Salut !

J'ai installé Archlinux, avec LXDE, et j'ai un problème avec certaines touches Fn, dont les touches de luminosité (Fn + Up/Down).

Je ne parviens pas à les faire fonctionner. J'ai suivi le tutoriel anglais https://wiki.archlinux.org/index.php/Sa ... #Backlight mais le script ne fonctionne quand même pas.

De même, les touches de son ne fonctionnent pas non plus. Peut-être dois-je passer par lxde-rc.xml ?

Bref, je recherche un peu d'aide de ce côté-là ! De quoi ai-je besoin ? :)

Re: [Touches Fn] - Samsung N210.

Publié : sam. 24 août 2013, 20:44
par MrMen
Les fichiers dans /proc qui traitent de ça sont-ils présents sur ton système ?

Re: [Touches Fn] - Samsung N210.

Publié : sam. 24 août 2013, 20:55
par Origyne
Salut, merci ! :)

Quels fichiers sont censés traiter de la luminosité ?

J'ai réglé le problème du son. Il s'agissait juste d'indiquer les raccourcis dans lxde-rc.xml (j'avais déjà eu à faire ça sous Debian et Openbox).

Code : Tout sélectionner

<keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <name>Son plus fort</name>
        <command>amixer -q set Master 5+ unmute</command>
      </action>
    </keybind>
(XF86AudioLowerVolume et 5- pour baisser le son)

T'es en bépo depuis longtemps ? :)

Re: [Touches Fn] - Samsung N210.

Publié : sam. 24 août 2013, 23:37
par MrMen
Bon désolé je me suis un peu planté (j'ai confondu avec /sys) j'avais juste survolé le script.
Après relecture, il faut vérifier avec lspci qui correspond à 00:02.0 :

Code : Tout sélectionner

lspci | grep 00:02.0
Ensuite si ça semble correct (genre ta carte graphique qui correspond), copie le script dans /tmp par exemple et lance le en root.
Je dis peut-être un connerie mais je pense que ce script doit être lancé en root pour utiliser setpci.

Pour le bépo, oui ça fait un petit moment maintenant 3 ans je crois à peu près. Tu l'utilises aussi ?

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 09:27
par Origyne
C'est bien ma carte graphique qui est identifiée par le périphérique 00.02.0.
D'ailleurs, je me sers de cette commande pour changer la luminosité :

Code : Tout sélectionner

setpci -s 00:02.0 f4.b=xx
(Je remplace bien sûr xx par des valeurs entre 00 et ff)

Cependant, après avoir copié/collé le script (je l'ai mis dans /usr/local/bin/backlight comme conseillé sur le tuto), l'avoir rendu exécutable avec un chmod +x et l'avoir lancé, j'obtiens cette réponse mais aucun résultat :

Code : Tout sélectionner

usage: ./backlight {up|down|set <val>|get|toggle}
Je me demande donc s'il reconnaît ma touche Fn...En même temps, je ne vois pas où changer ça, dans le script.

Pour le bépo, effectivement, je l'utilise aussi ! Depuis moins longtemps que toi (à peu près 8 mois, je pense ?) et j'ai encore un peu de mal à m'y faire. Je n'ai pas rattrapé ma vitesse de frappe en azerty (je dépasse péniblement les 80 mots par minute en bépo), je n'ai pas de clavier Typematrix ou d'autocollants et j'ai encore des progrès à faire sur l'utilisation de certaines touches (par exemple, je n'utilise jamais maj-droite...:/)
Pour toi, j'imagine que tout roule ?

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 10:54
par MrMen
Bon on est pas mal du tout alors.
Si tu lances le script qui est placé dans /usr/local/bin à la main tu as ce retour ? Tu fais ça avec quel utilisateur ?

Ensuite pour tes touches sont-elles bien reconnues ? Tu peux vérifier avec xev en console et tu appuies sur la combinaison qui va bien. Dans tes raccourcis clavier tu as mis quoi pour la luminosité ?

Ah ouais tu tournes déjà à 80 mots minutes ! Je sais même pas si je vais aussi vite. Tu me fais penser que maj droite c'est un peu inconnue pour moi… mais bon je m'en satisfait. Pour les claviers, j'ai eu un Typematrix c'est pas mal mais je suis passé sur des claviers mécaniques et depuis je veux plus les quitter ! Les autocollants je déconseille ça tente de regarder et si tu as besoin de repasser sur du qwerty ben c'est pas easy du tout. :lol:

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 11:31
par Origyne
Je n'ai attribué aucun raccourci clavier, en fait, et je lance le script en root.

C'est pour cela que je n'ai pas attribué de raccourci clavier, car mon lxde-rc.xml appartient à un user "normal".

Code : Tout sélectionner

KeyRelease event, serial 48, synthetic NO, window 0x1800001,
    root 0x7c, subw 0x0, time 8112530, (171,-17), root:(173,377),
    state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
La touche est bien reconnue, comme tu peux le constater. :)

Pour le bépo, j'ai toujours tapé assez vite, alors j'imagine que ça doit aider ! 
J'ai appris avec un clavier normal que je bascule en bépo avec setxkbmap, ça ne m'a pas trop gêné, sauf peut-être un peu au début pour taper certains caractères.^^

Ce site est pratique pour "s'améliorer". :)
http://tazzon.free.fr/dactylotest/

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 13:17
par MrMen
Vu qu'il y a besoin de root pour lancer setpci, tu peux modifier /etc/sudoers avec visudo pour ajouter la commande setpci à tonuser ALL=(ALL) NOPASSWD: /usr/bin/setpci

Après si tu peux lancer le script sans root, c'est gagné je pense.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 13:49
par Origyne
Je récapitule :

> Je crée le script exécutable par mon user.
> J'ajoute, en root, mon user comme capable d'utiliser setpci dans /etc/sudoers
> J'ajoute mon raccourci clavier dans mon lxde-rc.xml

Seulement, qu'est-ce que je suis censé mettre comme <command> dans mon lxde-rc.xml ? Le chemin direct ne fonctionne pas. Je dois le mettre dans /usr/bin/ ?

De plus, en ajoutant setpci dans mon /etc/sudoers, j'obtiens ceci quand j'essaie :

pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config

Hum, je fouille !

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 14:29
par Origyne
C'est bon, j'ai donné les droits d'exécution sur le fichier susnommé, et la commande fonctionne. En revanche, je ne sais pas quoi mettre dans mon lxde-rc.xml dans <command>, je me renseigne aussi.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 14:33
par MrMen
> Je crée le script exécutable par mon user.
Oui tu le mets dans /usr/local/bin, puis chmod +x avec le bon shebang : #!/bin/bash

> J'ajoute, en root, mon user comme capable d'utiliser setpci dans /etc/sudoers
Oui en utilisant visudo, je pense que la ligne que je t'ai donné est bonne mais à vérifier quand même

> J'ajoute mon raccourci clavier dans mon lxde-rc.xml
Oui et tu mets pour commande soit :
- /usr/local/bin/ton-script.sh
- bash /usr/local/bin/ton-script.sh
De plus, en ajoutant setpci dans mon /etc/sudoers, j'obtiens ceci quand j'essaie :

pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
Tu as bien lancé la commande avec sudo ?

Edit : je laisse quand même le tout même si j'ai vu ton message entre temps.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 14:50
par Origyne
Hum, de toute façon, j'ai un autre problème.
Je ne lance pas la commande avec sudo (il n'est pas installé de toute façon), mais celle-ci fonctionne simplement jusqu'au prochain redémarrage. Bon, je ne redémarre pas souvent ce PC, mais voilà.

Sinon, ça ne fonctionne toujours pas, je ne comprends pas vraiment pourquoi.

La commande fonctionne en user normal (après que je lui aie donnée les droits sur le fichier config, après chaque redémarrage), les touches sont reconnues, et j'appelle bien le bon script dans mon lxde-rc.xml, du coup, je ne comprends pas.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 15:12
par MrMen
Comment tu le lances ton script alors (sans sudo) ? Pas moyen de l'installer (c'est utile des fois).

Les droits du fichiers ont-ils changé entre les deux démarrage ?

Ton raccourcis est bon ? Si tu mets autre chose dans la commande ça marche (genre "firefox") ?

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 19:01
par Origyne
Mon script a besoin d'être lancé ? Je ne comprends pas...?
Je m'explique : la combinaison des touches devrait "lancer le script" (ça fonctionne, par exemple, avec Firefox) et donc faire varier la luminosité, mais ça ne fait rien.

En fait, le problème vient des droits, comme tu le soulignes, je pense.

Code : Tout sélectionner

$ ls -l /usr/local/bin/backlight.sh 
-rwxr-xr-x 1 root root 1663 25 août  14:42 /usr/local/bin/backlight.sh
Sinon, sans sudo, j'ai essayé de créer et placer le script avec l'utilisateur, de le rendre exécutable, mais ça n'a pas changé.

Et à chaque redémarrage, le fichier config de /sys/bus/devices/0000:00:02.0/config n'est plus accessible.
Quels droits dois-je lui mettre ?


...mais hé, c'est chown que je devrais utiliser pour backlight.sh, non ? Je devrais changer le propriétaire du fichier peut-être ?

Par contre, je ne vois pas pour le fichier config...

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 20:50
par MrMen
Je pense vraiment que tu as besoin de sudo pour que ça marche…
Mon script a besoin d'être lancé ? Je ne comprends pas...?
Quand tu le lances dans un terminal, tu écris quoi ? À mon avis setpci doit avoir les droits root, donc avec ton user ça me parrait bizarre que ça passe.

Ce que je ferais :
1- installer sudo
2- modifier le fichier sudoers
3- mettre en raccourcis "sudo path/vers/le/script"

Et à chaque redémarrage, le fichier config de /sys/bus/devices/0000:00:02.0/config n'est plus accessible.
[/quote]
Pourquoi tu as besoin de ce fichier ? Dans ce script je ne vois pas de fichier config.

Code : Tout sélectionner

#!/bin/bash
# increase/decrease/set/get the backlight brightness (range 0-255)
#
 
# PCI device on which to operate
DEVICE=00:02.0

# Amount to raise/lower the backlight when called with "up" or "down"
AMOUNT=8

# Minimum backlight value reachable via "down"
MIN=1

# Default backlight level when toggling on
DEFAULT=64
 
#get current brightness in hex and convert to decimal
var1=$(setpci -s $DEVICE F4.B)
var1d=$((0x$var1))
case "$1" in
       up)
               # Calculate new brightness
               var2=$(echo "ibase=10; obase=16; a=($var1d+$AMOUNT);if (a<255) print a else print 255" | bc)
               echo "$0: increasing brightness from 0x$var1 to 0x$var2"
               setpci -s $DEVICE F4.B=$var2
       ;;
       down)
               #calculate new brightness
               var2=$(echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc)
               echo "$0: decreasing brightness from 0x$var1 to 0x$var2"
               setpci -s $DEVICE F4.B=$var2
       ;;
       set)
               #n.b. this does allow "set 0" i.e. backlight off
               echo "$0: setting brightness to 0x$2"
               setpci -s $DEVICE F4.B=$2
       ;;
       get)
               echo "$0: current brightness is 0x$var1"
       ;;
       toggle)
               if [ $var1d -eq 0 ] ; then
                       echo "toggling up"
                       setpci -s $DEVICE F4.B=$DEFAULT
               else
                       echo "toggling down"
                       setpci -s $DEVICE F4.B=0
               fi
       ;;
       *)
               echo "usage: $0 {up|down|set <val>|get|toggle}"
       ;;
esac
exit 0
Je pense qu'avec les étapes ci-dessus tout va aller.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 21:15
par Origyne
Je t'assure que je n'ai pas sudo installé, et qu'avec la modification que tu m'as proposée dans /etc/sudoers, je n'ai besoin de rien pour lancer la commande : setpci -s ...

Ceci dit, tu as peut-être raison, peut-être que sudo corrigera tout. J'essaie.

Pour le fichier config, c'est un fichier qui est appelé par la commande setpci -s...

Quand je n'ouvre pas les droits de ce fichier (à chaque redémarrage), la commande ne fonctionne pas. C'est peut-être aussi pour cela qu'il faut sudo...

Bref, j'essaie et te tiens au courant ! :)

_________________________________________

Après l'installation de sudo, la commande setpci fonctionne bien ainsi après un redémarrage : sudo setpci -s...

En revanche, pour le script, toujours pas.

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 21:23
par MrMen
Je viens de jeter un oeil à setpci :
DESCRIPTION
setpci is a utility for querying and configuring PCI devices.

All numbers are entered in hexadecimal notation.

Root privileges are necessary for almost all operations, excluding reads of the standard header of the configuration space on some operating sys‐
tems. Please see lspci(8) for details on access rights.
Donc oui il semble que ce soit nécessaire, par contre je ne peux pas te dire pourquoi ça fonctionne sans… et le fichier sudoers c'est la config de sudo normalement. Il était vide avant ?

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 21:35
par Origyne
Pour sudo, je pense qu'il était installé, en fait...C'est étrange, je ne l'ai pas installé ! Et sur ma précédente install' d'Arch, j'ai dû le faire...Bref, excuse-moi pour l'erreur, j'aurais dû vérifier mais je suis sûr de ne pas l'avoir installé "consciemment".

Cependant, je lançais quand même la commande sans sudo (puisque j'étais sûr de ne pas l'avoir).

Voici la partie du lxde-rc.xml qui nous intéresse :

Code : Tout sélectionner

<keybind key="XF86MonBrightnessUp">
<action name="Execute">
<name> Augmenter la luminosité</name>
<command>sudo /usr/local/bin/backlight.sh</command>
</action>
</keybind>

<keybind key="XF86MonBrightnessDown">
<action name="Execute">
<name> Baisser la luminosité</name>
<command>sudo /usr/local/bin/backlight.sh</command>
</action>
</keybind>
Et mes droits sur le script :
-rwxr-xr-x 1 root root 1663 25 août 21:17 backlight.sh

J'ai aussi ajouté :

user ALL=(ALL) ALL

Dans /etc/sudoers, AVANT user ALL=(ALL) NOPASSWD: /usr/bin/setpci

C'est correct ?

EDIT : Petit souci : mes touches de luminosité ne sont plus reconnues par xev.
Si ce n'est pas étrange, ça...Je n'ai rien fait de particulier au niveau matériel. :/

Bon, du coup, j'ai testé en changeant la commande appelée par les touches de son (et lui faire appeler le script, pour essayer) : ça ne fonctionne pas non plus. (mais je ne sais pas à quoi je m'attendais, puisque ça n'appelle pas les bonnes touches...arf, je fatigue)

Re: [Touches Fn] - Samsung N210.

Publié : dim. 25 août 2013, 22:59
par MrMen
Il faut que tu donnes un argument à mon avis.

Re: [Touches Fn] - Samsung N210.

Publié : lun. 26 août 2013, 00:59
par Origyne
C'est-à-dire, un argument ? 
C'est un raccourci clavier, comment je suis censé lui passer un argument ? :/