~ubuntu-branches/debian/stretch/assaultcube-data/stretch

« back to all changes in this revision

Viewing changes to source/include/SDL_keyboard.h

  • Committer: Bazaar Package Importer
  • Author(s): Gonéri Le Bouder, Ansgar Burchardt, Gonéri Le Bouder
  • Date: 2010-04-02 23:37:55 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100402233755-kf74fxwlu634o6vg
Tags: 1.0.4+repack1-1
[ Ansgar Burchardt ]
* debian/control: fix typo in short description

[ Gonéri Le Bouder ]
* Upgrade to 1.0.4
* bump standards-version to 3.8.4
* Add Depends: ${misc:Depends} just to avoid a lintian warning
* Add a debian/source/format file for the same reason

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    SDL - Simple DirectMedia Layer
 
3
    Copyright (C) 1997-2006 Sam Lantinga
 
4
 
 
5
    This library is free software; you can redistribute it and/or
 
6
    modify it under the terms of the GNU Lesser General Public
 
7
    License as published by the Free Software Foundation; either
 
8
    version 2.1 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
    Lesser General Public License for more details.
 
14
 
 
15
    You should have received a copy of the GNU Lesser General Public
 
16
    License along with this library; if not, write to the Free Software
 
17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
18
 
 
19
    Sam Lantinga
 
20
    slouken@libsdl.org
 
21
*/
 
22
 
 
23
/* Include file for SDL keyboard event handling */
 
24
 
 
25
#ifndef _SDL_keyboard_h
 
26
#define _SDL_keyboard_h
 
27
 
 
28
#include "SDL_stdinc.h"
 
29
#include "SDL_error.h"
 
30
#include "SDL_keysym.h"
 
31
 
 
32
#include "begin_code.h"
 
33
/* Set up for C function definitions, even when using C++ */
 
34
#ifdef __cplusplus
 
35
extern "C" {
 
36
#endif
 
37
 
 
38
/* Keysym structure
 
39
   - The scancode is hardware dependent, and should not be used by general
 
40
     applications.  If no hardware scancode is available, it will be 0.
 
41
 
 
42
   - The 'unicode' translated character is only available when character
 
43
     translation is enabled by the SDL_EnableUNICODE() API.  If non-zero,
 
44
     this is a UNICODE character corresponding to the keypress.  If the
 
45
     high 9 bits of the character are 0, then this maps to the equivalent
 
46
     ASCII character:
 
47
        char ch;
 
48
        if ( (keysym.unicode & 0xFF80) == 0 ) {
 
49
                ch = keysym.unicode & 0x7F;
 
50
        } else {
 
51
                An international character..
 
52
        }
 
53
 */
 
54
typedef struct SDL_keysym {
 
55
        Uint8 scancode;                 /* hardware specific scancode */
 
56
        SDLKey sym;                     /* SDL virtual keysym */
 
57
        SDLMod mod;                     /* current key modifiers */
 
58
        Uint16 unicode;                 /* translated character */
 
59
} SDL_keysym;
 
60
 
 
61
/* This is the mask which refers to all hotkey bindings */
 
62
#define SDL_ALL_HOTKEYS         0xFFFFFFFF
 
63
 
 
64
/* Function prototypes */
 
65
/*
 
66
 * Enable/Disable UNICODE translation of keyboard input.
 
67
 * This translation has some overhead, so translation defaults off.
 
68
 * If 'enable' is 1, translation is enabled.
 
69
 * If 'enable' is 0, translation is disabled.
 
70
 * If 'enable' is -1, the translation state is not changed.
 
71
 * It returns the previous state of keyboard translation.
 
72
 */
 
73
extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable);
 
74
 
 
75
/*
 
76
 * Enable/Disable keyboard repeat.  Keyboard repeat defaults to off.
 
77
 * 'delay' is the initial delay in ms between the time when a key is
 
78
 * pressed, and keyboard repeat begins.
 
79
 * 'interval' is the time in ms between keyboard repeat events.
 
80
 */
 
81
#define SDL_DEFAULT_REPEAT_DELAY        500
 
82
#define SDL_DEFAULT_REPEAT_INTERVAL     30
 
83
/*
 
84
 * If 'delay' is set to 0, keyboard repeat is disabled.
 
85
 */
 
86
extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval);
 
87
extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval);
 
88
 
 
89
/*
 
90
 * Get a snapshot of the current state of the keyboard.
 
91
 * Returns an array of keystates, indexed by the SDLK_* syms.
 
92
 * Used:
 
93
 *      Uint8 *keystate = SDL_GetKeyState(NULL);
 
94
 *      if ( keystate[SDLK_RETURN] ) ... <RETURN> is pressed.
 
95
 */
 
96
extern DECLSPEC Uint8 * SDLCALL SDL_GetKeyState(int *numkeys);
 
97
 
 
98
/*
 
99
 * Get the current key modifier state
 
100
 */
 
101
extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void);
 
102
 
 
103
/*
 
104
 * Set the current key modifier state
 
105
 * This does not change the keyboard state, only the key modifier flags.
 
106
 */
 
107
extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate);
 
108
 
 
109
/*
 
110
 * Get the name of an SDL virtual keysym
 
111
 */
 
112
extern DECLSPEC char * SDLCALL SDL_GetKeyName(SDLKey key);
 
113
 
 
114
 
 
115
/* Ends C function definitions when using C++ */
 
116
#ifdef __cplusplus
 
117
}
 
118
#endif
 
119
#include "close_code.h"
 
120
 
 
121
#endif /* _SDL_keyboard_h */