Changeset ec153a0 in mainline for kbd/generic/key_buffer.c
- Timestamp:
- 2006-05-16T09:46:22Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ca603c6
- Parents:
- 250717cc
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kbd/generic/key_buffer.c
r250717cc rec153a0 30 30 #include <fifo.h> 31 31 32 #define KBD_BUFFER_SIZE 128 32 #define KBD_BUFFER_SIZE 128 /**< Size of buffer for pressed keys */ 33 33 34 FIFO_INITIALIZE_STATIC(buffer, char, KBD_BUFFER_SIZE); 35 fifo_count_t buffer_items; 34 FIFO_INITIALIZE_STATIC(buffer, char, KBD_BUFFER_SIZE); /**< Fifo for storing pressed keys */ 35 fifo_count_t buffer_items; /**< Counter of used items for prevent fifo overflow */ 36 36 37 /** Clear key buffer. 38 */ 37 39 void key_buffer_free(void) 38 40 { … … 41 43 } 42 44 45 /** Key buffer initialization. 46 * 47 */ 43 48 void key_buffer_init(void) 44 49 { … … 46 51 } 47 52 48 /** 53 /** Get free space in buffer. 54 * This function is useful for processing some scancodes that are translated 55 * to more than one character. 49 56 * @return empty buffer space 50 57 */ … … 54 61 } 55 62 63 /** 64 * @return nonzero, if buffer is not empty. 65 */ 66 int key_buffer_empty(void) 67 { 68 return (buffer_items == 0); 69 } 70 71 /** Push key to key buffer. 72 * If buffer is full, character is ignored. 73 * @param key code of stored key 74 */ 56 75 void key_buffer_push(char key) 57 76 { 58 /* TODO: somebody may wait for key */59 77 if (buffer_items < KBD_BUFFER_SIZE) { 60 78 fifo_push(buffer, key); … … 64 82 65 83 /** Pop character from buffer. 66 * @param c 84 * @param c pointer to space where to store character from buffer. 67 85 * @return zero on empty buffer, nonzero else 68 86 */
Note:
See TracChangeset
for help on using the changeset viewer.