#include <stdio.h>
#include <gpm.h>
#include <unistd.h>

int Maushandler(Gpm_Event *event, void *data)
{
  if(event->buttons & GPM_B_LEFT)
    {
      Gpm_Close();
      exit (1);
    }
  return 0;
}

int main()
{
  int status;
  Gpm_Connect connect;
  char zeichen=0;
  Gpm_Event *event;

  connect.eventMask=~0;  /*alle Mausereignisse*/
  connect.defaultMask=0; /*nichts an gpm zurückgeben*/
  connect.maxMod=~0;     /*keine Taste muss gedrückt sein*/
  connect.minMod=0;      /*Es dürfen aber alle gedrückt werden*/

  status=Gpm_Open(&connect, 0); /*Wir stellen ein Verbindung zu gpm her*/
  if(status==-1) /*-1 bedeutet Verbindung kann nicht hergestellt werden*/
    {
      fprintf(stderr, "Fehler bei Gpm_Open..........\n");
      exit(0);
    } /*-2 bedeutet das das Programm im einem Xterm ausgeführt wird*/
  else if(status==-2)
      printf("Das Programm läuft in einem Xterm-Fenster\n");
  else
      printf("Das Programm läuft in einer Textkonsole\n");

  printf("Programm mit der linken Maustaste beenden!!\n");

  gpm_handler=Maushandler;
  while(zeichen != 'e') /*Mit 'e' kann man auch Abbrechen*/
    {
       zeichen=Gpm_Getc(stdin);
    }
  fflush(stdout);

  Gpm_Close(); /*Wir beenden die Verbindung zu gpm-Dämon wieder*/
  return 0;
}