tests/curses_mouse.py
author Radek Brich <radek.brich@devl.cz>
Sat, 05 Jan 2013 12:40:32 +0100
changeset 48 1f00e90fd72a
parent 20 472a753664f9
child 110 cf3d49cdd6e2
permissions -rwxr-xr-x
Add SDL driver prototype. Update sdlterm: Handle keyboard, mouse events. Add glyph cache.

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