IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Gestion de la souris sous cygwin.


Sujet :

Linux

  1. #1
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut Gestion de la souris sous cygwin.
    Bonjour,
    je tente d'utiliser les fonctions de gestions de la souris sous cygwin.

    Voici le code, pourtant simple :
    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
    17
    18
    19
    20
    21
    22
     
    #include <curses.h>
    #ifdef NCURSES_MOUSE_VERSION
    #define Mouse "Mouse supported"
    #else
    #define Mouse "Mouse not supported"
    #endif
     
    int main() {
      char c;
     
      // La souris est-elle supportée?
      printf(Mouse);
     
       mmask_t Mask; 	
     
       mousemask(BUTTON1_CLICKED | BUTTON3_CLICKED,(mmask_t *)NULL);
     
       scanf("%c",&c);
       return 0;
     
    }
    Ce code me donne un beau Core Dump ! Ce qui est étonnant car à en croire le manpage, on peut passer NULL comme deuxième argument.

    Si une âme charitable veut bien tester ce code sur un Linux natif ou avec Cygwin et me dire s'il a le même problème, merci.

    Pour information, j'utilise la dll ncurses version 8 de cygwin.

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Salut,

    Eh bien, rassure-toi, sous nux (une fedora 2), ça plante pareil.....
    Je jette un coup d'oeil dessus si j'ai le temps ce soir, mais je ne promet rien ....

    ++
    Pouic
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #3
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Merci Pouic, fidèle ami )

    Bien, donc ça ne viendrait pas des dll de cygwin

    Il faut que j'inspecte ça aussi.
    Pourtant sur tous les sites que j'ai trouvé ils commencent comme ça

  4. #4
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    J'ai trouvé.

    Il ne faut pas tenter d'utiliser la souris sans avoir au préalable initialiser l'écran du mode terminal.

    Le code suivant ne fait rien, mais eu moins, il n'y a pas le Core Dump !
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    #include <curses.h>
    #ifdef NCURSES_MOUSE_VERSION
    #define Mouse "Mouse supported"
    #else
    #define Mouse "Mouse not supported"
    #endif
    #include <signal.h>
     
    int main() {
      char c;
     
        (void) initscr();      // initialize the curses library 
        keypad(stdscr, TRUE);  // enable keyboard mapping 
        //(void) nonl();         // tell curses not to do NL->CR/NL on output 
        //(void) nl();
        //(void) cbreak();       // take input chars one at a time, no wait for \n 
        //(void) echo();         // echo input - in color 
        (void) noecho();     //  no echo input  
        (void)immedok(stdscr,TRUE);
        (void)scrollok(stdscr,TRUE);
     
        if (has_colors())
        {
            start_color();
            init_pair(1, COLOR_RED,     COLOR_BLACK);
        };
     
      printf(Mouse);
     
       mmask_t Mask; 	
     
       mousemask(BUTTON1_CLICKED | BUTTON3_CLICKED, &Mask);
     
       scanf("%c",&c);
       return 0;
     
    }
    C'est déjà un départ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des LARGE FILES sous Cygwin
    Par Julien1138 dans le forum Linux
    Réponses: 1
    Dernier message: 15/07/2010, 23h21
  2. Gestion du port paralléle sous 2000
    Par kardex dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/01/2006, 19h47
  3. Gestion de la souris sous opengl
    Par MaxPayne dans le forum GLUT
    Réponses: 2
    Dernier message: 05/12/2004, 16h35
  4. dll sous cygWin
    Par victorracine dans le forum C
    Réponses: 10
    Dernier message: 31/07/2003, 11h33
  5. [PostgreSQL] Fonct. anormal de postmaster sous Cygwin
    Par moipastoi dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/03/2003, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo