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

Path csiph.com!news.redatomik.org!.POSTED!not-for-mail
From Doug713705 <doug.letough@free.fr>
Newsgroups fr.comp.lang.python
Subject Curses window.getch / window.getkey() et touches spéciales
Date Sun, 13 Nov 2016 10:29:50 +0000 (UTC)
Organization Les cassoulets tropicaux reunis
Lines 52
Sender doug.letough@free.fr
Message-ID <o09fau$5ed$1@golgoth99.redatomik.org> (permalink)
Reply-To Doug Le Tough <doug.letough@free.fr>
NNTP-Posting-Host golgoth99.redatomik.org
Mime-Version 1.0
Content-Type text/plain; charset=iso-8859-15
Content-Transfer-Encoding 8bit
X-Trace golgoth99.redatomik.org 1479032990 5581 163.172.215.184 (13 Nov 2016 10:29:50 GMT)
X-Complaints-To abuse@redatomik.org
NNTP-Posting-Date Sun, 13 Nov 2016 10:29:50 +0000 (UTC)
User-Agent slrn/pre1.0.0-18 (Linux)
X-Face 'Sh}&9(gyOf[,6&8(Gv#k(:g=wUCLP}b#oqMPkLKpV"|y1TatXGYTh.jK\!@!&OsR}'~a %D7>:N$)5?\hx$?7Vu5U}GgJaY[&Hb!ThY_TB}.EsQn%JD4k<<)V_f*]P'FM<BJz{NJ$d<3S1<D*{ ,0^l<z&NxluMUHA<c
Xref csiph.com fr.comp.lang.python:2950

Show key headers only | 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