cerhu > comp.lang.* > comp.lang.python

Doug713705 (13/11/2016, 12h29)
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:
[..]
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.
Doug713705 (14/11/2016, 11h39)
Le 13-11-2016, Doug713705 nous expliquait dans
fr.comp.lang.python
(<o09fau$5ed$1>) :

[..]
> Typiquement pour F1, je reçois:
> null char
> O
> P
> J'ai bien lu la doc:
> [..]
> 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).


Visiblement pas assez et pas la bonne car ici:
[..]
on trouve au rayon 'user input', un exemple tout à fait fonctionnel.
Dans les faits, il ne faut pas faire un getch() sur un objet window mais directement
sur la fenètre principale /stdscr/.

En lisant cette doc je me suis demandé si je n'avais pas déà posé la même question
il y a quelques temps...

Merci de m'avoir lu.
Discussions similaires
Python/curses et getch pendant raffraichissement de lafenêtre

passer du format window movie maker à format window media player

Pb window.open et window.close

Window ne peut défragmenter ( window 98)


Fuseau horaire GMT +2. Il est actuellement 11h14. | Privacy Policy