Forum Programmation.c Xlib et émulation clavier

Posté par .
Tags : aucun
0
19
août
2006
Bonjour,

je voudrais émuler un clavier dans le serveur X.
Je reçois une chaîne de caractères et je l'envoi dans le tampon de clavier du serveur X qui l'écrit dans la fenêtre courante. Je voudrais savoir quel fonction utiliser pour écrire dans cette zone tampon.

Merci d'avance
  • # XTest

    Posté par . Évalué à 2.

    L'extension XTest me semble toute indiquée.

    Voilà une rapide explication avec qlqs liens et exemples :
    http://forums.gentoo.org/viewtopic-t-402015.html
    Ou bien encore, regarde les sources d'un clavier virtuel existant, genre xkbd :
    http://handhelds.org/~mallum/xkbd/
    (cf. les fichiers "src/libvirtkeys.{c,h}" en particulier)
    • [^] # Re: XTest

      Posté par . Évalué à 1.

      c'est une bone idée mais seulement il reste un problème : convertir un carractère en keycode
      • [^] # Re: XTest

        Posté par . Évalué à 1.

        Ouais, c'est vrai... Je m'étais un peu trop focalisé sur l'aspect "émulation clavier", mais en partant d'une chaine c'est effectivement pas terrible.

        Bon bah alors, une autre piste pourrait être le copier/coller de X11. Je sais pas trop comment ça marche, mais il doit bien y avoir moyen de passer par le tampon qui sert au "copier par sélection / coller par clic milieu", genre :
        - sauvegarder d'abord ce qui y est,
        - remplacer avec ta chaine,
        - coller (là éventuellement un clic milieu par XTest fonctionnerait, si tu ne trouves rien de moins crade),
        - restaurer le contenu d'origine du tampon.
        Mais c'est juste une idée comme ça, je ne sais pas du tout ce qui existe comme API pour accéder à ce truc.
        • [^] # Re: XTest

          Posté par . Évalué à 1.

          J'avais en effet pensé au copier/coller et je crois que c'est la bonne solution !

          Merci quand-même de ton aide car j'ai appris pas mal de choses su l'émule du clavier qui pourra me servir éventuellement pour d'autres choses ...

Suivre le flux des commentaires

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