Forum Programmation.python lire device clavier

Posté par  .
Étiquettes : aucune
0
6
avr.
2009
Bonjour,

je fais suite à mon précédent message : http://linuxfr.org/forums/12/27005.html

Je pensais que lire sur le device du clavier serais simple mais il n'en est rien. J'arrive bien à lire le device (/dev/input/event10) mais je n'en ressort qu'une infâme boullie illisible.

Si vous savez comment lire simplement le device et avoir la chaine de caractère utilisable ça serais super :)

Merci d'avance.
  • # API evdev

    Posté par  (site web personnel) . Évalué à 3.

    J'ai mis un petit exemple en C de mon cru pour ce que tu veux faire sur (la ligne ioctl(fd, EVIOCGRAB,1); est celle qui commande l'arrivée ou non sur X)
    http://pastebin.com/f5e6e7c24
    Après faut faire les "case" qui correspondent à ce que tu veux faire.
    • [^] # Re: API evdev

      Posté par  . Évalué à 1.

      Merci beaucoup, ça m'a l'air tout à fais intéressant. Il ne me reste plus qu'a trouver comment faire l'ioctl en python.

      Merci encore.
  • # Include kivabien

    Posté par  (site web personnel) . Évalué à 4.

    La structure de données input_event est définie dans /usr/include/linux/input.h

    Il suffit de lire des données de la taille de la structure
    • [^] # Re: Include kivabien

      Posté par  . Évalué à 3.

      Et pour lire les données, je conseillerai le module struct, très bien pour lire des struct C.
      • [^] # Re: Include kivabien

        Posté par  . Évalué à 1.

        J'ai essayé ça :
        import sys
        f = open("/dev/input/event10", "r")
        while True: print f.read(24)
        f.close()

        Mais ça lit en continue, même quand rien n'est saisie !
        Quelqu'un à une idée?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.