python and curses : unable to getch() for a curses.KEY event
Hello. Newbie with curses.
When I getch() a key event (UP arrow key), the getch() function return a string of characters that I cannot compare with curses.KEY_UP constant. Here is the code I use :
w = gb.scrn.getch()
c = chr(w)
otp = 'touche:'+str(w)+' '+str(c)+"\n"; gb.f.write(otp)
if c == 'q': break
elif w == 259: haut_bas(-1)
elif w == curses.KEY_DOWN : haut_bas(1)
elif c == 'u' : haut_bas(-1)
elif c == 'd' : haut_bas(+1)
else: gb.scrn.addstr(curses.LINES-1,0,'Entrée invalide'+c)
I write the results of getch() when hitting arrow UP key then 'q' to exit in a file and it show this :
the results of getch() when hitting arrow DOWN key then 'q' to exit in a file and it show this :
It seems like getch() return three distincts bytes while I would retrieve it with a single ord() instruction in python like describes in curses/python documentation.
Does somebody has any idea ?