tests/curses_mouse.py
author Radek Brich <radek.brich@devl.cz>
Mon, 17 Mar 2014 20:40:04 +0100
changeset 86 0978fb755d31
parent 20 472a753664f9
child 110 cf3d49cdd6e2
permissions -rwxr-xr-x
Add core Application (adjusted), Window (new version), Signal (replaces Emitter), Size (adjusted). Add application demo.

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