DEADSOFTWARE

keyb.c keyb.h moved to repo. Added license notification
authorAndriy Shinkarchuck <adriano32.gnu@gmail.com>
Sun, 24 Jul 2011 16:34:05 +0000 (19:34 +0300)
committerAndriy Shinkarchuck <adriano32.gnu@gmail.com>
Sun, 24 Jul 2011 16:34:05 +0000 (19:34 +0300)
keyb.c [new file with mode: 0755]
keyb.h [new file with mode: 0755]

diff --git a/keyb.c b/keyb.c
new file mode 100755 (executable)
index 0000000..d287b16
--- /dev/null
+++ b/keyb.c
@@ -0,0 +1,65 @@
+/*
+   Copyright (C) Prikol Software 1996-1997
+   Copyright (C) Aleksey Volynskov 1996-1997
+   Copyright (C) <ARembo@gmail.com> 2011
+
+   This file is part of the Doom2D:Rembo project.
+
+   Doom2D:Rembo is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License version 2 as
+   published by the Free Software Foundation.
+
+   Doom2D:Rembo is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/> or
+   write to the Free Software Foundation, Inc.,
+   51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+*/
+
+#include "keyb.h"
+#include <SDL.h>
+
+// стандартная функция обработки клавиш
+key_f def_key_proc;
+
+// массив клавиш: 0 - отпущена, иначе - нажата
+unsigned char *keys = NULL;
+
+static key_f *key_proc = NULL;
+
+
+void K_init()
+{
+    keys = SDL_GetKeyState(NULL);
+}
+
+void K_done()
+{
+    
+}
+// установить функцию обработки клавиш
+ void K_setkeyproc(key_f *k)
+{
+     key_proc = k;
+}
+
+void updatee_keys()
+{
+    SDL_Event event;
+    while (SDL_PollEvent (&event)) {
+       if (event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_RETURN && event.key.keysym.mod & KMOD_LALT) {
+            V_toggle();
+       }
+       else if (event.type == SDL_KEYDOWN || event.type == SDL_KEYUP) {
+         if (event.type == SDL_KEYDOWN && key_proc!=NULL)
+             key_proc(event.key.keysym.sym, event.type == SDL_KEYDOWN);
+       }
+       else if (event.type == SDL_QUIT) {
+           ERR_quit();
+       }
+    }
+}
diff --git a/keyb.h b/keyb.h
new file mode 100755 (executable)
index 0000000..0684fc5
--- /dev/null
+++ b/keyb.h
@@ -0,0 +1,51 @@
+/*
+   Драйвер клавиатуры V1.1 для DOS4GW (а также DirectX 3)
+   Copyright (C) Алексей Волынсков, 1996
+
+   Copyright (C) Prikol Software 1996-1997
+   Copyright (C) Aleksey Volynskov 1996-1997
+   Copyright (C) <ARembo@gmail.com> 2011
+
+   This file is part of the Doom2D:Rembo project.
+
+   Doom2D:Rembo is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License version 2 as
+   published by the Free Software Foundation.
+
+   Doom2D:Rembo is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/> or
+   write to the Free Software Foundation, Inc.,
+   51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+*/
+
+#ifndef MYKEYB
+#define MYKEYB
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void K_init();
+void K_done();
+
+// тип функции обработки клавиш
+typedef void key_f(int k,int pressed);
+
+// установить функцию обработки клавиш
+void K_setkeyproc(key_f *);
+
+// массив клавиш: 0 - отпущена, иначе - нажата
+extern unsigned char *keys;
+
+void updatee_keys();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif