Les meilleurs sources GTK+Consultez toutes les sources

Nombre d'auteurs : 4, nombre de sources : 13, dernière mise à jour : 28 juin 2013 

 
OuvrirSommaireGDK

Ce programme permet de bouger le curseur de la souris en appuyant sur les touches fléchées du clavier.

 
Sélectionnez
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
 
gboolean on_key_press (GtkWidget *widget, GdkEventKey *event)
{
  gint x = 0;
  gint y = 0;
  gint xadd = 0;
  gint yadd = 0;
  GdkScreen *screen = NULL;
  GdkDisplay *display = NULL;
 
  /* Determine la touche pressee */
  switch (event->keyval)
  {
    case GDK_Left:
      xadd -= 5;
    break;
    case GDK_Right:
      xadd += 5;
    break;
    case GDK_Up:
      yadd -= 5;
    break;
    case GDK_Down:
      yadd += 5;
    break;
  }
 
  /* Recupere l'ecran par defaut */
  display = gdk_display_get_default ();
  screen = gdk_display_get_default_screen (display);
 
  /* Recupere la position du curseur */
  gdk_display_get_pointer (display, NULL, &x, &y, NULL);
 
  /* Calcul de la nouvelle position du curseur */
  x += xadd;
  y += yadd;
  gdk_display_warp_pointer (display, screen, x, y);
 
  /* Propagation de l'evenement */
  return FALSE;
}
 
int main (int argc, char **argv)
{
  GtkWidget *window = NULL;
 
  gtk_init (&argc, &argv);
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  g_signal_connect (G_OBJECT (window), "destroy", gtk_main_quit, NULL);
  g_signal_connect (G_OBJECT (window), "key_press_event",
                    G_CALLBACK (on_key_press), NULL);
  gtk_widget_show_all (window);
  gtk_main ();
  return 0;
}
Créé le 27 décembre 2007  par Nicolas Joseph
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007-2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.