Update of /project/mcclim/cvsroot/mcclim/Backends/gtkairo In directory clnet:/tmp/cvs-serv17296
Modified Files: event.lisp Log Message: Minor key event correction, still not quite there. I'd like to make this work without having to pull in clx/keysyms.lisp.
* event.lisp (key-handler): Don't give :escape a character. Actually, CLX will return #\escape here on #+(or lispm excl), but it doesn't do that anywhere else and NIL is certainly better than #{, which we used to return.
--- /project/mcclim/cvsroot/mcclim/Backends/gtkairo/event.lisp 2006/05/02 13:00:11 1.6 +++ /project/mcclim/cvsroot/mcclim/Backends/gtkairo/event.lisp 2006/05/07 14:29:06 1.7 @@ -194,11 +194,13 @@ (char string 0))) (sym (gethash keyval *keysyms*))) ;; McCLIM will #\a statt ^A sehen: - (when (and char - (< 0 (char-code char) 32) - ;; ...aber fuer return dann auf einmal doch - (not (eql char #\return))) - (setf char (code-char (+ (char-code char) 96)))) + (cond + ((null char)) + ((eql char #\return)) + ((eql char #\escape) + (setf char nil)) + ((< 0 (char-code char) 32) + (setf char (code-char (+ (char-code char) 96))))) (when (eq sym :backspace) (setf char #\backspace)) ;; irgendwas sagt mir, dass hier noch weitere Korrekturen