summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sdl2/events.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/sdl2/events.scm b/sdl2/events.scm
index 1d40a38..edb9306 100644
--- a/sdl2/events.scm
+++ b/sdl2/events.scm
@@ -42,6 +42,8 @@
make-keyboard-event
keyboard-event?
+ keyboard-down-event?
+ keyboard-up-event?
keyboard-event-timestamp
keyboard-event-window-id
keyboard-event-pressed?
@@ -133,6 +135,16 @@
(scancode keyboard-event-scancode)
(modifiers keyboard-event-modifiers))
+(define (keyboard-down-event? e)
+ "Return #t if E is a key press event."
+ (and (keyboard-event? e)
+ (keyboard-event-pressed? e)))
+
+(define (keyboard-up-event? e)
+ "Return #t if E is a key release event."
+ (and (keyboard-event? e)
+ (not (keyboard-event-pressed? e))))
+
(define keycode-map
(alist->hash-table
`((,ffi:SDLK_UNKNOWN . unknown)