]> git.jsancho.org Git - guile-irrlicht.git/commitdiff
keycodes
authorJavier Sancho <jsf@jsancho.org>
Sun, 10 May 2020 07:51:10 +0000 (09:51 +0200)
committerJavier Sancho <jsf@jsancho.org>
Sun, 10 May 2020 07:51:10 +0000 (09:51 +0200)
src/keycodes.cpp
src/keycodes.h

index 4cbe4a33915a855942dc98dc929f64ddfefb50c8..372ac5a61390b2bc830c280ff13c7af7b294f961 100644 (file)
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
 
-extern "C" {
-
-  SCM
-  scm_from_key_code (irr::EKEY_CODE key_code)
-  {
-    switch (key_code)
-      {
-      case irr::KEY_LBUTTON:
-        return scm_from_utf8_symbol ("lbutton");
-        break;
 
-      case irr::KEY_RBUTTON:
-        return scm_from_utf8_symbol ("rbutton");
-        break;
+using namespace irr;
 
-      case irr::KEY_CANCEL:
-        return scm_from_utf8_symbol ("cancel");
-        break;
 
-      case irr::KEY_MBUTTON:
-        return scm_from_utf8_symbol ("mbutton");
-        break;
+SCM
+scm_from_key_code (EKEY_CODE key_code)
+{
+  switch (key_code)
+    {
+    case KEY_LBUTTON:
+      return scm_from_utf8_symbol ("lbutton");
+      break;
 
-      case irr::KEY_XBUTTON1:
-        return scm_from_utf8_symbol ("xbutton1");
-        break;
+    case KEY_RBUTTON:
+      return scm_from_utf8_symbol ("rbutton");
+      break;
 
-      case irr::KEY_XBUTTON2:
-        return scm_from_utf8_symbol ("xbutton2");
-        break;
+    case KEY_CANCEL:
+      return scm_from_utf8_symbol ("cancel");
+      break;
 
-      case irr::KEY_BACK:
-        return scm_from_utf8_symbol ("back");
-        break;
+    case KEY_MBUTTON:
+      return scm_from_utf8_symbol ("mbutton");
+      break;
 
-      case irr::KEY_TAB:
-        return scm_from_utf8_symbol ("tab");
-        break;
+    case KEY_XBUTTON1:
+      return scm_from_utf8_symbol ("xbutton1");
+      break;
 
-      case irr::KEY_CLEAR:
-        return scm_from_utf8_symbol ("clear");
-        break;
+    case KEY_XBUTTON2:
+      return scm_from_utf8_symbol ("xbutton2");
+      break;
 
-      case irr::KEY_RETURN:
-        return scm_from_utf8_symbol ("return");
-        break;
+    case KEY_BACK:
+      return scm_from_utf8_symbol ("back");
+      break;
 
-      case irr::KEY_SHIFT:
-        return scm_from_utf8_symbol ("shift");
-        break;
+    case KEY_TAB:
+      return scm_from_utf8_symbol ("tab");
+      break;
 
-      case irr::KEY_CONTROL:
-        return scm_from_utf8_symbol ("control");
-        break;
+    case KEY_CLEAR:
+      return scm_from_utf8_symbol ("clear");
+      break;
 
-      case irr::KEY_MENU:
-        return scm_from_utf8_symbol ("menu");
-        break;
+    case KEY_RETURN:
+      return scm_from_utf8_symbol ("return");
+      break;
 
-      case irr::KEY_PAUSE:
-        return scm_from_utf8_symbol ("pause");
-        break;
+    case KEY_SHIFT:
+      return scm_from_utf8_symbol ("shift");
+      break;
 
-      case irr::KEY_CAPITAL:
-        return scm_from_utf8_symbol ("capital");
-        break;
+    case KEY_CONTROL:
+      return scm_from_utf8_symbol ("control");
+      break;
 
-      case irr::KEY_KANA:
-        return scm_from_utf8_symbol ("kana");
-        break;
+    case KEY_MENU:
+      return scm_from_utf8_symbol ("menu");
+      break;
 
-      case irr::KEY_JUNJA:
-        return scm_from_utf8_symbol ("junja");
-        break;
+    case KEY_PAUSE:
+      return scm_from_utf8_symbol ("pause");
+      break;
 
-      case irr::KEY_FINAL:
-        return scm_from_utf8_symbol ("final");
-        break;
+    case KEY_CAPITAL:
+      return scm_from_utf8_symbol ("capital");
+      break;
 
-      case irr::KEY_HANJA:
-        return scm_from_utf8_symbol ("hanja");
-        break;
+    case KEY_KANA:
+      return scm_from_utf8_symbol ("kana");
+      break;
 
-      case irr::KEY_ESCAPE:
-        return scm_from_utf8_symbol ("escape");
-        break;
+    case KEY_JUNJA:
+      return scm_from_utf8_symbol ("junja");
+      break;
 
-      case irr::KEY_CONVERT:
-        return scm_from_utf8_symbol ("convert");
-        break;
+    case KEY_FINAL:
+      return scm_from_utf8_symbol ("final");
+      break;
 
-      case irr::KEY_NONCONVERT:
-        return scm_from_utf8_symbol ("nonconvert");
-        break;
+    case KEY_HANJA:
+      return scm_from_utf8_symbol ("hanja");
+      break;
 
-      case irr::KEY_ACCEPT:
-        return scm_from_utf8_symbol ("accept");
-        break;
+    case KEY_ESCAPE:
+      return scm_from_utf8_symbol ("escape");
+      break;
 
-      case irr::KEY_MODECHANGE:
-        return scm_from_utf8_symbol ("modechange");
-        break;
-
-      case irr::KEY_SPACE:
-        return scm_from_utf8_symbol ("space");
-        break;
+    case KEY_CONVERT:
+      return scm_from_utf8_symbol ("convert");
+      break;
 
-      case irr::KEY_PRIOR:
-        return scm_from_utf8_symbol ("prior");
-        break;
+    case KEY_NONCONVERT:
+      return scm_from_utf8_symbol ("nonconvert");
+      break;
 
-      case irr::KEY_NEXT:
-        return scm_from_utf8_symbol ("next");
-        break;
+    case KEY_ACCEPT:
+      return scm_from_utf8_symbol ("accept");
+      break;
 
-      case irr::KEY_END:
-        return scm_from_utf8_symbol ("end");
-        break;
+    case KEY_MODECHANGE:
+      return scm_from_utf8_symbol ("modechange");
+      break;
+
+    case KEY_SPACE:
+      return scm_from_utf8_symbol ("space");
+      break;
 
-      case irr::KEY_HOME:
-        return scm_from_utf8_symbol ("home");
-        break;
+    case KEY_PRIOR:
+      return scm_from_utf8_symbol ("prior");
+      break;
 
-      case irr::KEY_LEFT:
-        return scm_from_utf8_symbol ("left");
-        break;
+    case KEY_NEXT:
+      return scm_from_utf8_symbol ("next");
+      break;
 
-      case irr::KEY_UP:
-        return scm_from_utf8_symbol ("up");
-        break;
+    case KEY_END:
+      return scm_from_utf8_symbol ("end");
+      break;
 
-      case irr::KEY_RIGHT:
-        return scm_from_utf8_symbol ("right");
-        break;
+    case KEY_HOME:
+      return scm_from_utf8_symbol ("home");
+      break;
 
-      case irr::KEY_DOWN:
-        return scm_from_utf8_symbol ("down");
-        break;
+    case KEY_LEFT:
+      return scm_from_utf8_symbol ("left");
+      break;
 
-      case irr::KEY_SELECT:
-        return scm_from_utf8_symbol ("select");
-        break;
+    case KEY_UP:
+      return scm_from_utf8_symbol ("up");
+      break;
 
-      case irr::KEY_PRINT:
-        return scm_from_utf8_symbol ("print");
-        break;
+    case KEY_RIGHT:
+      return scm_from_utf8_symbol ("right");
+      break;
 
-      case irr::KEY_EXECUT:
-        return scm_from_utf8_symbol ("execut");
-        break;
+    case KEY_DOWN:
+      return scm_from_utf8_symbol ("down");
+      break;
 
-      case irr::KEY_SNAPSHOT:
-        return scm_from_utf8_symbol ("snapshot");
-        break;
+    case KEY_SELECT:
+      return scm_from_utf8_symbol ("select");
+      break;
 
-      case irr::KEY_INSERT:
-        return scm_from_utf8_symbol ("insert");
-        break;
+    case KEY_PRINT:
+      return scm_from_utf8_symbol ("print");
+      break;
 
-      case irr::KEY_DELETE:
-        return scm_from_utf8_symbol ("delete");
-        break;
+    case KEY_EXECUT:
+      return scm_from_utf8_symbol ("execut");
+      break;
 
-      case irr::KEY_HELP:
-        return scm_from_utf8_symbol ("help");
-        break;
+    case KEY_SNAPSHOT:
+      return scm_from_utf8_symbol ("snapshot");
+      break;
 
-      case irr::KEY_KEY_0:
-        return scm_from_utf8_symbol ("key-0");
-        break;
+    case KEY_INSERT:
+      return scm_from_utf8_symbol ("insert");
+      break;
 
-      case irr::KEY_KEY_1:
-        return scm_from_utf8_symbol ("key-1");
-        break;
+    case KEY_DELETE:
+      return scm_from_utf8_symbol ("delete");
+      break;
 
-      case irr::KEY_KEY_2:
-        return scm_from_utf8_symbol ("key-2");
-        break;
+    case KEY_HELP:
+      return scm_from_utf8_symbol ("help");
+      break;
 
-      case irr::KEY_KEY_3:
-        return scm_from_utf8_symbol ("key-3");
-        break;
+    case KEY_KEY_0:
+      return scm_from_utf8_symbol ("key-0");
+      break;
 
-      case irr::KEY_KEY_4:
-        return scm_from_utf8_symbol ("key-4");
-        break;
+    case KEY_KEY_1:
+      return scm_from_utf8_symbol ("key-1");
+      break;
 
-      case irr::KEY_KEY_5:
-        return scm_from_utf8_symbol ("key-5");
-        break;
+    case KEY_KEY_2:
+      return scm_from_utf8_symbol ("key-2");
+      break;
 
-      case irr::KEY_KEY_6:
-        return scm_from_utf8_symbol ("key-6");
-        break;
+    case KEY_KEY_3:
+      return scm_from_utf8_symbol ("key-3");
+      break;
 
-      case irr::KEY_KEY_7:
-        return scm_from_utf8_symbol ("key-7");
-        break;
+    case KEY_KEY_4:
+      return scm_from_utf8_symbol ("key-4");
+      break;
 
-      case irr::KEY_KEY_8:
-        return scm_from_utf8_symbol ("key-8");
-        break;
+    case KEY_KEY_5:
+      return scm_from_utf8_symbol ("key-5");
+      break;
 
-      case irr::KEY_KEY_9:
-        return scm_from_utf8_symbol ("key-9");
-        break;
+    case KEY_KEY_6:
+      return scm_from_utf8_symbol ("key-6");
+      break;
 
-      case irr::KEY_KEY_A:
-        return scm_from_utf8_symbol ("key-a");
-        break;
+    case KEY_KEY_7:
+      return scm_from_utf8_symbol ("key-7");
+      break;
 
-      case irr::KEY_KEY_B:
-        return scm_from_utf8_symbol ("key-b");
-        break;
+    case KEY_KEY_8:
+      return scm_from_utf8_symbol ("key-8");
+      break;
 
-      case irr::KEY_KEY_C:
-        return scm_from_utf8_symbol ("key-c");
-        break;
+    case KEY_KEY_9:
+      return scm_from_utf8_symbol ("key-9");
+      break;
 
-      case irr::KEY_KEY_D:
-        return scm_from_utf8_symbol ("key-d");
-        break;
+    case KEY_KEY_A:
+      return scm_from_utf8_symbol ("key-a");
+      break;
 
-      case irr::KEY_KEY_E:
-        return scm_from_utf8_symbol ("key-e");
-        break;
+    case KEY_KEY_B:
+      return scm_from_utf8_symbol ("key-b");
+      break;
 
-      case irr::KEY_KEY_F:
-        return scm_from_utf8_symbol ("key-f");
-        break;
+    case KEY_KEY_C:
+      return scm_from_utf8_symbol ("key-c");
+      break;
 
-      case irr::KEY_KEY_G:
-        return scm_from_utf8_symbol ("key-g");
-        break;
+    case KEY_KEY_D:
+      return scm_from_utf8_symbol ("key-d");
+      break;
 
-      case irr::KEY_KEY_H:
-        return scm_from_utf8_symbol ("key-h");
-        break;
+    case KEY_KEY_E:
+      return scm_from_utf8_symbol ("key-e");
+      break;
 
-      case irr::KEY_KEY_I:
-        return scm_from_utf8_symbol ("key-i");
-        break;
+    case KEY_KEY_F:
+      return scm_from_utf8_symbol ("key-f");
+      break;
 
-      case irr::KEY_KEY_J:
-        return scm_from_utf8_symbol ("key-j");
-        break;
+    case KEY_KEY_G:
+      return scm_from_utf8_symbol ("key-g");
+      break;
 
-      case irr::KEY_KEY_K:
-        return scm_from_utf8_symbol ("key-k");
-        break;
+    case KEY_KEY_H:
+      return scm_from_utf8_symbol ("key-h");
+      break;
 
-      case irr::KEY_KEY_L:
-        return scm_from_utf8_symbol ("key-l");
-        break;
+    case KEY_KEY_I:
+      return scm_from_utf8_symbol ("key-i");
+      break;
 
-      case irr::KEY_KEY_M:
-        return scm_from_utf8_symbol ("key-m");
-        break;
+    case KEY_KEY_J:
+      return scm_from_utf8_symbol ("key-j");
+      break;
 
-      case irr::KEY_KEY_N:
-        return scm_from_utf8_symbol ("key-n");
-        break;
+    case KEY_KEY_K:
+      return scm_from_utf8_symbol ("key-k");
+      break;
 
-      case irr::KEY_KEY_O:
-        return scm_from_utf8_symbol ("key-o");
-        break;
+    case KEY_KEY_L:
+      return scm_from_utf8_symbol ("key-l");
+      break;
 
-      case irr::KEY_KEY_P:
-        return scm_from_utf8_symbol ("key-p");
-        break;
+    case KEY_KEY_M:
+      return scm_from_utf8_symbol ("key-m");
+      break;
 
-      case irr::KEY_KEY_Q:
-        return scm_from_utf8_symbol ("key-q");
-        break;
+    case KEY_KEY_N:
+      return scm_from_utf8_symbol ("key-n");
+      break;
 
-      case irr::KEY_KEY_R:
-        return scm_from_utf8_symbol ("key-r");
-        break;
+    case KEY_KEY_O:
+      return scm_from_utf8_symbol ("key-o");
+      break;
 
-      case irr::KEY_KEY_S:
-        return scm_from_utf8_symbol ("key-s");
-        break;
+    case KEY_KEY_P:
+      return scm_from_utf8_symbol ("key-p");
+      break;
 
-      case irr::KEY_KEY_T:
-        return scm_from_utf8_symbol ("key-t");
-        break;
+    case KEY_KEY_Q:
+      return scm_from_utf8_symbol ("key-q");
+      break;
 
-      case irr::KEY_KEY_U:
-        return scm_from_utf8_symbol ("key-u");
-        break;
+    case KEY_KEY_R:
+      return scm_from_utf8_symbol ("key-r");
+      break;
 
-      case irr::KEY_KEY_V:
-        return scm_from_utf8_symbol ("key-v");
-        break;
+    case KEY_KEY_S:
+      return scm_from_utf8_symbol ("key-s");
+      break;
 
-      case irr::KEY_KEY_W:
-        return scm_from_utf8_symbol ("key-w");
-        break;
+    case KEY_KEY_T:
+      return scm_from_utf8_symbol ("key-t");
+      break;
 
-      case irr::KEY_KEY_X:
-        return scm_from_utf8_symbol ("key-x");
-        break;
+    case KEY_KEY_U:
+      return scm_from_utf8_symbol ("key-u");
+      break;
 
-      case irr::KEY_KEY_Y:
-        return scm_from_utf8_symbol ("key-y");
-        break;
+    case KEY_KEY_V:
+      return scm_from_utf8_symbol ("key-v");
+      break;
 
-      case irr::KEY_KEY_Z:
-        return scm_from_utf8_symbol ("key-z");
-        break;
+    case KEY_KEY_W:
+      return scm_from_utf8_symbol ("key-w");
+      break;
 
-      case irr::KEY_LWIN:
-        return scm_from_utf8_symbol ("lwin");
-        break;
+    case KEY_KEY_X:
+      return scm_from_utf8_symbol ("key-x");
+      break;
 
-      case irr::KEY_RWIN:
-        return scm_from_utf8_symbol ("rwin");
-        break;
+    case KEY_KEY_Y:
+      return scm_from_utf8_symbol ("key-y");
+      break;
 
-      case irr::KEY_APPS:
-        return scm_from_utf8_symbol ("apps");
-        break;
+    case KEY_KEY_Z:
+      return scm_from_utf8_symbol ("key-z");
+      break;
 
-      case irr::KEY_SLEEP:
-        return scm_from_utf8_symbol ("sleep");
-        break;
+    case KEY_LWIN:
+      return scm_from_utf8_symbol ("lwin");
+      break;
 
-      case irr::KEY_NUMPAD0:
-        return scm_from_utf8_symbol ("numpad0");
-        break;
+    case KEY_RWIN:
+      return scm_from_utf8_symbol ("rwin");
+      break;
 
-      case irr::KEY_NUMPAD1:
-        return scm_from_utf8_symbol ("numpad1");
-        break;
+    case KEY_APPS:
+      return scm_from_utf8_symbol ("apps");
+      break;
 
-      case irr::KEY_NUMPAD2:
-        return scm_from_utf8_symbol ("numpad2");
-        break;
+    case KEY_SLEEP:
+      return scm_from_utf8_symbol ("sleep");
+      break;
 
-      case irr::KEY_NUMPAD3:
-        return scm_from_utf8_symbol ("numpad3");
-        break;
+    case KEY_NUMPAD0:
+      return scm_from_utf8_symbol ("numpad0");
+      break;
 
-      case irr::KEY_NUMPAD4:
-        return scm_from_utf8_symbol ("numpad4");
-        break;
+    case KEY_NUMPAD1:
+      return scm_from_utf8_symbol ("numpad1");
+      break;
 
-      case irr::KEY_NUMPAD5:
-        return scm_from_utf8_symbol ("numpad5");
-        break;
+    case KEY_NUMPAD2:
+      return scm_from_utf8_symbol ("numpad2");
+      break;
 
-      case irr::KEY_NUMPAD6:
-        return scm_from_utf8_symbol ("numpad6");
-        break;
+    case KEY_NUMPAD3:
+      return scm_from_utf8_symbol ("numpad3");
+      break;
 
-      case irr::KEY_NUMPAD7:
-        return scm_from_utf8_symbol ("numpad7");
-        break;
+    case KEY_NUMPAD4:
+      return scm_from_utf8_symbol ("numpad4");
+      break;
 
-      case irr::KEY_NUMPAD8:
-        return scm_from_utf8_symbol ("numpad8");
-        break;
+    case KEY_NUMPAD5:
+      return scm_from_utf8_symbol ("numpad5");
+      break;
 
-      case irr::KEY_NUMPAD9:
-        return scm_from_utf8_symbol ("numpad9");
-        break;
+    case KEY_NUMPAD6:
+      return scm_from_utf8_symbol ("numpad6");
+      break;
 
-      case irr::KEY_MULTIPLY:
-        return scm_from_utf8_symbol ("multiply");
-        break;
+    case KEY_NUMPAD7:
+      return scm_from_utf8_symbol ("numpad7");
+      break;
 
-      case irr::KEY_ADD:
-        return scm_from_utf8_symbol ("add");
-        break;
+    case KEY_NUMPAD8:
+      return scm_from_utf8_symbol ("numpad8");
+      break;
 
-      case irr::KEY_SEPARATOR:
-        return scm_from_utf8_symbol ("separator");
-        break;
+    case KEY_NUMPAD9:
+      return scm_from_utf8_symbol ("numpad9");
+      break;
 
-      case irr::KEY_SUBTRACT:
-        return scm_from_utf8_symbol ("subtract");
-        break;
+    case KEY_MULTIPLY:
+      return scm_from_utf8_symbol ("multiply");
+      break;
 
-      case irr::KEY_DECIMAL:
-        return scm_from_utf8_symbol ("decimal");
-        break;
+    case KEY_ADD:
+      return scm_from_utf8_symbol ("add");
+      break;
 
-      case irr::KEY_DIVIDE:
-        return scm_from_utf8_symbol ("divide");
-        break;
+    case KEY_SEPARATOR:
+      return scm_from_utf8_symbol ("separator");
+      break;
 
-      case irr::KEY_F1:
-        return scm_from_utf8_symbol ("f1");
-        break;
+    case KEY_SUBTRACT:
+      return scm_from_utf8_symbol ("subtract");
+      break;
 
-      case irr::KEY_F2:
-        return scm_from_utf8_symbol ("f2");
-        break;
+    case KEY_DECIMAL:
+      return scm_from_utf8_symbol ("decimal");
+      break;
 
-      case irr::KEY_F3:
-        return scm_from_utf8_symbol ("f3");
-        break;
+    case KEY_DIVIDE:
+      return scm_from_utf8_symbol ("divide");
+      break;
 
-      case irr::KEY_F4:
-        return scm_from_utf8_symbol ("f4");
-        break;
+    case KEY_F1:
+      return scm_from_utf8_symbol ("f1");
+      break;
 
-      case irr::KEY_F5:
-        return scm_from_utf8_symbol ("f5");
-        break;
+    case KEY_F2:
+      return scm_from_utf8_symbol ("f2");
+      break;
 
-      case irr::KEY_F6:
-        return scm_from_utf8_symbol ("f6");
-        break;
+    case KEY_F3:
+      return scm_from_utf8_symbol ("f3");
+      break;
 
-      case irr::KEY_F7:
-        return scm_from_utf8_symbol ("f7");
-        break;
+    case KEY_F4:
+      return scm_from_utf8_symbol ("f4");
+      break;
 
-      case irr::KEY_F8:
-        return scm_from_utf8_symbol ("f8");
-        break;
+    case KEY_F5:
+      return scm_from_utf8_symbol ("f5");
+      break;
 
-      case irr::KEY_F9:
-        return scm_from_utf8_symbol ("f9");
-        break;
+    case KEY_F6:
+      return scm_from_utf8_symbol ("f6");
+      break;
 
-      case irr::KEY_F10:
-        return scm_from_utf8_symbol ("f10");
-        break;
+    case KEY_F7:
+      return scm_from_utf8_symbol ("f7");
+      break;
 
-      case irr::KEY_F11:
-        return scm_from_utf8_symbol ("f11");
-        break;
+    case KEY_F8:
+      return scm_from_utf8_symbol ("f8");
+      break;
 
-      case irr::KEY_F12:
-        return scm_from_utf8_symbol ("f12");
-        break;
+    case KEY_F9:
+      return scm_from_utf8_symbol ("f9");
+      break;
 
-      case irr::KEY_F13:
-        return scm_from_utf8_symbol ("f13");
-        break;
+    case KEY_F10:
+      return scm_from_utf8_symbol ("f10");
+      break;
 
-      case irr::KEY_F14:
-        return scm_from_utf8_symbol ("f14");
-        break;
+    case KEY_F11:
+      return scm_from_utf8_symbol ("f11");
+      break;
 
-      case irr::KEY_F15:
-        return scm_from_utf8_symbol ("f15");
-        break;
+    case KEY_F12:
+      return scm_from_utf8_symbol ("f12");
+      break;
 
-      case irr::KEY_F16:
-        return scm_from_utf8_symbol ("f16");
-        break;
+    case KEY_F13:
+      return scm_from_utf8_symbol ("f13");
+      break;
 
-      case irr::KEY_F17:
-        return scm_from_utf8_symbol ("f17");
-        break;
+    case KEY_F14:
+      return scm_from_utf8_symbol ("f14");
+      break;
 
-      case irr::KEY_F18:
-        return scm_from_utf8_symbol ("f18");
-        break;
+    case KEY_F15:
+      return scm_from_utf8_symbol ("f15");
+      break;
 
-      case irr::KEY_F19:
-        return scm_from_utf8_symbol ("f19");
-        break;
+    case KEY_F16:
+      return scm_from_utf8_symbol ("f16");
+      break;
 
-      case irr::KEY_F20:
-        return scm_from_utf8_symbol ("f20");
-        break;
+    case KEY_F17:
+      return scm_from_utf8_symbol ("f17");
+      break;
 
-      case irr::KEY_F21:
-        return scm_from_utf8_symbol ("f21");
-        break;
+    case KEY_F18:
+      return scm_from_utf8_symbol ("f18");
+      break;
 
-      case irr::KEY_F22:
-        return scm_from_utf8_symbol ("f22");
-        break;
+    case KEY_F19:
+      return scm_from_utf8_symbol ("f19");
+      break;
 
-      case irr::KEY_F23:
-        return scm_from_utf8_symbol ("f23");
-        break;
+    case KEY_F20:
+      return scm_from_utf8_symbol ("f20");
+      break;
 
-      case irr::KEY_F24:
-        return scm_from_utf8_symbol ("f24");
-        break;
+    case KEY_F21:
+      return scm_from_utf8_symbol ("f21");
+      break;
 
-      case irr::KEY_NUMLOCK:
-        return scm_from_utf8_symbol ("numlock");
-        break;
+    case KEY_F22:
+      return scm_from_utf8_symbol ("f22");
+      break;
 
-      case irr::KEY_SCROLL:
-        return scm_from_utf8_symbol ("scroll");
-        break;
+    case KEY_F23:
+      return scm_from_utf8_symbol ("f23");
+      break;
 
-      case irr::KEY_LSHIFT:
-        return scm_from_utf8_symbol ("lshift");
-        break;
+    case KEY_F24:
+      return scm_from_utf8_symbol ("f24");
+      break;
 
-      case irr::KEY_RSHIFT:
-        return scm_from_utf8_symbol ("rshift");
-        break;
+    case KEY_NUMLOCK:
+      return scm_from_utf8_symbol ("numlock");
+      break;
 
-      case irr::KEY_LCONTROL:
-        return scm_from_utf8_symbol ("lcontrol");
-        break;
+    case KEY_SCROLL:
+      return scm_from_utf8_symbol ("scroll");
+      break;
 
-      case irr::KEY_RCONTROL:
-        return scm_from_utf8_symbol ("rcontrol");
-        break;
+    case KEY_LSHIFT:
+      return scm_from_utf8_symbol ("lshift");
+      break;
 
-      case irr::KEY_LMENU:
-        return scm_from_utf8_symbol ("lmenu");
-        break;
+    case KEY_RSHIFT:
+      return scm_from_utf8_symbol ("rshift");
+      break;
 
-      case irr::KEY_RMENU:
-        return scm_from_utf8_symbol ("rmenu");
-        break;
+    case KEY_LCONTROL:
+      return scm_from_utf8_symbol ("lcontrol");
+      break;
 
-      case irr::KEY_OEM_1:
-        return scm_from_utf8_symbol ("oem-1");
-        break;
+    case KEY_RCONTROL:
+      return scm_from_utf8_symbol ("rcontrol");
+      break;
 
-      case irr::KEY_PLUS:
-        return scm_from_utf8_symbol ("plus");
-        break;
+    case KEY_LMENU:
+      return scm_from_utf8_symbol ("lmenu");
+      break;
 
-      case irr::KEY_COMMA:
-        return scm_from_utf8_symbol ("comma");
-        break;
+    case KEY_RMENU:
+      return scm_from_utf8_symbol ("rmenu");
+      break;
 
-      case irr::KEY_MINUS:
-        return scm_from_utf8_symbol ("minus");
-        break;
+    case KEY_OEM_1:
+      return scm_from_utf8_symbol ("oem-1");
+      break;
 
-      case irr::KEY_PERIOD:
-        return scm_from_utf8_symbol ("period");
-        break;
+    case KEY_PLUS:
+      return scm_from_utf8_symbol ("plus");
+      break;
 
-      case irr::KEY_OEM_2:
-        return scm_from_utf8_symbol ("oem-2");
-        break;
+    case KEY_COMMA:
+      return scm_from_utf8_symbol ("comma");
+      break;
 
-      case irr::KEY_OEM_3:
-        return scm_from_utf8_symbol ("oem-3");
-        break;
+    case KEY_MINUS:
+      return scm_from_utf8_symbol ("minus");
+      break;
 
-      case irr::KEY_OEM_4:
-        return scm_from_utf8_symbol ("oem-4");
-        break;
+    case KEY_PERIOD:
+      return scm_from_utf8_symbol ("period");
+      break;
 
-      case irr::KEY_OEM_5:
-        return scm_from_utf8_symbol ("oem-5");
-        break;
+    case KEY_OEM_2:
+      return scm_from_utf8_symbol ("oem-2");
+      break;
 
-      case irr::KEY_OEM_6:
-        return scm_from_utf8_symbol ("oem-6");
-        break;
+    case KEY_OEM_3:
+      return scm_from_utf8_symbol ("oem-3");
+      break;
 
-      case irr::KEY_OEM_7:
-        return scm_from_utf8_symbol ("oem-7");
-        break;
+    case KEY_OEM_4:
+      return scm_from_utf8_symbol ("oem-4");
+      break;
 
-      case irr::KEY_OEM_8:
-        return scm_from_utf8_symbol ("oem-8");
-        break;
+    case KEY_OEM_5:
+      return scm_from_utf8_symbol ("oem-5");
+      break;
 
-      case irr::KEY_OEM_AX:
-        return scm_from_utf8_symbol ("oem-ax");
-        break;
+    case KEY_OEM_6:
+      return scm_from_utf8_symbol ("oem-6");
+      break;
 
-      case irr::KEY_OEM_102:
-        return scm_from_utf8_symbol ("oem-102");
-        break;
+    case KEY_OEM_7:
+      return scm_from_utf8_symbol ("oem-7");
+      break;
 
-      case irr::KEY_ATTN:
-        return scm_from_utf8_symbol ("attn");
-        break;
+    case KEY_OEM_8:
+      return scm_from_utf8_symbol ("oem-8");
+      break;
 
-      case irr::KEY_CRSEL:
-        return scm_from_utf8_symbol ("crsel");
-        break;
+    case KEY_OEM_AX:
+      return scm_from_utf8_symbol ("oem-ax");
+      break;
 
-      case irr::KEY_EXSEL:
-        return scm_from_utf8_symbol ("exsel");
-        break;
+    case KEY_OEM_102:
+      return scm_from_utf8_symbol ("oem-102");
+      break;
 
-      case irr::KEY_EREOF:
-        return scm_from_utf8_symbol ("ereof");
-        break;
+    case KEY_ATTN:
+      return scm_from_utf8_symbol ("attn");
+      break;
 
-      case irr::KEY_PLAY:
-        return scm_from_utf8_symbol ("play");
-        break;
+    case KEY_CRSEL:
+      return scm_from_utf8_symbol ("crsel");
+      break;
 
-      case irr::KEY_ZOOM:
-        return scm_from_utf8_symbol ("zoom");
-        break;
+    case KEY_EXSEL:
+      return scm_from_utf8_symbol ("exsel");
+      break;
 
-      case irr::KEY_PA1:
-        return scm_from_utf8_symbol ("pa1");
-        break;
+    case KEY_EREOF:
+      return scm_from_utf8_symbol ("ereof");
+      break;
 
-      case irr::KEY_OEM_CLEAR:
-        return scm_from_utf8_symbol ("oem-clear");
-        break;
+    case KEY_PLAY:
+      return scm_from_utf8_symbol ("play");
+      break;
 
-      default:
-        SCM code = scm_from_uint (key_code);
-        scm_error (scm_arg_type_key, NULL, "Wrong key code: ~S",
-                   scm_list_1 (code), scm_list_1 (code));
-      }
-  }
+    case KEY_ZOOM:
+      return scm_from_utf8_symbol ("zoom");
+      break;
 
+    case KEY_PA1:
+      return scm_from_utf8_symbol ("pa1");
+      break;
+
+    case KEY_OEM_CLEAR:
+      return scm_from_utf8_symbol ("oem-clear");
+      break;
+
+    default:
+      SCM code = scm_from_uint (key_code);
+      scm_error (scm_arg_type_key, NULL, "Wrong key code: ~S",
+                 scm_list_1 (code), scm_list_1 (code));
+    }
 }
index 550a6e71a0d5362650b9b5a33d08be5390413d48..a9a04a80af39eeafd3cb99ca1fcd49ffaaed970b 100644 (file)
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
 
-extern "C" {
-
-  SCM
-  scm_from_key_code (irr::EKEY_CODE key_code);
-
-}
+SCM
+scm_from_key_code (irr::EKEY_CODE key_code);
 
 #endif