Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2599 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  programmation X11 erreur sur XOpenDevice

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

programmation X11 erreur sur XOpenDevice

n°845092
youx21
Posté le 22-09-2006 à 09:06:56  profilanswer
 

bonjour,
 
je précise tout de suite que je ne connais vraiement pas grand chose en programmation x-window... donc c'est un peu une bouteille à la mer pour moi
 
Sur une debian sarge, avec un Xfree 4.03 (le .03 semble important), je veux mettre en place un écran tactile de marque touchcreen, via un port usb (à l'aide d'un pont PL 2303).
J'ai suivi l'installation proposé par la société, qui est en fait la
réutilisation d'un drivers écris par Alessandro Rubini en date de
2003, version 1.2.
Le drivers semble fonctionner, car j'arrive à faire bouger le curseur à l'écran. Mais, gros problème, il ne semble pas calibré.
Et là commence mes problèmes, le programme fourni pour la calibration se nomme "onetouch_calib", je lance, des points de calibration apparaisse, j'appuie.. et paf plus rien.
 
En débuggan sur le programme je tombe sur la fonction suivante, qui semble ne pas marcher. je pense, mais c'est des supposition!, que la façon de rechercher les devices, puis de les initialiser à changer entre la version 4.02 et 4.03 (est-ce le cas?)
 
la fonction (que j'ai essayé de modifié pour comprendre comment ça fonctionné, voir commentaire):
 
 

Code :
  1. static int finddevice(Display *disp)
  2. {
  3.     XDeviceInfo *info;
  4.     int infolen, i;
  5.     info = XListInputDevices(disp, &infolen);
  6.     for (i=0; i<infolen; i++) {
  7.         printf("devices n° %d = [%s] id=[%d]\n",i,info[i].name,info[i].id);
  8.         if (info[i].use != IsXExtensionDevice)
  9.             continue;
  10.         if (strstr(info[i].name, "touch" ))
  11.             break;
  12.         if (strstr(info[i].name, "Touchscreen0" ))  //ici j'ai modifié le nom, pour que le device correspondent au élements enrvoyé plus haut
  13.             break;
  14.     }
  15.     if (i == infolen)
  16. {       i = -1 /* not found */;
  17.         printf("Device not found, forced to be the first!\n" );  //ici je force, car sur mon systeme il est en premier position , mais bien sur sa plante après!
  18.         i = info[1].id;;
  19. }
  20.     else
  21.    {
  22.         i = info[i].id;
  23.         printf("Device found!!\n" ); //jamais le cas :( !!!!
  24.      }
  25.     /* XFreeDeviceList(info); */
  26.     return i;
  27. }


 
 
A l'origine, le programme ne trouve pas le bon device, même en mettant le nom correctement. J'ai essayé de "forcer", mais sans succès. Voici la sortie écran après que le programme utilise la fonction XOpenDevice dans suite du programme.
 

Code :
  1. Error in startup script: devices n° 0 = [Mouse1] id=[0]
  2. devices n° 1 = [Touchscreen0] id=[1]
  3. devices n° 2 = [keyboard] id=[2]
  4. Device not found, forced to be the first!
  5. X Error of failed request:  BadDevice, invalid or uninitialized input
  6. device
  7.   Major opcode of failed request:  144 (XInputExtension)
  8.   Minor opcode of failed request:  3 (X_OpenDevice)
  9.   Serial number of failed request:  10
  10.   Current serial number in output stream:  10
  11.     while executing
  12. "exec $prg1 off "
  13.     (file "./onetouch_calib" line 175)


 
 
voilà... je suis un peu perdu... existe-il une subtilité sur les recherches puis initialisation des devices sous X11? ya t-il eu des changements? ou pire... je me plante complètement, le souci est ailleurs et je ne le vois pas????
 
merci pour vos suggestions :) !!!

mood
Publicité
Posté le 22-09-2006 à 09:06:56  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  programmation X11 erreur sur XOpenDevice

 

Sujets relatifs
Erreur cc CommonErreur Nessus
[Debian] Erreur MySQLDebian testing : Erreur au boot =(
X11 dual-screen probleme de curseur sourismessage d'erreur Internet Explorer
erreur ubuntu 6.06 checking filesystemserreur libstdc++ après mise à jour maladroite
erreur au demarage de l'installeur ubtuntu 6.06Wine, Erreur au make
Plus de sujets relatifs à : programmation X11 erreur sur XOpenDevice


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)