IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Ecoute événement périphérique


Sujet :

Linux

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut Ecoute événement périphérique
    Bonjour à tous,
    existe-t-il une lib pour récupérer des informations directement en provenance d'un périphérique. Dans l'immédiat, j'ai besoin de récupérer (en tâche de font) les touches claviers venant d'être tapées (genre keylogger mais en beaucoup plus simple).
    Existe-il quelque chose pour faire ça ? A la norme ? Portable ?

    Merci d'avance

  2. #2
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Sous Debian, il y a un paquet qui s'appelle 'input-utils' et qui contient divers programmes surveillants les évènements du noyau, dont l'appui sur une touche du clavier.

    Ensuite, un petit 'apt-get source input-utils' peut te donner de l'inspiration pour ton code. C'est du C qui dépend juste de la bibliothèque standard, donc ça doit être assez portable entre les différents Linux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    Merci pour ta solution FloMo c'est exactement ce qu'il me faut par contre il faut forcement être root pour utilisé les commandes et ca c'est plutot gênant pour moi.
    En effet ça consulte des fichiers comme /dev/input/event0 qui sont accessibles que par root.
    Une solution ??

  4. #4
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Ecrire une programme qui soit Set-UID root. Ton programme sera exécuté comme si tu étais root.
    Sinon, je vois pas trop dans l'immédiat.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    Citation Envoyé par FloMo
    Ecrire une programme qui soit Set-UID root
    ??
    C'est du code ou c'est juste faire un chmod/chown sur l'executable ???

  6. #6
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Utilise chmod pour changer les droits sur l'exécutable.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    le problème c'est que mon appli est censée marcher sur des PCs où j'ai pas les droits d'admin....

  8. #8
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Dans ces cas-là, utilise les fonctionnalités de la bibliothèque d'interface dont tu te sers (GTK, Qt). Tout dépend de ce que tu veux faire précisément.
    Tout dépend de la finalité de ton programme...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    bah en fait le principe est relativement simple.
    Je dois faire une appli (lancé en daemon) qui accède à ces fameux fichiers d'évènements afin de faire des statistiques sur l'utilisation des différents périphériques (souris, clavier, touchpad ....). Ce daemon tournerai pendant l'utilisation "ordinaire" du PC et les fichiers de logs seraient exploités par la suite.
    Le tout sur des PCs où j'ai pas forcement les droit d'admin et le GUI pouvant être désactivé. En effet l'output peut être un fichier, une console ou un GUI.
    Donc le problème avec Qt ou GTK c'est que c'est relativement haut niveau et surtout que les évènements ne sont pas catchés si l'appli n'est pas en premier plan !!

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 615
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 615
    Billets dans le blog
    2
    Par défaut
    ohhh ça ça sent le "doubleclick" .....

  11. #11
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Pour ce qui est de faire tourner le logiciel en démon dans l'espace utilisateur, il suffit que tu le lances par le biais des fichiers de configuration de ton interpréteur de commande (commande exécutée après login) ainsi que ceux de ton gestionnaire de fenêtres.
    Pour ce qui est du clavier, tu peux récupérer/dupliquer stdin en mode console je pense.
    Pour le périphérique de pointage, essaye de voir du côté de l'API Xorg.

    Mais il est clair que le plus simple et le plus efficace serait d'avoir les droits administrateur afin de pouvoir installer un démon exécuté avec le bit Set-UID root qui surveille les évènements du clavier.

    La raison pour laquelle tu ne peux pas facilement surveiller les données saisies par l'utilisateur est simple : cela permettrait à des petits malin de concevoir des logiciels malveillants qui surveillent ce que saisit l'utilisateur. Seul Windows est aussi inconscient.

Discussions similaires

  1. Ecoute évènement Nao / Android
    Par samantha93 dans le forum Android
    Réponses: 10
    Dernier message: 11/02/2014, 16h52
  2. Réponses: 0
    Dernier message: 01/02/2010, 16h17
  3. Ecouter les évènements clavier sans focus
    Par Niak74 dans le forum Qt
    Réponses: 2
    Dernier message: 02/11/2009, 09h07
  4. Ecouter un évènement Timer dans plusieurs classes
    Par FloBaoti dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/01/2008, 00h55
  5. Ecoute d'évènements sur serveur J2EE
    Par loop4 dans le forum Java EE
    Réponses: 2
    Dernier message: 28/04/2006, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo