Rev 2541 | Rev 4236 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2541 | Rev 3905 | ||
---|---|---|---|
Line 36... | Line 36... | ||
36 | 36 | ||
37 | #ifndef __KEY_BUFFER_H__ |
37 | #ifndef __KEY_BUFFER_H__ |
38 | #define __KEY_BUFFER_H__ |
38 | #define __KEY_BUFFER_H__ |
39 | 39 | ||
40 | #include <sys/types.h> |
40 | #include <sys/types.h> |
- | 41 | #include <kbd/kbd.h> |
|
41 | 42 | ||
42 | /** Size of buffer for pressed keys */ |
43 | /** Size of buffer for pressed keys */ |
43 | #define KEYBUFFER_SIZE 128 |
44 | #define KEYBUFFER_SIZE 128 |
44 | 45 | ||
45 | typedef struct { |
46 | typedef struct { |
46 | int fifo[KEYBUFFER_SIZE]; |
47 | kbd_event_t fifo[KEYBUFFER_SIZE]; |
47 | unsigned long head; |
48 | unsigned long head; |
48 | unsigned long tail; |
49 | unsigned long tail; |
49 | unsigned long items; |
50 | unsigned long items; |
50 | } keybuffer_t; |
51 | } keybuffer_t; |
51 | 52 | ||
52 | void keybuffer_free(keybuffer_t *keybuffer); |
53 | extern void keybuffer_free(keybuffer_t *); |
53 | void keybuffer_init(keybuffer_t *keybuffer); |
54 | extern void keybuffer_init(keybuffer_t *); |
54 | int keybuffer_available(keybuffer_t *keybuffer); |
55 | extern int keybuffer_available(keybuffer_t *); |
55 | int keybuffer_empty(keybuffer_t *keybuffer); |
56 | extern int keybuffer_empty(keybuffer_t *); |
- | 57 | extern void keybuffer_push(keybuffer_t *, const kbd_event_t *); |
|
56 | void keybuffer_push(keybuffer_t *keybuffer, int key); |
58 | extern void keybuffer_push0(keybuffer_t *, int c); |
57 | int keybuffer_pop(keybuffer_t *keybuffer, int *c); |
59 | extern int keybuffer_pop(keybuffer_t *, kbd_event_t *); |
58 | 60 | ||
59 | #endif |
61 | #endif |
60 | 62 | ||
61 | /** |
63 | /** |
62 | * @} |
64 | * @} |