Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
182 lines (156 loc) · 5.11 KB

SDL_keyboard.h

File metadata and controls

182 lines (156 loc) · 5.11 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
/*
SDL - Simple DirectMedia Layer
Jan 24, 2010
Jan 24, 2010
3
Copyright (C) 1997-2010 Sam Lantinga
Apr 26, 2001
Apr 26, 2001
4
5
This library is free software; you can redistribute it and/or
Feb 1, 2006
Feb 1, 2006
6
modify it under the terms of the GNU Lesser General Public
Apr 26, 2001
Apr 26, 2001
7
License as published by the Free Software Foundation; either
Feb 1, 2006
Feb 1, 2006
8
version 2.1 of the License, or (at your option) any later version.
Apr 26, 2001
Apr 26, 2001
9
10
11
12
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Feb 1, 2006
Feb 1, 2006
13
Lesser General Public License for more details.
Apr 26, 2001
Apr 26, 2001
14
Feb 1, 2006
Feb 1, 2006
15
16
17
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Apr 26, 2001
Apr 26, 2001
18
19
Sam Lantinga
Dec 14, 2001
Dec 14, 2001
20
slouken@libsdl.org
Apr 26, 2001
Apr 26, 2001
21
22
*/
Jul 10, 2006
Jul 10, 2006
23
/**
Oct 19, 2009
Oct 19, 2009
24
25
26
* \file SDL_keyboard.h
*
* Include file for SDL keyboard event handling
Jul 10, 2006
Jul 10, 2006
27
*/
Apr 26, 2001
Apr 26, 2001
28
29
30
31
#ifndef _SDL_keyboard_h
#define _SDL_keyboard_h
Feb 10, 2006
Feb 10, 2006
32
#include "SDL_stdinc.h"
Feb 10, 2006
Feb 10, 2006
33
#include "SDL_error.h"
Apr 26, 2001
Apr 26, 2001
34
35
36
37
38
#include "SDL_keysym.h"
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
39
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
40
extern "C" {
Jul 10, 2006
Jul 10, 2006
41
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
42
43
#endif
Jul 10, 2006
Jul 10, 2006
44
/**
Oct 19, 2009
Oct 19, 2009
45
* \brief The SDL keysym structure, used in key events.
Apr 26, 2001
Apr 26, 2001
46
*/
Jul 10, 2006
Jul 10, 2006
47
48
typedef struct SDL_keysym
{
Feb 5, 2008
Feb 5, 2008
49
SDL_scancode scancode; /**< SDL physical key code - see ::SDL_scancode for details */
Aug 19, 2007
Aug 19, 2007
50
SDLKey sym; /**< SDL virtual key code - see ::SDLKey for details */
Jul 10, 2006
Jul 10, 2006
51
Uint16 mod; /**< current key modifiers */
Oct 19, 2009
Oct 19, 2009
52
Uint32 unicode; /**< \deprecated use SDL_TextInputEvent instead */
Apr 26, 2001
Apr 26, 2001
53
54
55
} SDL_keysym;
/* Function prototypes */
Jul 10, 2006
Jul 10, 2006
56
57
/**
Oct 19, 2009
Oct 19, 2009
58
59
60
* \brief Get the number of keyboard input devices available.
*
* \sa SDL_SelectKeyboard()
Jul 10, 2006
Jul 10, 2006
61
62
63
64
*/
extern DECLSPEC int SDLCALL SDL_GetNumKeyboards(void);
/**
Oct 19, 2009
Oct 19, 2009
65
66
67
68
69
70
71
* \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()
Jul 10, 2006
Jul 10, 2006
72
73
74
75
*/
extern DECLSPEC int SDLCALL SDL_SelectKeyboard(int index);
/**
Oct 19, 2009
Oct 19, 2009
76
77
78
79
80
81
82
83
84
85
86
87
88
* \brief Get a snapshot of the current state of the selected keyboard.
*
* \param numkeys if non-NULL, receives the length of the returned array.
*
* \return An array of key states. Indexes into this array are obtained by using ::SDL_scancode values.
*
* \b Example:
* \code
* Uint8 *state = SDL_GetKeyboardState(NULL);
* if ( state[SDL_SCANCODE_RETURN] ) {
* printf("<RETURN> is pressed.\n");
* }
* \endcode
Apr 26, 2001
Apr 26, 2001
89
*/
Feb 5, 2008
Feb 5, 2008
90
extern DECLSPEC Uint8 *SDLCALL SDL_GetKeyboardState(int *numkeys);
Apr 26, 2001
Apr 26, 2001
91
Jul 10, 2006
Jul 10, 2006
92
/**
Oct 19, 2009
Oct 19, 2009
93
* \brief Get the current key modifier state for the selected keyboard.
Apr 26, 2001
Apr 26, 2001
94
*/
Apr 11, 2002
Apr 11, 2002
95
extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void);
Apr 26, 2001
Apr 26, 2001
96
Jul 10, 2006
Jul 10, 2006
97
/**
Oct 19, 2009
Oct 19, 2009
98
99
100
* \brief Set the current key modifier state for the selected keyboard.
*
* \note This does not change the keyboard state, only the key modifier flags.
Apr 26, 2001
Apr 26, 2001
101
*/
Apr 11, 2002
Apr 11, 2002
102
extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate);
Apr 26, 2001
Apr 26, 2001
103
Jul 10, 2006
Jul 10, 2006
104
/**
Oct 19, 2009
Oct 19, 2009
105
106
107
108
109
110
* \brief Get the key code corresponding to the given scancode according to the
* current keyboard layout.
*
* See ::SDLKey for details.
*
* \sa SDL_GetKeyName()
Aug 19, 2007
Aug 19, 2007
111
*/
Feb 5, 2008
Feb 5, 2008
112
extern DECLSPEC SDLKey SDLCALL SDL_GetKeyFromScancode(SDL_scancode scancode);
Aug 19, 2007
Aug 19, 2007
113
114
/**
Oct 19, 2009
Oct 19, 2009
115
116
117
118
119
120
* \brief Get the scancode corresponding to the given key code according to the
* current keyboard layout.
*
* See ::SDL_scancode for details.
*
* \sa SDL_GetScancodeName()
Feb 5, 2008
Feb 5, 2008
121
122
123
124
*/
extern DECLSPEC SDL_scancode SDLCALL SDL_GetScancodeFromKey(SDLKey key);
/**
Oct 19, 2009
Oct 19, 2009
125
126
127
128
129
130
131
132
* \brief Get a human-readable name for a scancode.
*
* \return A pointer to a UTF-8 string that stays valid at least until the next
* call to this function. If you need it around any longer, you must
* copy it. If the scancode doesn't have a name, this function returns
* an empty string ("").
*
* \sa SDL_scancode
Feb 5, 2008
Feb 5, 2008
133
134
135
136
137
*/
extern DECLSPEC const char *SDLCALL SDL_GetScancodeName(SDL_scancode
scancode);
/**
Oct 19, 2009
Oct 19, 2009
138
139
140
141
142
143
144
145
* \brief Get a human-readable name for a key.
*
* \return A pointer to a UTF-8 string that stays valid at least until the next
* call to this function. If you need it around any longer, you must
* copy it. If the key doesn't have a name, this function returns an
* empty string ("").
*
* \sa SDLKey
Apr 26, 2001
Apr 26, 2001
146
*/
Feb 5, 2008
Feb 5, 2008
147
extern DECLSPEC const char *SDLCALL SDL_GetKeyName(SDLKey key);
Apr 26, 2001
Apr 26, 2001
148
Sep 19, 2009
Sep 19, 2009
149
/**
Oct 19, 2009
Oct 19, 2009
150
151
152
153
* \brief Start accepting Unicode text input events.
*
* \sa SDL_StopTextInput()
* \sa SDL_SetTextInputRect()
Sep 19, 2009
Sep 19, 2009
154
155
156
157
*/
extern DECLSPEC void SDLCALL SDL_StartTextInput(void);
/**
Oct 19, 2009
Oct 19, 2009
158
159
160
* \brief Stop receiving any text input events.
*
* \sa SDL_StartTextInput()
Sep 19, 2009
Sep 19, 2009
161
162
163
164
*/
extern DECLSPEC void SDLCALL SDL_StopTextInput(void);
/**
Oct 19, 2009
Oct 19, 2009
165
166
167
* \brief Set the rectangle used to type Unicode text inputs.
*
* \sa SDL_StartTextInput()
Sep 19, 2009
Sep 19, 2009
168
169
170
*/
extern DECLSPEC void SDLCALL SDL_SetTextInputRect(SDL_Rect *rect);
Apr 26, 2001
Apr 26, 2001
171
172
173
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
174
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
175
}
Jul 10, 2006
Jul 10, 2006
176
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
177
178
179
180
#endif
#include "close_code.h"
#endif /* _SDL_keyboard_h */
Jul 10, 2006
Jul 10, 2006
181
182
/* vi: set ts=4 sw=4 expandtab: */