Mercurial > sdl-ios-xcode
annotate docs/html/sdlcreatesemaphore.html @ 4170:092c0bc69155 SDL-1.2
Fixed bug #618
Description From Tim Angus 2008-08-30 12:23:56 (-) [reply]
As we all know SDL 1.2 doesn't handle dead keys well since one key press
potentially equals two (or more) characters. For example, on many layouts,
keying <backquote>,<space> results in <no character>,<backquote><space>. Since
the unicode member of the SDL_keysym struct only has room for one character,
only one can be returned.
On Linux, the first character is returned. On Windows however, unless the exact
number of characters generated by the keypress is 1, nothing is returned. The
following patch addresses this inconsistency.
Updated patch which includes a further fix to the handling of the numpad when
numlock is on. This further fix is courtesy Amanieu d'Antras.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 13 Apr 2009 08:42:09 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_CreateSemaphore</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Multi-threaded Programming" | |
14 HREF="thread.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_mutexV" | |
17 HREF="sdlmutexv.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_DestroySemaphore" | |
20 HREF="sdldestroysemaphore.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 | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 32 WIDTH="100%" |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >SDL Library Documentation</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
48 HREF="sdlmutexv.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 ></TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="sdldestroysemaphore.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><H1 | |
72 ><A | |
73 NAME="SDLCREATESEMAPHORE" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
74 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
75 >SDL_CreateSemaphore</H1 |
0 | 76 ><DIV |
77 CLASS="REFNAMEDIV" | |
78 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
79 NAME="AEN7936" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_CreateSemaphore -- Creates a new semaphore and assigns an initial value to it.</DIV | |
84 ><DIV | |
85 CLASS="REFSYNOPSISDIV" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN7939" |
0 | 88 ></A |
89 ><H2 | |
90 >Synopsis</H2 | |
91 ><DIV | |
92 CLASS="FUNCSYNOPSIS" | |
93 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
94 NAME="AEN7940" |
0 | 95 ></A |
96 ><P | |
97 ></P | |
98 ><PRE | |
99 CLASS="FUNCSYNOPSISINFO" | |
100 >#include "SDL.h" | |
101 #include "SDL_thread.h"</PRE | |
102 ><P | |
103 ><CODE | |
104 ><CODE | |
105 CLASS="FUNCDEF" | |
106 >SDL_sem *<B | |
107 CLASS="FSFUNC" | |
108 >SDL_CreateSemaphore</B | |
109 ></CODE | |
110 >(Uint32 initial_value);</CODE | |
111 ></P | |
112 ><P | |
113 ></P | |
114 ></DIV | |
115 ></DIV | |
116 ><DIV | |
117 CLASS="REFSECT1" | |
118 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
119 NAME="AEN7946" |
0 | 120 ></A |
121 ><H2 | |
122 >Description</H2 | |
123 ><P | |
124 ><TT | |
125 CLASS="FUNCTION" | |
126 >SDL_CreateSemaphore()</TT | |
127 > creates a new semaphore and | |
128 initializes it with the value <TT | |
129 CLASS="PARAMETER" | |
130 ><I | |
131 >initial_value</I | |
132 ></TT | |
133 >. | |
134 Each locking operation on the semaphore by | |
135 <A | |
136 HREF="sdlsemwait.html" | |
137 >SDL_SemWait</A | |
138 >, | |
139 <A | |
140 HREF="sdlsemtrywait.html" | |
141 >SDL_SemTryWait</A | |
142 > or | |
143 <A | |
144 HREF="sdlsemwaittimeout.html" | |
145 >SDL_SemWaitTimeout</A | |
146 > | |
147 will atomically decrement the semaphore value. The locking operation will be blocked | |
148 if the semaphore value is not positive (greater than zero). Each unlock operation by | |
149 <A | |
150 HREF="sdlsempost.html" | |
151 >SDL_SemPost</A | |
152 > | |
153 will atomically increment the semaphore value.</P | |
154 ></DIV | |
155 ><DIV | |
156 CLASS="REFSECT1" | |
157 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
158 NAME="AEN7955" |
0 | 159 ></A |
160 ><H2 | |
161 >Return Value</H2 | |
162 ><P | |
163 >Returns a pointer to an initialized semaphore or | |
164 <SPAN | |
165 CLASS="RETURNVALUE" | |
166 >NULL</SPAN | |
167 > if there was an error.</P | |
168 ></DIV | |
169 ><DIV | |
170 CLASS="REFSECT1" | |
171 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
172 NAME="AEN7959" |
0 | 173 ></A |
174 ><H2 | |
175 >Examples</H2 | |
176 ><P | |
177 ><PRE | |
178 CLASS="PROGRAMLISTING" | |
179 >SDL_sem *my_sem; | |
180 | |
181 my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE); | |
182 | |
183 if (my_sem == NULL) { | |
184 return CREATE_SEM_FAILED; | |
185 }</PRE | |
186 ></P | |
187 ></DIV | |
188 ><DIV | |
189 CLASS="REFSECT1" | |
190 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
191 NAME="AEN7963" |
0 | 192 ></A |
193 ><H2 | |
194 >See Also</H2 | |
195 ><P | |
196 ><A | |
197 HREF="sdldestroysemaphore.html" | |
198 ><TT | |
199 CLASS="FUNCTION" | |
200 >SDL_DestroySemaphore</TT | |
201 ></A | |
202 >, | |
203 <A | |
204 HREF="sdlsemwait.html" | |
205 ><TT | |
206 CLASS="FUNCTION" | |
207 >SDL_SemWait</TT | |
208 ></A | |
209 >, | |
210 <A | |
211 HREF="sdlsemtrywait.html" | |
212 ><TT | |
213 CLASS="FUNCTION" | |
214 >SDL_SemTryWait</TT | |
215 ></A | |
216 >, | |
217 <A | |
218 HREF="sdlsemwaittimeout.html" | |
219 ><TT | |
220 CLASS="FUNCTION" | |
221 >SDL_SemWaitTimeout</TT | |
222 ></A | |
223 >, | |
224 <A | |
225 HREF="sdlsempost.html" | |
226 ><TT | |
227 CLASS="FUNCTION" | |
228 >SDL_SemPost</TT | |
229 ></A | |
230 >, | |
231 <A | |
232 HREF="sdlsemvalue.html" | |
233 ><TT | |
234 CLASS="FUNCTION" | |
235 >SDL_SemValue</TT | |
236 ></A | |
237 ></P | |
238 ></DIV | |
239 ><DIV | |
240 CLASS="NAVFOOTER" | |
241 ><HR | |
242 ALIGN="LEFT" | |
243 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
244 SUMMARY="Footer navigation table" |
0 | 245 WIDTH="100%" |
246 BORDER="0" | |
247 CELLPADDING="0" | |
248 CELLSPACING="0" | |
249 ><TR | |
250 ><TD | |
251 WIDTH="33%" | |
252 ALIGN="left" | |
253 VALIGN="top" | |
254 ><A | |
255 HREF="sdlmutexv.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
256 ACCESSKEY="P" |
0 | 257 >Prev</A |
258 ></TD | |
259 ><TD | |
260 WIDTH="34%" | |
261 ALIGN="center" | |
262 VALIGN="top" | |
263 ><A | |
264 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
265 ACCESSKEY="H" |
0 | 266 >Home</A |
267 ></TD | |
268 ><TD | |
269 WIDTH="33%" | |
270 ALIGN="right" | |
271 VALIGN="top" | |
272 ><A | |
273 HREF="sdldestroysemaphore.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
274 ACCESSKEY="N" |
0 | 275 >Next</A |
276 ></TD | |
277 ></TR | |
278 ><TR | |
279 ><TD | |
280 WIDTH="33%" | |
281 ALIGN="left" | |
282 VALIGN="top" | |
283 >SDL_mutexV</TD | |
284 ><TD | |
285 WIDTH="34%" | |
286 ALIGN="center" | |
287 VALIGN="top" | |
288 ><A | |
289 HREF="thread.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
290 ACCESSKEY="U" |
0 | 291 >Up</A |
292 ></TD | |
293 ><TD | |
294 WIDTH="33%" | |
295 ALIGN="right" | |
296 VALIGN="top" | |
297 >SDL_DestroySemaphore</TD | |
298 ></TR | |
299 ></TABLE | |
300 ></DIV | |
301 ></BODY | |
302 ></HTML | |
303 > |