Mercurial > sdl-ios-xcode
annotate docs/html/sdlgetmodstate.html @ 765:4c2ba6161939
Editors Note: The original patch was modified to use SDL_Delay() instead of
nanosleep because nanosleep may not be portable to all systems
using SDL with the ALSA backend. This may be a moot point with
the switch to blocking writes anyway...
Date: Sat, 27 Dec 2003 21:47:36 +0100
From: Michel Daenzer
To: Debian Bug Tracking System
Subject: [SDL] Bug#225252: [PATCH] ALSA fixes
Package: libsdl1.2debian-all
Version: 1.2.6-2
Severity: normal
Tags: patch
For SDL 1.2.6, the ALSA backend was changed to call snd_pcm_open() with
SND_PCM_NONBLOCK. That's a good idea per se, however, it causes high CPU
usage, interrupted sound and stuttering in some games here. Taking a nanosleep
whenever snd_pcm_writei() returns -EAGAIN fixes this, but I think it's more
efficient to use blocking mode for the actual sound playback. Feedback from the
SDL and ALSA lists appreciated.
The patch also fixes the default ALSA device to be used.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 04 Jan 2004 15:40:50 +0000 |
parents | e5bc29de3f0a |
children | 355632dca928 |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_GetModState</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64 |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Event Functions." | |
14 HREF="eventfunctions.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_GetKeyState" | |
17 HREF="sdlgetkeystate.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_SetModState" | |
20 HREF="sdlsetmodstate.html"></HEAD | |
21 ><BODY | |
22 CLASS="REFENTRY" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
31 WIDTH="100%" | |
32 BORDER="0" | |
33 CELLPADDING="0" | |
34 CELLSPACING="0" | |
35 ><TR | |
36 ><TH | |
37 COLSPAN="3" | |
38 ALIGN="center" | |
39 >SDL Library Documentation</TH | |
40 ></TR | |
41 ><TR | |
42 ><TD | |
43 WIDTH="10%" | |
44 ALIGN="left" | |
45 VALIGN="bottom" | |
46 ><A | |
47 HREF="sdlgetkeystate.html" | |
48 >Prev</A | |
49 ></TD | |
50 ><TD | |
51 WIDTH="80%" | |
52 ALIGN="center" | |
53 VALIGN="bottom" | |
54 ></TD | |
55 ><TD | |
56 WIDTH="10%" | |
57 ALIGN="right" | |
58 VALIGN="bottom" | |
59 ><A | |
60 HREF="sdlsetmodstate.html" | |
61 >Next</A | |
62 ></TD | |
63 ></TR | |
64 ></TABLE | |
65 ><HR | |
66 ALIGN="LEFT" | |
67 WIDTH="100%"></DIV | |
68 ><H1 | |
69 ><A | |
70 NAME="SDLGETMODSTATE" | |
71 >SDL_GetModState</A | |
72 ></H1 | |
73 ><DIV | |
74 CLASS="REFNAMEDIV" | |
75 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
76 NAME="AEN5333" |
0 | 77 ></A |
78 ><H2 | |
79 >Name</H2 | |
80 >SDL_GetModState -- Get the state of modifier keys.</DIV | |
81 ><DIV | |
82 CLASS="REFSYNOPSISDIV" | |
83 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
84 NAME="AEN5336" |
0 | 85 ></A |
86 ><H2 | |
87 >Synopsis</H2 | |
88 ><DIV | |
89 CLASS="FUNCSYNOPSIS" | |
90 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
91 NAME="AEN5337" |
0 | 92 ></A |
93 ><P | |
94 ></P | |
95 ><PRE | |
96 CLASS="FUNCSYNOPSISINFO" | |
97 >#include "SDL.h"</PRE | |
98 ><P | |
99 ><CODE | |
100 ><CODE | |
101 CLASS="FUNCDEF" | |
102 >SDLMod <B | |
103 CLASS="FSFUNC" | |
104 >SDL_GetModState</B | |
105 ></CODE | |
106 >(void);</CODE | |
107 ></P | |
108 ><P | |
109 ></P | |
110 ></DIV | |
111 ></DIV | |
112 ><DIV | |
113 CLASS="REFSECT1" | |
114 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
115 NAME="AEN5343" |
0 | 116 ></A |
117 ><H2 | |
118 >Description</H2 | |
119 ><P | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
120 >Returns the current state of the modifier keys (CTRL, ALT, etc.).</P |
0 | 121 ></DIV |
122 ><DIV | |
123 CLASS="REFSECT1" | |
124 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
125 NAME="AEN5346" |
0 | 126 ></A |
127 ><H2 | |
128 >Return Value</H2 | |
129 ><P | |
130 >The return value can be an OR'd combination of the SDLMod enum.</P | |
131 ><P | |
132 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
133 NAME="AEN5350" |
0 | 134 ></A |
135 ><BLOCKQUOTE | |
136 CLASS="BLOCKQUOTE" | |
137 ><P | |
138 ><B | |
139 >SDLMod</B | |
140 ></P | |
141 ><PRE | |
142 CLASS="PROGRAMLISTING" | |
143 >typedef enum { | |
144 KMOD_NONE = 0x0000, | |
145 KMOD_LSHIFT= 0x0001, | |
146 KMOD_RSHIFT= 0x0002, | |
147 KMOD_LCTRL = 0x0040, | |
148 KMOD_RCTRL = 0x0080, | |
149 KMOD_LALT = 0x0100, | |
150 KMOD_RALT = 0x0200, | |
151 KMOD_LMETA = 0x0400, | |
152 KMOD_RMETA = 0x0800, | |
153 KMOD_NUM = 0x1000, | |
154 KMOD_CAPS = 0x2000, | |
155 KMOD_MODE = 0x4000, | |
156 } SDLMod;</PRE | |
157 ></BLOCKQUOTE | |
158 > | |
159 SDL also defines the following symbols for convenience: | |
160 <A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
161 NAME="AEN5353" |
0 | 162 ></A |
163 ><BLOCKQUOTE | |
164 CLASS="BLOCKQUOTE" | |
165 ><PRE | |
166 CLASS="PROGRAMLISTING" | |
167 >#define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL) | |
168 #define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT) | |
169 #define KMOD_ALT (KMOD_LALT|KMOD_RALT) | |
170 #define KMOD_META (KMOD_LMETA|KMOD_RMETA)</PRE | |
171 ></BLOCKQUOTE | |
172 ></P | |
173 ></DIV | |
174 ><DIV | |
175 CLASS="REFSECT1" | |
176 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
177 NAME="AEN5355" |
0 | 178 ></A |
179 ><H2 | |
180 >See Also</H2 | |
181 ><P | |
182 ><A | |
183 HREF="sdlgetkeystate.html" | |
184 ><TT | |
185 CLASS="FUNCTION" | |
186 >SDL_GetKeyState</TT | |
187 ></A | |
188 ></P | |
189 ></DIV | |
190 ><DIV | |
191 CLASS="NAVFOOTER" | |
192 ><HR | |
193 ALIGN="LEFT" | |
194 WIDTH="100%"><TABLE | |
195 WIDTH="100%" | |
196 BORDER="0" | |
197 CELLPADDING="0" | |
198 CELLSPACING="0" | |
199 ><TR | |
200 ><TD | |
201 WIDTH="33%" | |
202 ALIGN="left" | |
203 VALIGN="top" | |
204 ><A | |
205 HREF="sdlgetkeystate.html" | |
206 >Prev</A | |
207 ></TD | |
208 ><TD | |
209 WIDTH="34%" | |
210 ALIGN="center" | |
211 VALIGN="top" | |
212 ><A | |
213 HREF="index.html" | |
214 >Home</A | |
215 ></TD | |
216 ><TD | |
217 WIDTH="33%" | |
218 ALIGN="right" | |
219 VALIGN="top" | |
220 ><A | |
221 HREF="sdlsetmodstate.html" | |
222 >Next</A | |
223 ></TD | |
224 ></TR | |
225 ><TR | |
226 ><TD | |
227 WIDTH="33%" | |
228 ALIGN="left" | |
229 VALIGN="top" | |
230 >SDL_GetKeyState</TD | |
231 ><TD | |
232 WIDTH="34%" | |
233 ALIGN="center" | |
234 VALIGN="top" | |
235 ><A | |
236 HREF="eventfunctions.html" | |
237 >Up</A | |
238 ></TD | |
239 ><TD | |
240 WIDTH="33%" | |
241 ALIGN="right" | |
242 VALIGN="top" | |
243 >SDL_SetModState</TD | |
244 ></TR | |
245 ></TABLE | |
246 ></DIV | |
247 ></BODY | |
248 ></HTML | |
249 > |