web-dev-qa-db-fra.com

Plusieurs clés d'événement ACPI ont le même ID

Ubuntu 14.04 LTS

Noyau: 3.19.0-37-générique

INTRO

Quand je commence acpi_listen sur mon système, je peux tester plusieurs LaptopSpecialKeys. Les boutons de luminosité fonctionnent parfaitement bien par exemple:

video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

La fonction souhaitée fonctionne.

PROBLÈME

Si je teste d'autres clés, elles n'ont aucun événement acpi déclenché (acpi_listen ne fait rien) ou plusieurs clés sont mappées sur le même code comme les trois touches de volume:

button/volumeup VOLUP 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/mute MUTE 00000080 00000000 K

Le résultat du mappage des touches de volume sur le même code est que les actions d'augmentation, de diminution et de désactivation du volume se comportent toutes de manière très étrange. Par exemple. si j'appuie sur la touche de fonction d'augmentation du volume, l'événement d'augmentation du volume est déclenché de façon répétée à l'infini.

Et la chose la plus étrange de toutes:

QUESTION

Avez-vous une idée de la façon de gérer ces problèmes avec les événements acpi? Est-ce un problème du noyau, qui ne reconnaît pas les pilotes de notebook spécifiques? Ou existe-t-il des solutions au niveau de l'utilisateur qui pourraient réparer cette fonctionnalité défectueuse de LaptopSpecialKeys?

3
Jan

En fait, ils sont très reconnaissables, votre script recevra la ligne entière comme argument. Exemple:

button/volumeup VOLUP 00000080 00000000 K

Vous avez 5 arguments et vous êtes libre de les traiter.

Peut-être le moyen le plus simple:

event=button/*
action=/etc/acpi/yourscript.sh %e

Ensuite, dans votre script, utilisez le 3ème argument $3 qui sera soit VOLUP, VOLDN ou MUTE, plus quelques autres boutons (alimentation, ...).

Voir:

1
user.dz