Changeset main,28 for main/input.lisp
- Timestamp:
- 11/04/2007 06:19:33 AM (19 years ago)
- branch-nick:
- tui-new
- revision id:
- dsowen@fugue88.ws-20071104061933-b5oiof728551luy5
- File:
-
- 1 edited
-
main/input.lisp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
main/input.lisp
r15 r28 2 2 ;;;; Lisp will detect typos, &c. 3 3 4 (defpackage #: input5 (:use #:cl #:cffi )6 (:export #: %wget-wch))4 (defpackage #:tui-input 5 (:use #:cl #:cffi #:tui-window) 6 (:export #:read-key)) 7 7 8 (in-package #: input)8 (in-package #:tui-input) 9 9 10 10 … … 13 13 ;;; they should be symbolized in a wrapper. 14 14 15 (defconstant +ok+ 0)16 (defconstant +err+ -1)17 15 (defconstant +key-code-yes+ #o0400) 18 16 … … 140 138 (let ((r (wget-wch raw-window ch))) 141 139 (cond 142 ((= r +ok+)140 ((= r cdk::+ok+) 143 141 (code-char (mem-ref ch 'wchar))) 144 142 ((= r +key-code-yes+) 145 143 (getf +key-table+ (mem-ref ch 'wchar) :key-unknown)) 146 ((= r +err+)144 ((= r cdk::+err+) 147 145 nil) 148 146 (t (error "Should not be here.")))))) 147 148 (defun read-key (window) 149 (%wget-wch (window-pointer window))) 149 150 150 151 151 152 152 153 (defun test () 153 ( let ((screen (cdk::c-init-curses-screen)))154 (with-screen (s) 154 155 (cdk::c-cbreak) 155 156 (cdk::c-noecho) 156 157 (cdk::c-nonl) 157 (cdk::c-keypad screent)158 (cdk::c-keypad (window-pointer s) t) 158 159 (loop 159 (let ((c ( %wget-wch screen)))160 (let ((c (read-key s))) 160 161 (when (and (characterp c) (char= c #\Esc)) 161 162 (return)) … … 165 166 (keyword "~&~A~%") 166 167 (t "~&UNKNOWN: ~A~%")) 167 c)))) 168 (cdk::c-end-curses)) 168 c)))))
Note: See TracChangeset
for help on using the changeset viewer.
