tests/curses_mouse.py
changeset 20 472a753664f9
parent 19 5e78d52ebb24
child 110 cf3d49cdd6e2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/curses_mouse.py	Fri Oct 07 12:36:14 2011 +0200
@@ -0,0 +1,29 @@
+#!/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)