]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/event-receiver.cpp
event-key-input-key event-key-input-pressed
[guile-irrlicht.git] / src / event-receiver.cpp
index 64b38519f839b8e751c677c8472ce69442ca2b16..e97263e243168de467089caeea0c067f3a6922ac 100644 (file)
 
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
+
 #include "event-receiver.h"
 #include "gsubr.h"
+#include "keycodes.h"
 #include "wrapped.h"
 
 extern "C" {
@@ -32,6 +34,8 @@ extern "C" {
   {
     init_event_receiver_type ();
     init_event_type ();
+    DEFINE_GSUBR ("event-key-input-key", 1, 0, 0, event_type);
+    DEFINE_GSUBR ("event-key-input-pressed", 1, 0, 0, event_type);
     DEFINE_GSUBR ("event-type", 1, 0, 0, event_type);
     DEFINE_GSUBR ("make-event-receiver", 1, 0, 0, make_event_receiver);
   }
@@ -44,6 +48,18 @@ extern "C" {
                        init_event_type, event_p,
                        wrap_event, unwrap_event);
 
+  SCM
+  event_key_input_key (SCM event)
+  {
+    return scm_from_key_code (unwrap_event (event)->KeyInput.Key);
+  }
+
+  SCM
+  event_key_input_pressed (SCM event)
+  {
+    return scm_from_bool (unwrap_event (event)->KeyInput.PressedDown);
+  }
+
   SCM
   event_type (SCM event)
   {