#include "inputbuffer.h" /* manageInputBuffer * Applies keyboard input to a text input buffer. Returns 1 if the enter key was * pressed (there must be content in buffer) */ int manageInputBuffer(InputBuffer *inputBuffer, Inputs *inputs) { if (!inputs->keyTyped && !inputs->keySym) { return 0; } // printf("Typed key: %d\n", inputs->keyTyped); if (inputs->keySym == SDLK_BACKSPACE) { // Delete last char and decrement cursor // position if (inputBuffer->cursor > 0) { inputBuffer->buffer[--inputBuffer->cursor] = 0; } } else if (inputs->keySym == SDLK_RETURN && inputBuffer->cursor > 0) { return 1; } else if ( inputs->keyTyped > 31 && inputs->keyTyped < 127 && inputBuffer->cursor < inputBuffer->len - 1) { inputBuffer->buffer[inputBuffer->cursor] = inputs->keyTyped; inputBuffer->cursor += 1; inputBuffer->buffer[inputBuffer->cursor] = 0; } return 0; }