anchor.diff:        (gl:load-identity)
         (gl:clear-color 0.0 0.0 1.0 1.0)
         (gl:clear :color-buffer)
  +
  +      ;; open any game controllers
  +      (loop for i from 0 upto (- (sdl2:joystick-count) 1)
  +         do (when (sdl2:game-controller-p i)
  +              (setf controllers (acons i (sdl2:game-controller-open i) controllers))))
  +      
         (sdl2:with-event-loop (:method :poll)
           (:keydown (:keysym keysym)
             (let ((scancode (sdl2:scancode-value keysym))
  
positive.code:                   nil
                    "Mouse motion abs(rel): ~a (~a), ~a (~a)~%Mouse state: ~a"
                    x xrel y yrel state)))
          (:idle ()
            (gl:clear :color-buffer)
            (gl:begin :triangles)
  
negative.code:           (gl:flush)
            (sdl2:gl-swap-window win))
          (:quit () t))
  
        ;; close any game controllers that were opened
        (loop for (_ . controller) in controllers
           do (sdl2:game-controller-close controller))
        
        (sdl2:gl-delete-context gl-context)
        (sdl2:destroy-window win))))
  