Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #2950

Curses window.getch / window.getkey() et touches spéciales

From Doug713705 <doug.letough@free.fr>
Newsgroups fr.comp.lang.python
Subject Curses window.getch / window.getkey() et touches spéciales
Date 2016-11-13 10:29 +0000
Organization Les cassoulets tropicaux reunis
Message-ID <o09fau$5ed$1@golgoth99.redatomik.org> (permalink)

Show all headers | View raw


bonjour à toutes, tous,

Je code actuellement une  application en python à l'aide du module
curses que je commence à bien connaitre.

Cependant je me retrouve avec le problème suivant:
Alors que l'application réclame l'intervention de l'utilisateur
(typiquement choisir une action à faire en pressant la touche idoine), 
il m'est impossible de récupérer les touches spéciales telles que
PAGEUP, PAGEDOWN, les Fn keys, UP, DOWN, RIGHT, LEFT, etc.

Que ce soit avec window.getch() ou window.getkey(), je récupère une
séquence de caractères séparés comme si l'utilisateur appuyait sur 
plusieurs touches les unes après les autres.

Typiquement pour F1, je reçois:
null char
O
P

J'ai bien lu la doc:
https://docs.python.org/2/library/curses.html#curses.window.getch
qui précise qu'avec getkey() je devrais récupérer une chaine de caractères 
représentant le nom de le nom de la touche (les touches curses.KEY_XXX dont 
trouve le tableau dans la même doc).

Or, ce n'est pas le cas et malgré tous mes essais il m'a été impossible d'
déterminer la cause.

curses est initialisé de la manière suivante:
        stdscr = curses.initscr()
        stdscr.nodelay(1)
        curses.start_color()
        screen_y, screen_x = stdscr.getmaxyx()        
        curses.resizeterm(screen_y, screen_x)
        curses.noecho()
        curses.cbreak()       
        curses.curs_set(0)
        self.stdscr.keypad(1)

Je pense avoir tenté toutes les combinaisons possibles de raw(), cbreak() 
et keypad() sans succès.

C'est ennuyeux car je projetais d'utilier les touches PAGE_UP et PAGE_DOWN 
pour le scrolling.

Merci de vos conseils et expériences.
-- 
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
                    -- H.F. Thiéfaine, L'ascenceur de 22H43

Back to fr.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Curses window.getch / window.getkey() et touches spéciales Doug713705 <doug.letough@free.fr> - 2016-11-13 10:29 +0000
  Re: Curses window.getch / window.getkey() et touches spéciales Doug713705 <doug.letough@free.fr> - 2016-11-14 09:39 +0000

csiph-web