[Linux] Ecoute des evenements claviers?

Ecoute des evenements claviers? [Linux] - Divers - Programmation

Marsh Posté le 28-02-2005 à 00:48:50    

Bonjour,
 
J'aimerais écouter les evenements claviers et souris de manière a ce que lorsqu'il ne se passe rien pendant 5min par exemple, j'execute une action.Je cherche a faire ca car sous linux l'ecran de mon portable ne se met pas en veille (j'ai pourtant tout essayé). Donc j'aimerais lancer moi meme la veille en executant le programme s3switch qui a pour effet de basculer sur la sortie télé ou CRT et donc le LCD s'eteint.
 
Je pensais faire une ecoute avec la fonction C select sur l'entree standard STDIN pour lancer la veille au bout du timeout (car si la fonction arrive au bout du timeout, il ne s'est rien passé sur le descripteur de fichier 0). Le probleme est que je ne peux pas écouter sur STDIN car je ne reste pas forcement dans la fenetre ou je lance le programme. J'aimerais donc une ecoute sur tous les evenements clavier et si possible souris quelques soit la fenetre ou je tappe. Comment faire?

Reply

Marsh Posté le 28-02-2005 à 00:48:50   

Reply

Marsh Posté le 28-02-2005 à 01:36:36    

pt etre qu'il faut modifier le driver du keyboard pour qu'il note la date de la derniere touche lu.
 
et puis faire un script, lancer par cron toute les minutes, pour aller checker cette valeur de date de derniere touche lu.
ce script declenchant ou non le screen saver.
 
 
Ceci dit, peut etre que le driver du keyboard fournir deja la fonctionnalité.

Reply

Marsh Posté le 28-02-2005 à 21:52:36    

Je n'ai jamais bidouillé de driver, comment savoir si la fonction est deja implementée dedans? Par où commencer?

Reply

Marsh Posté le 28-02-2005 à 22:46:43    

j'ai pas de linux sous les yeux.
 
Y aurait pas un fichier "keyboard" quelque part dans /proc ??
si oui, affiche le contenu et regarde s'il n'y a pas la date que tu cherches.
 
sinon, peut etre que la date, c'est juste la date de derniere acces au fichier /dev/keyboard
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed