Skip to content

Commit

Permalink
Poulexagone: use key names instead of codes
Browse files Browse the repository at this point in the history
  • Loading branch information
kdltr committed Jul 11, 2016
1 parent 717f17b commit 862af3d
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions poulexagone/signals.scm
Expand Up @@ -15,15 +15,15 @@
(define movement-keys
(frp:map
(lambda (k)
(let ((key (cadr k))
(let ((key (car k))
(action (caddr k)))
(make-movement-key (case key ((38) 'left) ((40) 'right))
(case action ((0) #f) ((1) #t)))))
(make-movement-key (select key ((+key-a+) 'left) ((+key-d+) 'right))
(select action ((+release+) #f) ((+press+) #t)))))
(frp:filter (lambda (k)
(and (pair? k)
(not (= (caddr k) 2))
(or (= (cadr k) 38) (= (cadr k) 40))))
'(0 38 0 0) key)))
(not (= (caddr k) +repeat+))
(member (car k) (list +key-a+ +key-d+))))
`(,+key-a+ 0 ,+release+ 0) key)))


;; Signal notifying about spacebar presses
Expand All @@ -34,7 +34,8 @@
(frp:map
(lambda (_) (make-spacebar-pressed))
(frp:filter
(cut equal? <> '(32 65 1 0))
(lambda (k) (and (eq? (car k) +key-space+)
(eq? (caddr k) +press+)))
#f
key)))

Expand All @@ -44,6 +45,7 @@
(frp:map
(lambda (_) (make-escape-pressed))
(frp:filter
(cut equal? <> '(256 9 1 0))
(lambda (k) (and (eq? (car k) +key-escape+)
(eq? (caddr k) +press+)))
#f
key)))

0 comments on commit 862af3d

Please sign in to comment.