ACPI, récupération des codes touche

Dans mon article précédent, traitant de la création d’un .deb, je parle du script que j’avais créé nommé Asus KBBL Control. Le but était de l’utiliser à travers les raccourcis clavier gérés par l’acpi. Pour savoir quel code correspond à une touche pressée (ou à une combinaison de touches) on utilise la commande suivante :

acpi_listen

Il ne faut pas utiliser la dernière partie du code retourné qui ne correspond pas au code de la touche. Cependant, on peut utiliser le reste pour identifier la touche lors de la création de son event.

Asus Keyboard Backlight Control et paquet .deb

Mon ordinateur portable est un Asus G73J. Il est muni d’un rétro-éclairage clavier des plus pratiques. Cependant, les raccourcis de contrôle au clavier ne sont pas fonctionnels sur la plupart des distributions Linux. J’ai donc créé un script qui me permet, à l’aide d’acpi, d’activer ces raccourcis et de contrôler l’intensité du rétro-éclairage et que j’ai nommé Asus KBBL Control (Asus KeyBoard BackLight Control). [EDIT] Il n’est actuellement pas disponible mais reviendra sous peu [/EDIT]

Pour l’installer et le désinstaller plus facilement, j’ai décidé de créer un paquet .deb. Après un peu de recherche, ceci n’est pas difficile et facilite grandement la tâche de maintient d’applications.

Pour ce faire, il suffit de créer un dossier (le nom importe peu). A l’intérieur de ce dossier, il faut créer un paquet nommé DEBIAN. A l’intérieur de ce dossier, on peut mettre plusieurs fichiers dont :

  • preinst : script exécuté avant l’installation
  • postinst : script exécuté après l’installation
  • prerm : script exécuté avant la suppression
  • postrm : script exécuté après la suppression
  • control : Détails du paquet

Un de ces fichiers est obligatoire cependant, c’est le fichier control. C’est à partir de lui que le paquet final est construit (notamment le nom). Pour plus de détail sur sa construction, il suffit de regarder la manpage :

man deb-control

Cette page étant largement détaillée, je n’entrerais pas dans les détails.

Le logiciel que l’on souhaite empaqueter se met à côté du dossier DEBIAN. On va le placer dans le dossier dans lequel il sera installé en considérant ce dossier comme la racine du disque dur. Ainsi, si mon programme doit être installé dans /etc/acpi, je vais créer à côté de DEBIAN un dossier etc dans lequel je créerais un dossier acpi et dans lequel enfin je mettrais mon programme à installer.

Une fois cette petite cuisine effectuée, il ne reste plus qu’à compiler le paquet. Pour cela, on se place un dossier au dessus du dossier qui contient DEBIAN et le logiciel et on tapera la commande :

dpkg-deb --build <NOM DU DOSSIER>

On a un magnifique fichier .deb qui se créé juste à côté de notre dossier source et qu’il ne restera plus qu’à installer avec un :

dpkg -i <NOM DU PAQUET>