]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - embedded/libs4c/kbd/kbd.h
Included ARM LPC21xx related code from uLan project. The snapshot date is 2008-07-05
[lincan.git] / embedded / libs4c / kbd / kbd.h
diff --git a/embedded/libs4c/kbd/kbd.h b/embedded/libs4c/kbd/kbd.h
new file mode 100644 (file)
index 0000000..6721c8d
--- /dev/null
@@ -0,0 +1,45 @@
+#include <system_def.h>
+
+#ifndef KEY_DEFAULT_TIMES
+  #define KEY_PUSH_T   20
+  #define KEY_RELEASE_T        10
+  #define KEY_REPFIRST_T 800
+  #define KEY_REPNEXT_T        300
+#endif /* KEY_DEFAULT_TIMES */
+
+typedef struct {
+       kbd_key_t bc;
+       kbd_key_t sc;
+} scan2key_t;
+
+typedef struct {
+       int scan;
+       int flag;
+       kbd_keymod_t is_mod;
+       kbd_keymod_t set_mod;
+       kbd_keymod_t xor_mod;
+} scan2mod_t;
+
+#define KBDMOD_SGM_SC          0x8000
+#define KBDMOD_SGM_RELEASE     0x0080
+
+extern int key_last_changed;
+extern kbd_keymod_t key_mod;
+extern unsigned char key_hit;
+extern short key_use_timer;
+extern unsigned char key_down_arr[KBD_SCAN_CNT];
+
+unsigned char kbd_onerow(unsigned char scan);
+void kbd_setio(void);
+
+int kbd_scan();
+void kbd_scan2mod(int scan_code);
+int kbd_down();
+kbd_key_t kbd_scan2key(int scan);
+
+int kbd_Open(KBDDEVICE *pkd);
+void kbd_Close(void);
+void kbd_GetModifierInfo(kbd_keymod_t *modifiers, kbd_keymod_t *curmodifiers);
+int kbd_Read(kbd_key_t *buf, kbd_keymod_t *modifiers, kbd_scan_code_t *scancode);
+int kbd_Poll(void);
+