Skip to content

Instantly share code, notes, and snippets.

@jvillste
Created November 14, 2011 17:57
Show Gist options
  • Save jvillste/1364608 to your computer and use it in GitHub Desktop.
Save jvillste/1364608 to your computer and use it in GitHub Desktop.
(defn combined-key-code [key-code]
(case key-code
left-shift :shift
right-shift :shift
left-control :control
right-control :control
left-alt :alt
alt-gr :alt
nil))
(defn conj-if-not-nil [collection value]
(if value
(conj collection value)
collection))
(defn update-keys-down [keys-down keyboard-event]
(case (:type keyboard-event)
:key-pressed (-> keys-down
(conj (:key-code keyboard-event))
(conj-if-not-nil (combined-key-code (:key-code keyboard-event))))
:key-released (-> keys-down
(disj (:key-code keyboard-event))
(disj (combined-key-code (:key-code keyboard-event))))
keys-down))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment