tests/curses_mouse.py
author Radek Brich <radek.brich@devl.cz>
Fri, 01 Feb 2013 00:24:02 +0100
changeset 74 23767a33a781
parent 20 472a753664f9
child 110 cf3d49cdd6e2
permissions -rwxr-xr-x
Add ScrollWindow. Rewrite EditBox to work with OffsetLayout. Add propery "exposed" to DrawEvent. Add Widget._view_size. Add config file (driver, log_level).

#!/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)