Changeset ec153a0 in mainline for kbd/generic/key_buffer.c


Ignore:
Timestamp:
2006-05-16T09:46:22Z (19 years ago)
Author:
Josef Cejka <malyzelenyhnus@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ca603c6
Parents:
250717cc
Message:

Comments update.
Fix problem with multiple buffered callers awaiting key.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kbd/generic/key_buffer.c

    r250717cc rec153a0  
    3030#include <fifo.h>
    3131
    32 #define KBD_BUFFER_SIZE 128
     32#define KBD_BUFFER_SIZE 128 /**< Size of buffer for pressed keys */
    3333
    34 FIFO_INITIALIZE_STATIC(buffer, char, KBD_BUFFER_SIZE);
    35 fifo_count_t buffer_items;
     34FIFO_INITIALIZE_STATIC(buffer, char, KBD_BUFFER_SIZE);  /**< Fifo for storing pressed keys */
     35fifo_count_t buffer_items;      /**< Counter of used items for prevent fifo overflow */
    3636
     37/** Clear key buffer.
     38 */
    3739void key_buffer_free(void)
    3840{
     
    4143}
    4244
     45/** Key buffer initialization.
     46 *
     47 */
    4348void key_buffer_init(void)
    4449{
     
    4651}
    4752
    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.
    4956 * @return empty buffer space
    5057 */
     
    5461}
    5562
     63/**
     64 * @return nonzero, if buffer is not empty.
     65 */
     66int 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 */
    5675void key_buffer_push(char key)
    5776{
    58         /* TODO: somebody may wait for key */
    5977        if (buffer_items < KBD_BUFFER_SIZE) {
    6078                fifo_push(buffer, key);
     
    6482
    6583/** Pop character from buffer.
    66  * @param c
     84 * @param c pointer to space where to store character from buffer.
    6785 * @return zero on empty buffer, nonzero else
    6886 */
Note: See TracChangeset for help on using the changeset viewer.