clavier: autorepeat, xlib, ioctl

clavier: autorepeat, xlib, ioctl - C - Programmation

Marsh Posté le 10-02-2006 à 11:49:02    

salut a tous,
 
merci d'avance a ceux qui pourront m'apporter leur aide.
 
voila mon probleme
 
je suis en train de programmer un petit jeu en C - Xlib, et j'aimerait desactiver l'autorepeat des touches.
 
il existe une fonction qui fait cela tres bien (meme trop) : XAutoRepeatOff(display); -- puisque son homologue XAutoRepeatOn(display); ne fonctionne pas: je lance le jeu une fois, et je n'ai plus l'autorepeat pour toute ma session....
 
mon main ressemble plus ou moins a ca:
 
int main(int argc, char *argv[])
{
  /*  mes inits */
  ............
  XAutoRepeatOff(display);
  /* ma boucle de jeu */
  ...........
  XAutoRepeatOn(display);
  return (0);
}
 
Donc l'idee c'etait de le faire avec ioctl (j'ai cherche et j'ai vu qu'il existait un moyen d'augmenter le delay et le rate au max pour diminuer l'effet, mais il serait toujours present).
 
est ce que quelqu'un aurait une petite idee du pourquoi le XAutoRepeat ne marche pas pour reactiver, ou de comment desactiver l'autorepeat avec ioctl.
 
merci d'avance.

Reply

Marsh Posté le 10-02-2006 à 11:49:02   

Reply

Marsh Posté le 10-02-2006 à 17:20:13    

bon bah je me reponds a moi meme car j'ai fini par trouver a force de fouiller et de tester.
 
en fait il faut penser a faire un XCloseDisplay(display); apres avoir remis l'autorepeat sinon la modification n'est pas prise en charge :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed