Partage
  • Partager sur Facebook
  • Partager sur Twitter

curses et pavé numerique

Sujet résolu
    17 septembre 2014 à 0:49:13

    bonjour,

    je n'arrive pas à utiliser les touches 2,4,6,8    ni   +,-,*,/    ni  0,del,"mini-enter" du pavé numérique.

    j'arrive cependant à utiliser 1,3,7,9 (il faut désactiver le bouton-LED pav num chez moi):

    KEY_A1 Upper left of keypad
    KEY_A3 Upper right of keypad
    KEY_B2       Center of keypad
    KEY_C1 Lower left of keypad
    KEY_C3 Lower right of keypad

    Les flèches qui se trouvent sous le bloc (ins,del,end,pageup,pgdown) fonctionnent heureusement !:

    KEY_DOWN    Down arrow key
    KEY_UP    Up arrow key
    KEY_LEFT    Left arrow key
    KEY_RIGHT    Right arrow key

    source :   http://pubs.opengroup.org/onlinepubs/7908799/xcurses/curses.h.html

    Une idée pour les touches manquantes   ?

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 septembre 2014 à 8:57:01

      getch devrait te retourner le code valeur de la constante curses, n'oublie pas d'activer keypad.

      Que retourne getch, quand tu appuies sur 2, 4, 6 ou 8 ?

      Si tu as une valeur affichée, dans ce cas il suffit de comparer cette valeur à la touche appuyée pour détecter l'appui de cette touche.

      • Partager sur Facebook
      • Partager sur Twitter
        19 septembre 2014 à 18:19:44

        bonjour,

        oui effectivement c'est une bonne solution. Voici un code que j'ai pompé qui reprend l'astuce:

        import curses
        
        def main(stdscr):
            # do not wait for input when calling getch
            stdscr.nodelay(1)
            while True:
                # get keyboard input, returns -1 if none available
                c = stdscr.getch()
                if c != -1:
                    # print numeric value
                    stdscr.addstr(str(c))
                    stdscr.refresh()
                    # return curser to start position
                    stdscr.move(0, 0)
        
        if __name__ == '__main__':
            curses.wrapper(main)

        merci !

        • Partager sur Facebook
        • Partager sur Twitter

        curses et pavé numerique

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown