Les touches spéciales ACER sous Mandriva Linux

Transcription

Les touches spéciales ACER sous Mandriva Linux
Les touches spéciales ACER sous Mandriva Linux (3)
Extrait du Le site de Beuz
http://www.beuselinck.fr/article148.html
Les touches spéciales ACER
sous Mandriva Linux (3)
- Linux -
Date de mise en ligne : dimanche 13 mai 2007
Description :
Dans cet article, nous allons programmer les touches multimédia de l'Acer Travelmate 2493. Dans une première partie, nous verrons la démarche de détection
utilisée ce qui permettra aux utilisateurs d'autres modèles d'ordinateur portable de l'adapter. Dans une seconde partie, nous associerons les commandes aux
touches ; Les plus pressés iront directement à la troisième partie où nous mettrons le résultat de nos recherches pour que ces touches soient actives à chaque
démarrage.
Le site de Beuz
Copyright © Le site de Beuz
Page 1/4
Les touches spéciales ACER sous Mandriva Linux (3)
Vous pensiez avoir terminé ? Et bien, non ! Car au prochain démarrage de votre ordinateur, tout sera oublié. Nous
allons donc maintenant automatiser tout ça.
Tout d'abord, il faut dire au noyau de charger le driver acerhk avec nos parametres. Cela se fait dans
/etc/modprobe.preload où l'on ajoute la ligne :
acerhk force_series=4650 poll=0
Les setkeycodes au lancement de linux
Nous allons créer un fichier dans le dossier /etc/rc.d/init.d qui se nommera acerhk. Voici son contenu :
#!/bin/sh
. /etc/rc.d/init.d/functions
gprintf "AcerHK : définition des Keycodes"
setkeycodes e077 101
setkeycodes e043 120
setkeycodes e073 122
setkeycodes e074 123
setkeycodes e025 129
setkeycodes e026 130
setkeycodes e027 131
setkeycodes e033 132
setkeycodes e034 027
passed;echo
La première ligne indique que nous sommes en présence d'un fichier batch, la seconde donne accès aux fonctions
gprintf et passed. gprintf va écrire le texte de notre choix tandis que success écrit le [ FAIT ] jaune.
Puis nous allons décider dans quelles conditions linux lancera ce fichier. Pour cela, nous mettons dans /etc/rc.d/rc5.d
un lien symbolique de cette manière :
ln -s /etc/rc.d/init.d/acerhk /etc/rc.d/rc5.d/S99acerhk
Explication :
ln -s crée un lien symbolique
/etc/rc.d/init.d/acerhk vers ce fichier-là
rc5.d parce que cela se fera en démarrage "graphique" (rc0 = à l'arrêt, rc1 en mode mono-utilisateur non
graphique, rc3 = multi-utilisateurs non graphique et rc6 = redémarrage)
S99 donne la priorité de lancement, à savoir "pas urgent, pas important, en dernier, vraiment mon linux tu fais ça
si tout va bien, hein !"
acerhk on donne un nom à notre lien symbolique
Du keycode au nom symbolique à chaque démarrage
de KDE
Voilà, désormais, les setkeycodes sont automatiques. Passons du keycode au nom symbolique des touches. Tout à
Copyright © Le site de Beuz
Page 2/4
Les touches spéciales ACER sous Mandriva Linux (3)
l'heure, nous avons créé un fichier dénommé " /.xmodmap.conf", il faut maintenant le lancer à chaque démarrage de
kde. Pour cela, nous créons un autre script bash que l'on place dans /.kde/Autostart (RAPPEL signifie
/home/monlogin Vous devez donc être loggué en tant que utilisateur simple et pas "root" pour que le pointe au bon
endroit sinon ça ira dans /root et donc ne concernera pas le kde de votre utilisateur normal). Mon script s'appelle
acerhk.sh mais vous pouvez avoir plus d'imagination !
#!/bin/bash
xmodmap ~/.Xmodmap
Voilà c'est terminé. Kde a déjà conservé vos saisies des actions
d'entrées et s'en souvient au démarrage suivant.
Allumer la touche "mail" quand vous en avez reçu
J'ai donc cherché à exploiter cette touche mail de sorte qu'elle clignote quand un message est disponible.
Evidemment, il aurait été possible de passer par kmail ou thunderbird (qui propose un plugin "mailbox alert" pour ce
faire).
Mais je voulais que cette lumière soit active même si je n'ai pas lancé mon lecteur de messagerie. je suis donc parti
sur l'idée d'un script perl avec sa bibliothèque de fonctions ImapClient mais sans y arriver. Heureusement,
Sébastien Munch l'a fait en python et le propose sur son site. Qu'il en soit très chaleureusement remercié. Je n'ai
donc eu qu'à changer quelques lignes pour que cela fonctionne dans ma configuration :
#!/usr/bin/env python
boxes = (
# type
adresse
user
pass
('imaps', 'imap.beuselinck.com', 'beuz', 'monmotdepasse'),
)
do_not_check = (
'INBOX.Drafts',
'INBOX.Trash',
'INBOX.spams',
'INBOX.Sent',
'INBOX.Junk',
'INBOX.failure',
)
import imaplib
got_mail = False
for srv in boxes:
if srv[0].startswith('imap'):
if srv[0].endswith('s'):
M = imaplib.IMAP4_SSL(srv[1])
else:
M = imaplib.IMAP4(srv[1])
M.login(srv[2], srv[3])
typ, data = M.list()
Copyright © Le site de Beuz
Page 3/4
Les touches spéciales ACER sous Mandriva Linux (3)
for box in data:
boxname = box.split('"')[-2]
if boxname not in do_not_check:
M.select(boxname)
typ, data = M.search(None, 'UNSEEN')
if data != ['']:
got_mail = True
print "Got mail in : %s - %s" % (srv[1], boxname)
M.close()
M.logout()
led = open('/proc/driver/acerhk/led', 'w')
led.write('%d' % got_mail)
Evidemment, il faut ensuite lancer ce script à intervalles réguliers. Nous le faisons grace à crontab. La commande
crontab -u beuz -e nous permet d'écrire :
# min(0-59)
hours(0-23) day(1-31) month(1-12) dow(0-7)
command
*/5 * * * * /home/beuz/automail.sh
Et voilà, j'ai désormais la touche "Acer Mail" qui clignote orange quand j'ai des nouveaux messages non-lus. Le test
est fait tout les 5 minutes.
Conclusion
La démarche a permis de maîtriser certaines particularités de l'Acer Travelmate 2493 et doit être facilement
transposable à d'autres portables de la même marque. Il y aurait certaines améliorations à apporter comme éteindre
la led orange au lancement de thunderbird (donc en appuyant sur ladite touche). De même, les modifications
xmodmap mériterait peut-être d'être automatisées pour tous les utilisateurs (c'est un portable et je suis le seul à
l'utiliser) .
j'ai passé sous silence (temporairement au moins) certaines fonctionnalités de ce modèle (les leds wifi et bluetooth,
le lecteur de cartes mémoire...).
Notez enfin que je n'ai pas (encore) trouvé de documentation pour allumer la led "AcerMail" sous WindowsXP mais
ce n'est pas forcément possible. D'autant que la documentation fabricant ne signale même pas qu'il s'agit d'une
touche avec led !
<a href="IMG/png/acermail.png" title='PNG - 16.9 ko' type="image/png">
Copyright © Le site de Beuz
Page 4/4

Documents pareils