boponfire a écrit 8 commentaires

  • [^] # Re: Les extensions DEC-XTRAP et RECORD ?

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    Bon et bien XTrap fait exactement ce que je veux, intercepter n'importe quels evénements sans perturber le flow normal (pas besoin de les réenvoyer après ou quoi que ce soit), plus qu'a interfacer ça en JAVA.

    Merci :>
  • [^] # Re: Les extensions DEC-XTRAP et RECORD ?

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    En fait, je tiens à préciser que mon application est en JAVA et utilise jVLC pour accéder à la libVLC, mais de la même manière je lui passe une objet ou dessiné et cet objet ne reçoit tout simplement pas les evenements. Il faut que je regarde comment vlc gère ça masi je crois que d'une manière ou d'une autre la lib absorbe les events donc inutile de s'enregistrer en tant que receveur au niveau de la fenêtre, on ne reçoit rien...

    En revanche la Xlib a un système de grab qui permet de s'accaparer le pointeur et donc de recevoir tous les evenements liés à celui ci, l'incovénient, c'est que les evenements en question ne sont plus transmis aux autres fenêtres, en gros ca freeze l'interface...

    J'ai deja essayé le InputOnly et ca ne marche pas (je ne sais pas si on peut recevoir des evénements sur une fenêtre InputOnly) de toute manière, cette méthode me plait moyennement :)

    Je vais approfondir la piste du XGrabPointer et essayer de voir ce que je peux faire avec les extensions.

    Merci pour vos suggestions :)
  • [^] # Re: moi j'aurais plutôt regardé

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    ouais justement, tu peux spécifié une autre fenêtre mais impossible d'intercepter les clicks souris sur la fenêtre en question...

    Ce qui me parait normal puisqu'on peut lire dans la doc de la Xlib: "Only one client at a time can select a ButtonPress event, which is associated with the event mask ButtonPressMask."

    J'y avais pensé à la fenêtre transparente quand je cherchais comment faire sous Windows :D
    Je crois que je vais tenté comme ça sous nux :)
  • [^] # Re: moi j'aurais plutôt regardé

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    Y'avait de l'idée masi tout comme moi, xed n'est pas capable de détecter les mouvement, click, etc de souris sur une fenêtre autre que celle qu'il créé lui même...
  • [^] # Re: VNC

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 2.

    J'ai regardé les sources de RealVNC et il utilise bien le systême d'events de la Xlib. J'avais tenté de faire la même chose avant de voir ce code et évidemment ça ne fonctionne pas. Comme pour les techniques cités ci-dessus, trouver de l'aide pour la Xlib c'est pas facile.
  • [^] # Re: edit

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    Ok, j'arrive à lire correctement dans le /dev/input/event correspondant à ma souris, des structures et constantes dans linux/input.h permettent d'interprété facilement ces données.

    De là, j'ai plusieurs questions :

    Quelles différences entre /dev/input/mice et le /dev/input/event* correspondant à la souris ? (apparemment /dev/input/mice ne reçoit pas tous les evénements)

    je ne suis pas un pro de linux et je n'ai donc pas compris l'histoire du tube nommé :)

    Dernière chose qui me tracasse, avec cette méthode, je n'ai aucun moyen de récupérer la position de la souris sur l'écran ? (j'ai regardé les sorties de /dev/input/event et /dev/input/mice, je ne vois aucun champ pouvant correspondre à la position du pointeur ).

    Ca fait beaucoup de questions, mais il est très difficile de trouver des infos à ce sujet sur le net :>
  • [^] # Re: edit

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 2.

    Je vais peut-être dire une connerie, mais les données écrites dans /dev/input/mouse (ou équivalent) sont hardware-dependent non ?
  • # edit

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 1.

    Précision: n'est-il pas possible d'intercepter directement les évènements venant du noyau ou un truc du style (plus bas niveau encore que la Xlib) ?