Mercurial > sdl-ios-xcode
annotate docs/html/sdlgetmousestate.html @ 2268:4baee598306d
Date: Thu, 05 Jul 2007 14:02:33 -0700
From: Sam Lantinga
Subject: SDL 1.3 keyboard plan
After lots of discussion with Christian, this is what we came up with:
> So, to sum up...
> SDLK_* become the physical keys, starting at > (1<<21)
> We create a macro SDLK_INDEX(X)
> We have two functions SDL_GetLayoutKey(SDLKey) and SDL_GetKeyName()
> SDL_GetLayoutKey maps to UCS4 for printable characters, and SDLK* for
non-printable characters
> and does so based on the OS's current keyboard layout
> SDL_GetKeyName() handles both SDLK_* and UCS4, converting UCS4 to UTF-8 and
converting SDLK_* into our names, which are UTF-8 for printable characters.
> WASD folks use SDLK_*, and 'I' folks use SDL_GetLayoutKey(SDLK_*)
Here is the patch he came up with, and his e-mail about it:
Date: Fri, 17 Aug 2007 19:50:28 +0200
From: Christian Walther
Subject: Re: SDL 1.3 keyboard plan
> Sounds great, go ahead and send me a patch.
Here goes! Thanks for having a look. Don't hesitate to comment if
anything does not conform to your ideas.
One caveat: Committing this now may break compilability of some video
drivers - specifically, if they use any of the SDLK_* codes that were
obsoleted and moved into SDL_compat.h. I only tried Cocoa (which did
break, but is already fixed) and X11 (which didn't, but then its key
handling is #iffed out). If that's a problem, it may need to go into
a branch.
-Christian
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 19 Aug 2007 14:52:52 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_GetMouseState</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="Event Functions." | |
14 HREF="eventfunctions.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_EnableKeyRepeat" | |
17 HREF="sdlenablekeyrepeat.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_GetRelativeMouseState" | |
20 HREF="sdlgetrelativemousestate.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="sdlenablekeyrepeat.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="sdlgetrelativemousestate.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="SDLGETMOUSESTATE" | |
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_GetMouseState</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="AEN5869" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_GetMouseState -- Retrieve the current state of the mouse</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="AEN5872" |
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="AEN5873" |
0 | 95 ></A |
96 ><P | |
97 ></P | |
98 ><PRE | |
99 CLASS="FUNCSYNOPSISINFO" | |
100 >#include "SDL.h"</PRE | |
101 ><P | |
102 ><CODE | |
103 ><CODE | |
104 CLASS="FUNCDEF" | |
105 >Uint8 <B | |
106 CLASS="FSFUNC" | |
107 >SDL_GetMouseState</B | |
108 ></CODE | |
109 >(int *x, int *y);</CODE | |
110 ></P | |
111 ><P | |
112 ></P | |
113 ></DIV | |
114 ></DIV | |
115 ><DIV | |
116 CLASS="REFSECT1" | |
117 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
118 NAME="AEN5879" |
0 | 119 ></A |
120 ><H2 | |
121 >Description</H2 | |
122 ><P | |
123 >The current button state is returned as a button bitmask, which can | |
124 be tested using the <TT | |
125 CLASS="LITERAL" | |
126 >SDL_BUTTON(X)</TT | |
127 > macros, and <TT | |
128 CLASS="PARAMETER" | |
129 ><I | |
130 >x</I | |
131 ></TT | |
132 > and <TT | |
133 CLASS="PARAMETER" | |
134 ><I | |
135 >y</I | |
136 ></TT | |
137 > are set to the | |
138 current mouse cursor position. You can pass <TT | |
139 CLASS="LITERAL" | |
140 >NULL</TT | |
141 > for either <TT | |
142 CLASS="PARAMETER" | |
143 ><I | |
144 >x</I | |
145 ></TT | |
146 > or <TT | |
147 CLASS="PARAMETER" | |
148 ><I | |
149 >y</I | |
150 ></TT | |
151 >.</P | |
152 ></DIV | |
153 ><DIV | |
154 CLASS="REFSECT1" | |
155 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
156 NAME="AEN5888" |
0 | 157 ></A |
158 ><H2 | |
159 >Example</H2 | |
160 ><PRE | |
161 CLASS="PROGRAMLISTING" | |
162 >SDL_PumpEvents(); | |
163 if(SDL_GetMouseState(NULL, NULL)&SDL_BUTTON(1)) | |
164 printf("Mouse Button 1(left) is pressed.\n");</PRE | |
165 ></DIV | |
166 ><DIV | |
167 CLASS="REFSECT1" | |
168 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
169 NAME="AEN5891" |
0 | 170 ></A |
171 ><H2 | |
172 >See Also</H2 | |
173 ><P | |
174 ><A | |
175 HREF="sdlgetrelativemousestate.html" | |
176 ><TT | |
177 CLASS="FUNCTION" | |
178 >SDL_GetRelativeMouseState</TT | |
179 ></A | |
180 >, | |
181 <A | |
182 HREF="sdlpumpevents.html" | |
183 ><TT | |
184 CLASS="FUNCTION" | |
185 >SDL_PumpEvents</TT | |
186 ></A | |
187 ></P | |
188 ></DIV | |
189 ><DIV | |
190 CLASS="NAVFOOTER" | |
191 ><HR | |
192 ALIGN="LEFT" | |
193 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
194 SUMMARY="Footer navigation table" |
0 | 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="sdlenablekeyrepeat.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
206 ACCESSKEY="P" |
0 | 207 >Prev</A |
208 ></TD | |
209 ><TD | |
210 WIDTH="34%" | |
211 ALIGN="center" | |
212 VALIGN="top" | |
213 ><A | |
214 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
215 ACCESSKEY="H" |
0 | 216 >Home</A |
217 ></TD | |
218 ><TD | |
219 WIDTH="33%" | |
220 ALIGN="right" | |
221 VALIGN="top" | |
222 ><A | |
223 HREF="sdlgetrelativemousestate.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
224 ACCESSKEY="N" |
0 | 225 >Next</A |
226 ></TD | |
227 ></TR | |
228 ><TR | |
229 ><TD | |
230 WIDTH="33%" | |
231 ALIGN="left" | |
232 VALIGN="top" | |
233 >SDL_EnableKeyRepeat</TD | |
234 ><TD | |
235 WIDTH="34%" | |
236 ALIGN="center" | |
237 VALIGN="top" | |
238 ><A | |
239 HREF="eventfunctions.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
240 ACCESSKEY="U" |
0 | 241 >Up</A |
242 ></TD | |
243 ><TD | |
244 WIDTH="33%" | |
245 ALIGN="right" | |
246 VALIGN="top" | |
247 >SDL_GetRelativeMouseState</TD | |
248 ></TR | |
249 ></TABLE | |
250 ></DIV | |
251 ></BODY | |
252 ></HTML | |
253 > |