tests/curses_mouse.py
author Radek Brich <radek.brich@devl.cz>
Fri, 07 Oct 2011 12:36:14 +0200
changeset 20 472a753664f9
parent 19 tests/mouse.py@5e78d52ebb24
child 110 cf3d49cdd6e2
permissions -rwxr-xr-x
Update utf8 character input to Python3. Reorganize tests.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import curses
import locale

locale.setlocale(locale.LC_ALL,"")

def doStuff(screen):
    screen.addstr('%s\n' % curses.termname())
    screen.keypad(1)
    screen.scrollok(1)
    curses.nl()
    curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
    curses.mouseinterval(0)  # do not wait to detect clicks, we use only press/release
    while True:
        c = screen.getch()
        char = ' '
        if c < 256:
            char = curses.unctrl(c)
        screen.addstr('key: %x %s\n' % (c, char))

        if c == curses.KEY_MOUSE:
            m = curses.getmouse()
            screen.addstr('(%d %d %d %d %x)\n' % m)

        screen.refresh()

curses.wrapper(doStuff)