         ;; TODO: listening on js/window might break LD pages!!!
         [keyboard-event-key kbd-chan] (utils/events->chan js/window
                                                           EventType.KEYDOWN
-                                                          (chan 1))]
+                                                          (chan 1))
+        fullscreen-key (events/listen js/window
+                                      EventType.KEYDOWN
+                                      (partial fullscreen-handler canvas))]
     (swap! game-state assoc :canvas canvas :surface surface)
     (setup-canvas canvas)
     (setup-styles canvas)
     (insert-font-css)
     (utils/insert-image-assets! image-assets)
     (setup-game-audio)
-    (go-loop [last-state @game-state]
+    (go-loop [last-state nil]
       (let [[v c] (alts! [kbd-chan rafchan control-chan])]
         (condp = c
           kbd-chan (do


;; events->chan on keyboard -> println the event (check it's not duplicated)

(defn boot-game
  []
  (let [canvas (game-surface)


(defonce game-width 900)
(defonce game-height 600)
(def fullscreen-keycode 70) ;; F
(def keyboard-controls
  {37 :left
   39 :right
