Index: main/input.lisp
===================================================================
--- main/input.lisp	(revision main,15)
+++ main/input.lisp	(revision main,28)
@@ -2,9 +2,9 @@
 ;;;; Lisp will detect typos, &c.
 
-(defpackage #:input
-  (:use #:cl #:cffi)
-  (:export #:%wget-wch))
+(defpackage #:tui-input
+  (:use #:cl #:cffi #:tui-window)
+  (:export #:read-key))
 
-(in-package #:input)
+(in-package #:tui-input)
 
 
@@ -13,6 +13,4 @@
 ;;; they should be symbolized in a wrapper.
 
-(defconstant +ok+ 0)
-(defconstant +err+ -1)
 (defconstant +key-code-yes+ #o0400)
 
@@ -140,22 +138,25 @@
     (let ((r (wget-wch raw-window ch)))
       (cond
-        ((= r +ok+)
+        ((= r cdk::+ok+)
          (code-char (mem-ref ch 'wchar)))
         ((= r +key-code-yes+)
          (getf +key-table+ (mem-ref ch 'wchar) :key-unknown))
-        ((= r +err+)
+        ((= r cdk::+err+)
          nil)
         (t (error "Should not be here."))))))
+
+(defun read-key (window)
+  (%wget-wch (window-pointer window)))
 
 
 
 (defun test ()
-  (let ((screen (cdk::c-init-curses-screen)))
+  (with-screen (s)
     (cdk::c-cbreak)
     (cdk::c-noecho)
     (cdk::c-nonl)
-    (cdk::c-keypad screen t)
+    (cdk::c-keypad (window-pointer s) t)
     (loop
-       (let ((c (%wget-wch screen)))
+       (let ((c (read-key s)))
          (when (and (characterp c) (char= c #\Esc))
            (return))
@@ -165,4 +166,3 @@
                    (keyword "~&~A~%")
                    (t "~&UNKNOWN: ~A~%"))
-                 c))))
-  (cdk::c-end-curses))
+                 c)))))
