Rev 1344 | Rev 1476 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1344 | Rev 1451 | ||
|---|---|---|---|
| Line 29... | Line 29... | ||
| 29 | #ifndef __KEY_BUFFER_H__ |
29 | #ifndef __KEY_BUFFER_H__ |
| 30 | #define __KEY_BUFFER_H__ |
30 | #define __KEY_BUFFER_H__ |
| 31 | 31 | ||
| 32 | #include <types.h> |
32 | #include <types.h> |
| 33 | 33 | ||
| - | 34 | #define KEYBUFFER_SIZE 128 /**< Size of buffer for pressed keys */ |
|
| - | 35 | ||
| - | 36 | typedef struct { |
|
| - | 37 | char fifo[KEYBUFFER_SIZE]; |
|
| - | 38 | unsigned long head; |
|
| - | 39 | unsigned long tail; |
|
| - | 40 | unsigned long items; |
|
| - | 41 | } keybuffer_t; |
|
| - | 42 | ||
| 34 | void key_buffer_free(void); |
43 | void keybuffer_free(keybuffer_t *keybuffer); |
| 35 | void key_buffer_init(void); |
44 | void keybuffer_init(keybuffer_t *keybuffer); |
| 36 | int key_buffer_available(void); |
45 | int keybuffer_available(keybuffer_t *keybuffer); |
| 37 | int key_buffer_empty(void); |
46 | int keybuffer_empty(keybuffer_t *keybuffer); |
| 38 | void key_buffer_push(char key); |
47 | void keybuffer_push(keybuffer_t *keybuffer, char key); |
| 39 | int key_buffer_pop(char *c); |
48 | int keybuffer_pop(keybuffer_t *keybuffer, char *c); |
| 40 | 49 | ||
| 41 | #endif |
50 | #endif |
| 42 | 51 | ||