]> rtime.felk.cvut.cz Git - lincan.git/blob - 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
1 #include <system_def.h>
2
3 #ifndef KEY_DEFAULT_TIMES
4   #define KEY_PUSH_T    20
5   #define KEY_RELEASE_T 10
6   #define KEY_REPFIRST_T 800
7   #define KEY_REPNEXT_T 300
8 #endif /* KEY_DEFAULT_TIMES */
9
10 typedef struct {
11         kbd_key_t bc;
12         kbd_key_t sc;
13 } scan2key_t;
14
15 typedef struct {
16         int scan;
17         int flag;
18         kbd_keymod_t is_mod;
19         kbd_keymod_t set_mod;
20         kbd_keymod_t xor_mod;
21 } scan2mod_t;
22
23 #define KBDMOD_SGM_SC           0x8000
24 #define KBDMOD_SGM_RELEASE      0x0080
25
26 extern int key_last_changed;
27 extern kbd_keymod_t key_mod;
28 extern unsigned char key_hit;
29 extern short key_use_timer;
30 extern unsigned char key_down_arr[KBD_SCAN_CNT];
31
32 unsigned char kbd_onerow(unsigned char scan);
33 void kbd_setio(void);
34
35 int kbd_scan();
36 void kbd_scan2mod(int scan_code);
37 int kbd_down();
38 kbd_key_t kbd_scan2key(int scan);
39
40 int kbd_Open(KBDDEVICE *pkd);
41 void kbd_Close(void);
42 void kbd_GetModifierInfo(kbd_keymod_t *modifiers, kbd_keymod_t *curmodifiers);
43 int kbd_Read(kbd_key_t *buf, kbd_keymod_t *modifiers, kbd_scan_code_t *scancode);
44 int kbd_Poll(void);
45