programmation X11 erreur sur XOpenDevice - Codes et scripts - Linux et OS Alternatifs
MarshPosté le 22-09-2006 à 09:06:56
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):
if (strstr(info[i].name, "Touchscreen0" )) //ici j'ai modifié le nom, pour que le device correspondent au élements enrvoyé plus haut
break;
}
if (i == infolen)
{ i = -1 /* not found */;
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!
i = info[1].id;;
}
else
{
i = info[i].id;
printf("Device found!!\n" ); //jamais le cas :( !!!!
}
/* XFreeDeviceList(info); */
return i;
}
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 :
Error in startup script: devices n° 0 = [Mouse1] id=[0]
devices n° 1 = [Touchscreen0] id=[1]
devices n° 2 = [keyboard] id=[2]
Device not found, forced to be the first!
X Error of failed request: BadDevice, invalid or uninitialized input
device
Major opcode of failed request: 144 (XInputExtension)
Minor opcode of failed request: 3 (X_OpenDevice)
Serial number of failed request: 10
Current serial number in output stream: 10
while executing
"exec $prg1 off "
(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????
Marsh Posté le 22-09-2006 à 09:06:56
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):
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.
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 !!!