|
|
1.1 ! root 1: /* ! 2: SDL - Simple DirectMedia Layer ! 3: Copyright (C) 1997-2004 Sam Lantinga ! 4: ! 5: This library is free software; you can redistribute it and/or ! 6: modify it under the terms of the GNU Library General Public ! 7: License as published by the Free Software Foundation; either ! 8: version 2 of the License, or (at your option) any later version. ! 9: ! 10: This library is distributed in the hope that it will be useful, ! 11: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 13: Library General Public License for more details. ! 14: ! 15: You should have received a copy of the GNU Library General Public ! 16: License along with this library; if not, write to the Free ! 17: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! 18: ! 19: Sam Lantinga ! 20: [email protected] ! 21: */ ! 22: ! 23: #ifdef SAVE_RCSID ! 24: static char rcsid = ! 25: "@(#) $Id: SDL_keyboard.h,v 1.1.1.1 2005/11/18 23:23:29 rswindell Exp $"; ! 26: #endif ! 27: ! 28: /* Include file for SDL keyboard event handling */ ! 29: ! 30: #ifndef _SDL_keyboard_h ! 31: #define _SDL_keyboard_h ! 32: ! 33: #include "SDL_types.h" ! 34: #include "SDL_keysym.h" ! 35: ! 36: #include "begin_code.h" ! 37: /* Set up for C function definitions, even when using C++ */ ! 38: #ifdef __cplusplus ! 39: extern "C" { ! 40: #endif ! 41: ! 42: /* Keysym structure ! 43: - The scancode is hardware dependent, and should not be used by general ! 44: applications. If no hardware scancode is available, it will be 0. ! 45: ! 46: - The 'unicode' translated character is only available when character ! 47: translation is enabled by the SDL_EnableUNICODE() API. If non-zero, ! 48: this is a UNICODE character corresponding to the keypress. If the ! 49: high 9 bits of the character are 0, then this maps to the equivalent ! 50: ASCII character: ! 51: char ch; ! 52: if ( (keysym.unicode & 0xFF80) == 0 ) { ! 53: ch = keysym.unicode & 0x7F; ! 54: } else { ! 55: An international character.. ! 56: } ! 57: */ ! 58: typedef struct SDL_keysym { ! 59: Uint8 scancode; /* hardware specific scancode */ ! 60: SDLKey sym; /* SDL virtual keysym */ ! 61: SDLMod mod; /* current key modifiers */ ! 62: Uint16 unicode; /* translated character */ ! 63: } SDL_keysym; ! 64: ! 65: /* This is the mask which refers to all hotkey bindings */ ! 66: #define SDL_ALL_HOTKEYS 0xFFFFFFFF ! 67: ! 68: /* Function prototypes */ ! 69: /* ! 70: * Enable/Disable UNICODE translation of keyboard input. ! 71: * This translation has some overhead, so translation defaults off. ! 72: * If 'enable' is 1, translation is enabled. ! 73: * If 'enable' is 0, translation is disabled. ! 74: * If 'enable' is -1, the translation state is not changed. ! 75: * It returns the previous state of keyboard translation. ! 76: */ ! 77: extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable); ! 78: ! 79: /* ! 80: * Enable/Disable keyboard repeat. Keyboard repeat defaults to off. ! 81: * 'delay' is the initial delay in ms between the time when a key is ! 82: * pressed, and keyboard repeat begins. ! 83: * 'interval' is the time in ms between keyboard repeat events. ! 84: */ ! 85: #define SDL_DEFAULT_REPEAT_DELAY 500 ! 86: #define SDL_DEFAULT_REPEAT_INTERVAL 30 ! 87: /* ! 88: * If 'delay' is set to 0, keyboard repeat is disabled. ! 89: */ ! 90: extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); ! 91: ! 92: /* ! 93: * Get a snapshot of the current state of the keyboard. ! 94: * Returns an array of keystates, indexed by the SDLK_* syms. ! 95: * Used: ! 96: * Uint8 *keystate = SDL_GetKeyState(NULL); ! 97: * if ( keystate[SDLK_RETURN] ) ... <RETURN> is pressed. ! 98: */ ! 99: extern DECLSPEC Uint8 * SDLCALL SDL_GetKeyState(int *numkeys); ! 100: ! 101: /* ! 102: * Get the current key modifier state ! 103: */ ! 104: extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void); ! 105: ! 106: /* ! 107: * Set the current key modifier state ! 108: * This does not change the keyboard state, only the key modifier flags. ! 109: */ ! 110: extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate); ! 111: ! 112: /* ! 113: * Get the name of an SDL virtual keysym ! 114: */ ! 115: extern DECLSPEC char * SDLCALL SDL_GetKeyName(SDLKey key); ! 116: ! 117: ! 118: /* Ends C function definitions when using C++ */ ! 119: #ifdef __cplusplus ! 120: } ! 121: #endif ! 122: #include "close_code.h" ! 123: ! 124: #endif /* _SDL_keyboard_h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.