Mercurial > sdl-ios-xcode
diff include/SDL_keyboard.h @ 1895:c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 10 Jul 2006 21:04:37 +0000 |
parents | 1ff64ad478b2 |
children | 047245361002 |
line wrap: on
line diff
--- a/include/SDL_keyboard.h Thu Jul 06 18:01:37 2006 +0000 +++ b/include/SDL_keyboard.h Mon Jul 10 21:04:37 2006 +0000 @@ -20,7 +20,11 @@ slouken@libsdl.org */ -/* Include file for SDL keyboard event handling */ +/** + * \file SDL_keyboard.h + * + * Include file for SDL keyboard event handling + */ #ifndef _SDL_keyboard_h #define _SDL_keyboard_h @@ -32,90 +36,133 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/* Keysym structure - - The scancode is hardware dependent, and should not be used by general - applications. If no hardware scancode is available, it will be 0. - - - The 'unicode' translated character is only available when character - translation is enabled by the SDL_EnableUNICODE() API. If non-zero, - this is a UNICODE character corresponding to the keypress. If the - high 9 bits of the character are 0, then this maps to the equivalent - ASCII character: - char ch; - if ( (keysym.unicode & 0xFF80) == 0 ) { - ch = keysym.unicode & 0x7F; - } else { - An international character.. - } +/** + * \struct SDL_keysym + * + * \brief The SDL keysym structure, used in key events. */ -typedef struct SDL_keysym { - Uint8 scancode; /* hardware specific scancode */ - SDLKey sym; /* SDL virtual keysym */ - SDLMod mod; /* current key modifiers */ - Uint16 unicode; /* translated character */ +typedef struct SDL_keysym +{ + Uint8 scancode; /**< keyboard specific scancode */ + Uint8 padding[3]; /**< alignment padding */ + Uint16 sym; /**< SDL virtual keysym */ + Uint16 mod; /**< current key modifiers */ + Uint32 unicode; /**< OBSOLETE, use SDL_TextInputEvent instead */ } SDL_keysym; -/* This is the mask which refers to all hotkey bindings */ -#define SDL_ALL_HOTKEYS 0xFFFFFFFF +/* Function prototypes */ + +/** + * \fn int SDL_GetNumKeyboards(void) + * + * \brief Get the number of keyboard input devices available. + * + * \sa SDL_SelectKeyboard() + */ +extern DECLSPEC int SDLCALL SDL_GetNumKeyboards(void); -/* Function prototypes */ -/* - * Enable/Disable UNICODE translation of keyboard input. - * This translation has some overhead, so translation defaults off. - * If 'enable' is 1, translation is enabled. - * If 'enable' is 0, translation is disabled. - * If 'enable' is -1, the translation state is not changed. - * It returns the previous state of keyboard translation. +/** + * \fn int SDL_SelectKeyboard(int index) + * + * \brief Set the index of the currently selected keyboard. + * + * \return The index of the previously selected keyboard. + * + * \note You can query the currently selected keyboard by passing an index of -1. + * + * \sa SDL_GetNumKeyboards() + */ +extern DECLSPEC int SDLCALL SDL_SelectKeyboard(int index); + +/** + * \fn int SDL_EnableUNICODE(int enable) + * + * \brief Enable/Disable UNICODE translation of keyboard input. + * + * \param enable 1 to enable translation, 0 to disable translation, -1 to query translation + * + * \return The previous state of keyboard translation + * + * \note This translation has some overhead, so translation defaults off. */ extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable); -/* - * Enable/Disable keyboard repeat. Keyboard repeat defaults to off. - * 'delay' is the initial delay in ms between the time when a key is - * pressed, and keyboard repeat begins. - * 'interval' is the time in ms between keyboard repeat events. +/** + * \fn int SDL_EnableKeyRepeat(int delay, int interval) + * + * \brief Enable keyboard repeat for the selected keyboard. + * + * \param delay The initial delay in milliseconds between the time when a + * key is pressed and keyboard repeat begins. Setting a delay + * of 0 will disable keyboard repeat. + * \param interval The time in milliseconds between keyboard repeat events. + * + * \return 0 on success, or -1 if there was an error. + * + * \note Keyboard repeat defaults to off. */ #define SDL_DEFAULT_REPEAT_DELAY 500 #define SDL_DEFAULT_REPEAT_INTERVAL 30 -/* - * If 'delay' is set to 0, keyboard repeat is disabled. + /**/ + extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); + +/** + * \fn void SDL_GetKeyRepeat(int *delay, int *interval) + * + * \brief Get the current keyboard repeat setting for the selected keyboard. */ -extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval); -/* - * Get a snapshot of the current state of the keyboard. - * Returns an array of keystates, indexed by the SDLK_* syms. - * Used: +/** + * \fn Uint8 *SDL_GetKeyState(int *numkeys) + * + * \brief Get a snapshot of the current state of the selected keyboard. + * + * \return An array of keystates, indexed by the SDLK_* syms. + * + * Example: * Uint8 *keystate = SDL_GetKeyState(NULL); * if ( keystate[SDLK_RETURN] ) ... <RETURN> is pressed. */ -extern DECLSPEC Uint8 * SDLCALL SDL_GetKeyState(int *numkeys); +extern DECLSPEC Uint8 *SDLCALL SDL_GetKeyState(int *numkeys); -/* - * Get the current key modifier state +/** + * \fn SDLMod SDL_GetModState(void) + * + * \brief Get the current key modifier state for the selected keyboard. */ extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void); -/* - * Set the current key modifier state - * This does not change the keyboard state, only the key modifier flags. +/** + * \fn void SDL_SetModState(SDLMod modstate) + * + * \brief Set the current key modifier state for the selected keyboard. + * + * \note This does not change the keyboard state, only the key modifier flags. */ extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate); -/* - * Get the name of an SDL virtual keysym +/** + * \fn const char *SDL_GetKeyName(SDLKey key) + * + * \brief Get the name of an SDL virtual keysym */ -extern DECLSPEC char * SDLCALL SDL_GetKeyName(SDLKey key); +extern DECLSPEC const char *SDLCALL SDL_GetKeyName(SDLKey key); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_keyboard_h */ + +/* vi: set ts=4 sw=4 expandtab: */