Патч для юзерфрендли-переопределения клавиш (ничего своего не заменял, клавиши все дефолтные):
13,32d12
< keys = {
< "prevmsg": curses.KEY_LEFT,
< "nextmsg": curses.KEY_RIGHT,
< "up": curses.KEY_UP,
< "down": curses.KEY_DOWN,
< "screen_up": curses.KEY_PPAGE,
< "screen_down": curses.KEY_NPAGE,
< "firstmsg": curses.KEY_HOME,
< "lastmsg": curses.KEY_END,
< "fetch_mail": [ord("g"), ord("G")],
< "send_mail": [ord("s"), ord("S")],
< "enter_echo": [10, curses.KEY_RIGHT],
< "exit_client": curses.KEY_F10,
< "savemsg": [ord("w"), ord("W")],
< "save_favorites": [ord("f"), ord("F")],
< "answer": [ord("q"), ord("Q")],
< "deletemsg": curses.KEY_DC,
<
< }
<
313c293
< elif key == keys["up"] and cursor > 0:
---
> elif key == curses.KEY_UP and cursor > 0:
317c297
< elif key == keys["down"] and cursor < len(echoareas) - 1:
---
> elif key == curses.KEY_DOWN and cursor < len(echoareas) - 1:
321c301
< elif key == keys["screen_up"]:
---
> elif key == curses.KEY_PPAGE:
327c307
< elif key == keys["screen_down"]:
---
> elif key == curses.KEY_NPAGE:
333c313
< elif key == keys["firstmsg"]:
---
> elif key == curses.KEY_HOME:
336c316
< elif key == keys["lastmsg"]:
---
> elif key == curses.KEY_END:
340c320
< elif key in keys["fetch_mail"]:
---
> elif key == ord("g") or key == ord("G"):
342c322
< elif key in keys["send_mail"]:
---
> elif key == ord("s") or key == ord("S"):
358c338
< elif key in keys["enter_echo"]:
---
> elif key == 10 or key == curses.KEY_RIGHT:
370c350
< elif key == keys["exit_client"]:
---
> elif key == curses.KEY_F10:
569c549
< elif key == keys["prevmsg"] and msgn > 0:
---
> elif key == curses.KEY_LEFT and msgn > 0:
575c555
< elif key == keys["nextmsg"] and msgn < len(msgids) - 1:
---
> elif key == curses.KEY_RIGHT and msgn < len(msgids) - 1:
581c561
< elif key == keys["nextmsg"] and (msgn == len(msgids) - 1 or len(msgids) == 0):
---
> elif key == curses.KEY_RIGHT and (msgn == len(msgids) - 1 or len(msgids) == 0):
584c564
< elif key == keys["up"] and y > 0:
---
> elif key == curses.KEY_UP and y > 0:
587c567
< elif key == keys["screen_up"]:
---
> elif key == curses.KEY_PPAGE:
592c572
< elif key == keys["screen_down"]:
---
> elif key == curses.KEY_NPAGE:
597c577
< elif key == keys["down"]:
---
> elif key == curses.KEY_DOWN:
601c581
< elif key == keys["firstmsg"]:
---
> elif key == curses.KEY_HOME:
607c587
< elif key == keys["lastmsg"]:
---
> elif key == curses.KEY_END:
621c601
< elif key in keys["savemsg"]:
---
> elif key == ord("w") or key == ord("W"):
623c603
< elif key in keys["save_favorites"]:
---
> elif key == ord("f") or key == ord("F"):
625c605
< elif not archive and (key in keys["answer"]):
---
> elif not archive and (key == ord ("q") or key == ord("Q")):
642c622
< elif favorites and key == keys["deletemsg"]:
---
> elif favorites and key == curses.KEY_DC:
654c634
< elif key == keys["exit_client"]:
---
> elif key == curses.KEY_F10:
Это пока не все клавиши, просто некоторые там введены числом, и я ещё не смотрел, что они делают.