tests/curses_keycodes.py
author Radek Brich <radek.brich@devl.cz>
Wed, 03 Sep 2014 19:13:37 +0200
changeset 110 cf3d49cdd6e2
parent 65 5f0697950f15
permissions -rwxr-xr-x
Add cursesw driver, using curses get_wch() for unicode input. It alse has enabled keypad() to let curses interpret control keys and mouse input.

#!/usr/bin/python3

import curses
import locale

locale.setlocale(locale.LC_ALL,"")

def doStuff(screen):
    screen.addstr('termname: %s\n' % curses.termname())
    screen.keypad(0)
    screen.scrollok(1)
    curses.nl()
    curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
    while True:
        c = screen.getch()
        s = ''

        screen.nodelay(1)
        while c != -1:
            try:
                s += chr(c)
            except ValueError:
                s += '?'
            screen.addstr('0x%02x,' % c)
            c = screen.getch()
        screen.nodelay(0)

        screen.addstr(' %r\n' % s)

        screen.refresh()

curses.wrapper(doStuff)