(define handle-keypress (lambda (event) (cond ((= (sdl-event-sym event) 27) (print "Escape Key Was Pressed!")) ; this works! ((= (sdl-event-sym event) 103) (new-texture-string "/home/avery/scheme-skeleton/Vasilisa.png"))))) ; as does this (define loup (lambda () (call/cc (lambda (break) (define event (make-sdl-event)) ; I know, this is crap. (sdl-poll-event! event) (cond ((eq? (sdl-event-type event) SDL_QUIT) (break #f)) ((= (sdl-event-sym event) 27) (break #f)) ; sdl-event-sym stops meaning anything, and defeats me ((eq? (sdl-event-type event) SDL_KEYDOWN) (set! tex-list (cons (handle-keypress event) tex-list)))) (display-handler) (usleep 100) (loup))))) ;; If I remove the single cond line that tests the sdl-event-sym against 27 (keysym for escape), the whole thing works as I wish. Instead, I get ;Error: sdl-event-sym: cannot extract value from this type of event: 1