Bonsoir,
Dans le main j'utilise ceci :
Relié à cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ... gdk_event_handler_set(event,NULL,NULL);
Le problème, c'est que quand je fais un printf du event->key.type, il ne m'affiche que l'évènement GDK_KEY_RELEASE (en fait, qui vaut 9). Donc en gros, quand j'appuie sur une touche, il ne détecte pas l'évènement. Il ne détecte que le relâchement de touche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void event (GdkEvent *event, gpointer data) { switch(event->key.keyval) { case KEY_DOWN: printf("%d\n",event->key.type); if(event->key.type==GDK_KEY_PRESS) g_timeout_add (200, dep_bas, NULL); break; ... ... } }
Bon but étant de dire tant que qu'une touche directionnelle reste appuyée, on déplace la carte dans tel sens, et quand on enlève le doigt de la touche, on arrête tout (avec un g_source_remove). Le problème étant justement que je n'arrive pas à détecter l'appui, seulement le relâchement.
Partager