Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Auteur : Nicolas Joseph
Version : 11/12/2007
Bouger le curseur avec les touches du clavier
Ce programme permet de bouger le curseur de la souris en appuyant sur les touches fléchées du clavier.
#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;
}

precedent    sommaire    suivant   

Consultez les autres pages sources


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2007  Developpez LLC. Tout 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'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com