When you press a key, say A, and then release it, there are two key-events that are registered. The first has "get-key-code" as #\A. The second has "get-key-code" 'release and #\A is returned by get-release-key-code.
Jay On Tue, Feb 25, 2014 at 5:49 PM, Tom Dean <[email protected]> wrote: > If I create an instance of canvas% or editor-canvas% like > > (define THE-CANVAS (new (class editor-canvas% > (super-new) > ;; Key handler for key-stroke input: > (define/override (on-char key-event) > (let ([event (send key-event > get-key-code)]) > (printf "EQ? ~s~n" (eq? event #\[))))))) > > and then hit the [ key it's as though the event is a pair consisting of a > char #\[ and the symbol 'release: > > EQ? #t > EQ? #f > > bur event isn't a pair?, list? or any other type as far as I can tell. And > it doesn't appear that get-key-code is returning multiple values, at least > in the sense of being something I can capture with let-values or set-values. > Any clues how I might capture just the key code and not the release symbol? > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > -- Jay McCarthy <[email protected]> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 ____________________ Racket Users list: http://lists.racket-lang.org/users

