Mercurial > sdl-ios-xcode
comparison src/video/SDL_sysvideo.h @ 2303:d87417504c75
First pass implementation of new SDL scancode concept, as discussed with
Christian Walther. Currently only implemented on Mac OS X for sanity
checking purposes.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 05 Feb 2008 07:19:23 +0000 |
parents | 4baee598306d |
children | 96411dcd2267 56cf872c723a e27bdcc80744 |
comparison
equal
deleted
inserted
replaced
2302:7ae1c419b626 | 2303:d87417504c75 |
---|---|
255 /* * * */ | 255 /* * * */ |
256 /* Event manager functions | 256 /* Event manager functions |
257 */ | 257 */ |
258 void (*PumpEvents) (_THIS); | 258 void (*PumpEvents) (_THIS); |
259 | 259 |
260 /* Get the layout key code corresponding to the given physical key code | |
261 * according to the OS' current keyboard layout. | |
262 * | |
263 * - For character keys, this should return the Unicode code point of the | |
264 * character that is generated when the key is pressed without shift or | |
265 * any other modifiers. | |
266 * - For non-character keys, this should return one of the SDLK_* constants | |
267 * (usually the argument itself since these keys are typically layout- | |
268 * independent). Make sure that all of these values returned by this | |
269 * function have a suitable name defined, either the default from | |
270 * SDL_keynames.h, or one set using SDL_SetKeyName() in VideoInit(). In | |
271 * particular, if this function can return any of the codes whose default | |
272 * names start with "SDLK_" (usually, it shouldn't, since these are layout- | |
273 * dependent character keys), these names should be replaced by proper | |
274 * user-readable names. | |
275 * - If there are keys that cannot be adequately described by either a | |
276 * single Unicode character or an SDLK_* constant, this function may return | |
277 * a code with SDL_KEY_LAYOUT_SPECIAL_BIT set in the most significant byte | |
278 * and an arbitrary value in the less significant 3 bytes. The | |
279 * GetSpecialKeyName() function must then be implemented to take this code | |
280 * and return a human-readable key name for it. | |
281 * If the argument is not a physical key code or if translation of the key | |
282 * code by the OS' keyboard layout fails for any reason, the argument must | |
283 * be returned unchanged. | |
284 * | |
285 * On platforms that don't have the notion of a user-configurable keyboard | |
286 * layout, this may be left unimplemented. The default implementation of | |
287 * SDL_GetLayoutKey() then acts as the identity. The note about defining | |
288 * key names above particularly applies in this case. | |
289 */ | |
290 SDLKey(*GetLayoutKey) (_THIS, SDLKey physicalKey); | |
291 | |
292 /* Get a human-readable name for a special layout key code. | |
293 * This only needs to be implemented if this driver's implementation of | |
294 * GetLayoutKey() generates such codes (with SDL_KEY_LAYOUT_SPECIAL_BIT | |
295 * set) - see above. | |
296 */ | |
297 const char *(*GetSpecialKeyName) (_THIS, SDLKey layoutKey); | |
298 | |
299 /* * * */ | 260 /* * * */ |
300 /* Data common to all drivers */ | 261 /* Data common to all drivers */ |
301 int num_displays; | 262 int num_displays; |
302 SDL_VideoDisplay *displays; | 263 SDL_VideoDisplay *displays; |
303 int current_display; | 264 int current_display; |