1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| while (1)
{
if (gtk_events_pending())
gtk_main_iteration();
if (read(fd, &js, sizeof(struct js_event)) != sizeof(struct js_event))
{
perror("\njstest: error reading");
return;
}
switch(js.type & ~JS_EVENT_INIT)
{
case JS_EVENT_BUTTON:
button[js.number] = js.value;
break;
case JS_EVENT_AXIS:
axis[js.number] = js.value;
break;
}
if (axes)
{
for (i = 0; i < axes; i++)
{
gdk_pixbuf_fill(f->pixbuf_axes[i],0xffffffff);
pixbuf_rectangle(f->pixbuf_axes[i],0,0,LARGEUR_AXES,(int)((abs(axis[i])*1.0/COURSE_MAX)*HAUTEUR_AXES),0,0,255);
gtk_image_set_from_pixbuf(GTK_IMAGE(f->images_axes[i]),f->pixbuf_axes[i]);
}
}
if (buttons)
{
for (i = 0; i < buttons; i++)
if (button[i])
gtk_image_set_from_file(GTK_IMAGE(f->images_boutons[i]),"Images/bouton_allume.png");
else
gtk_image_set_from_file(GTK_IMAGE(f->images_boutons[i]),"Images/bouton_eteint.png");
}
if (gtk_events_pending())
gtk_main_iteration();
} |
Partager