1.1 diff -r 674226015c8a -r ebce87d87808 src/keyboard.h 1.2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 +++ b/src/keyboard.h Thu Dec 30 00:37:03 2010 +0000 1.4 @@ -0,0 +1,33 @@ 1.5 +#ifndef _KEYBOARD_H 1.6 +#define _KEYBOARD_H 1.7 + 1.8 +#define KEYBOARD_BUFFER_SIZE 0x100 1.9 + 1.10 +/** 1.11 + * Keyboard controller state 1.12 + */ 1.13 +typedef struct { 1.14 + unsigned char keybuf[KEYBOARD_BUFFER_SIZE]; ///< Keyboard data buffer 1.15 + size_t readptr; ///< Keyboard buffer read pointer 1.16 + size_t writeptr; ///< Keyboard buffer write pointer 1.17 + size_t buflen; ///< Keyboard buffer fill level (buffer length) 1.18 + int keystate[0x80]; ///< List of key up/down states 1.19 +} KEYBOARD_STATE; 1.20 + 1.21 +/** 1.22 + * Initialise the keyboard. 1.23 + * 1.24 + * Initialises a keyboard state block in preparation for keyboard events. 1.25 + * 1.26 + * @param state Keyboard state block 1.27 + */ 1.28 +void keyboard_init(KEYBOARD_STATE *state); 1.29 + 1.30 +/** 1.31 + * Issue a keyboard event. 1.32 + * 1.33 + * Call this function when SDL issues a keyboard event in the event loop. 1.34 + */ 1.35 +void keyboard_event(KEYBOARD_STATE *state, SDL_Event *ev); 1.36 + 1.37 +#endif