#1 Le 08/02/2008, à 15:37
- isoman
[Résolu]probleme avec l'ordre d'exection des instructions !
Slt ,
j'ai écrit un bout de code qui permet de déplacer la souris et j'ai constaté que si j'ai essayé de saisir qlq chose dans la console les instructions ne s'exécutent plus dans l'ordre !
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
void deplacer(int abs,int ord)
{
printf("deplacer souris\n");
XTestFakeMotionEvent(disp,0, abs, ord,CurrentTime);
printf("fin deplacer souris\n");
}
int main() {
deplacer(500,500);
printf("content o/n \n?");
getchar();
return 0;
}
affichage>
deplacer souris
// normalement la souris doit bouger a ce niveau
fin deplacer souris
content ?
o
//mais elle bouge après la saisie du 'o'
lorsque j'exécute ce code la souris n'est déplacé qu'après l'input de l'utilisateur o_O
,j'ai essayé avec scanf et même cin (c++) mais ça donne le même résultat.
Comment faire ?
Merci.
Dernière modification par isoman (Le 08/02/2008, à 23:56)
Hors ligne
#2 Le 08/02/2008, à 23:34
- JoelS
Re : [Résolu]probleme avec l'ordre d'exection des instructions !
Je ne suis pas un spécialiste de la programmation X11, mais il me semble que tu tentes de mélanger de la programmation événementielle (gestion d'une interface graphique) et séquentielle (entrée/sortie). Ca ne marchera pas. En tout cas pas à tous les coups. Globalement, en programmation événementielle, on demande au moteur d'événement (ici le gestionnaire d'événement X11) de faire quelque chose quant il peut. En séquentiel, c'est une instruction à la suite de celle qui précéde. En événementiel, ça peut ne pas être le cas, en fonction des interruptions, priorités, etc etc.
Hors ligne
#3 Le 08/02/2008, à 23:55
- isoman
Re : [Résolu]probleme avec l'ordre d'exection des instructions !
j'ai trouvé le probleme il fallait délemiter les instructions X11 avec un Xopendiplay et XcloseDisplay.
En tt cas merci de ton aide Joels.
Hors ligne