symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/sdlkeysym.html
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 <HTML
       
     2 ><HEAD
       
     3 ><TITLE
       
     4 >SDL_keysym</TITLE
       
     5 ><META
       
     6 NAME="GENERATOR"
       
     7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
       
     8 "><LINK
       
     9 REL="HOME"
       
    10 TITLE="SDL Library Documentation"
       
    11 HREF="index.html"><LINK
       
    12 REL="UP"
       
    13 TITLE="SDL Event Structures."
       
    14 HREF="eventstructures.html"><LINK
       
    15 REL="PREVIOUS"
       
    16 TITLE="SDL_QuitEvent"
       
    17 HREF="sdlquitevent.html"><LINK
       
    18 REL="NEXT"
       
    19 TITLE="SDLKey"
       
    20 HREF="sdlkey.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 SUMMARY="Header navigation table"
       
    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="sdlquitevent.html"
       
    49 ACCESSKEY="P"
       
    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="sdlkey.html"
       
    63 ACCESSKEY="N"
       
    64 >Next</A
       
    65 ></TD
       
    66 ></TR
       
    67 ></TABLE
       
    68 ><HR
       
    69 ALIGN="LEFT"
       
    70 WIDTH="100%"></DIV
       
    71 ><H1
       
    72 ><A
       
    73 NAME="SDLKEYSYM"
       
    74 ></A
       
    75 >SDL_keysym</H1
       
    76 ><DIV
       
    77 CLASS="REFNAMEDIV"
       
    78 ><A
       
    79 NAME="AEN4659"
       
    80 ></A
       
    81 ><H2
       
    82 >Name</H2
       
    83 >SDL_keysym&nbsp;--&nbsp;Keysym structure</DIV
       
    84 ><DIV
       
    85 CLASS="REFSECT1"
       
    86 ><A
       
    87 NAME="AEN4662"
       
    88 ></A
       
    89 ><H2
       
    90 >Structure Definition</H2
       
    91 ><PRE
       
    92 CLASS="PROGRAMLISTING"
       
    93 >typedef struct{
       
    94   Uint8 scancode;
       
    95   SDLKey sym;
       
    96   SDLMod mod;
       
    97   Uint16 unicode;
       
    98 } SDL_keysym;</PRE
       
    99 ></DIV
       
   100 ><DIV
       
   101 CLASS="REFSECT1"
       
   102 ><A
       
   103 NAME="AEN4665"
       
   104 ></A
       
   105 ><H2
       
   106 >Structure Data</H2
       
   107 ><DIV
       
   108 CLASS="INFORMALTABLE"
       
   109 ><A
       
   110 NAME="AEN4667"
       
   111 ></A
       
   112 ><P
       
   113 ></P
       
   114 ><TABLE
       
   115 BORDER="0"
       
   116 CLASS="CALSTABLE"
       
   117 ><TBODY
       
   118 ><TR
       
   119 ><TD
       
   120 ALIGN="LEFT"
       
   121 VALIGN="TOP"
       
   122 ><TT
       
   123 CLASS="STRUCTFIELD"
       
   124 ><I
       
   125 >scancode</I
       
   126 ></TT
       
   127 ></TD
       
   128 ><TD
       
   129 ALIGN="LEFT"
       
   130 VALIGN="TOP"
       
   131 >Hardware specific scancode</TD
       
   132 ></TR
       
   133 ><TR
       
   134 ><TD
       
   135 ALIGN="LEFT"
       
   136 VALIGN="TOP"
       
   137 ><TT
       
   138 CLASS="STRUCTFIELD"
       
   139 ><I
       
   140 >sym</I
       
   141 ></TT
       
   142 ></TD
       
   143 ><TD
       
   144 ALIGN="LEFT"
       
   145 VALIGN="TOP"
       
   146 >SDL virtual keysym</TD
       
   147 ></TR
       
   148 ><TR
       
   149 ><TD
       
   150 ALIGN="LEFT"
       
   151 VALIGN="TOP"
       
   152 ><TT
       
   153 CLASS="STRUCTFIELD"
       
   154 ><I
       
   155 >mod</I
       
   156 ></TT
       
   157 ></TD
       
   158 ><TD
       
   159 ALIGN="LEFT"
       
   160 VALIGN="TOP"
       
   161 >Current key modifiers</TD
       
   162 ></TR
       
   163 ><TR
       
   164 ><TD
       
   165 ALIGN="LEFT"
       
   166 VALIGN="TOP"
       
   167 ><TT
       
   168 CLASS="STRUCTFIELD"
       
   169 ><I
       
   170 >unicode</I
       
   171 ></TT
       
   172 ></TD
       
   173 ><TD
       
   174 ALIGN="LEFT"
       
   175 VALIGN="TOP"
       
   176 >Translated character</TD
       
   177 ></TR
       
   178 ></TBODY
       
   179 ></TABLE
       
   180 ><P
       
   181 ></P
       
   182 ></DIV
       
   183 ></DIV
       
   184 ><DIV
       
   185 CLASS="REFSECT1"
       
   186 ><A
       
   187 NAME="AEN4686"
       
   188 ></A
       
   189 ><H2
       
   190 >Description</H2
       
   191 ><P
       
   192 >The <SPAN
       
   193 CLASS="STRUCTNAME"
       
   194 >SDL_keysym</SPAN
       
   195 > structure is used by reporting key presses and releases since it is a part of the <A
       
   196 HREF="sdlkeyboardevent.html"
       
   197 ><SPAN
       
   198 CLASS="STRUCTNAME"
       
   199 >SDL_KeyboardEvent</SPAN
       
   200 ></A
       
   201 >.</P
       
   202 ><P
       
   203 >The <TT
       
   204 CLASS="STRUCTFIELD"
       
   205 ><I
       
   206 >scancode</I
       
   207 ></TT
       
   208 > field should generally be left alone, it is the hardware dependent scancode returned by the keyboard. The <TT
       
   209 CLASS="STRUCTFIELD"
       
   210 ><I
       
   211 >sym</I
       
   212 ></TT
       
   213 > field is extremely useful. It is the SDL-defined value of the key (see <A
       
   214 HREF="sdlkey.html"
       
   215 >SDL Key Syms</A
       
   216 >. This field is very useful when you are checking for certain key presses, like so:
       
   217 <PRE
       
   218 CLASS="PROGRAMLISTING"
       
   219 >.
       
   220 .
       
   221 while(SDL_PollEvent(&#38;event)){
       
   222   switch(event.type){
       
   223     case SDL_KEYDOWN:
       
   224       if(event.key.keysym.sym==SDLK_LEFT)
       
   225         move_left();
       
   226       break;
       
   227     .
       
   228     .
       
   229     .
       
   230   }
       
   231 }
       
   232 .
       
   233 .</PRE
       
   234 >
       
   235 <TT
       
   236 CLASS="STRUCTFIELD"
       
   237 ><I
       
   238 >mod</I
       
   239 ></TT
       
   240 > stores the current state of the keyboard modifiers as explained in <A
       
   241 HREF="sdlgetmodstate.html"
       
   242 ><TT
       
   243 CLASS="FUNCTION"
       
   244 >SDL_GetModState</TT
       
   245 ></A
       
   246 >. The <TT
       
   247 CLASS="STRUCTFIELD"
       
   248 ><I
       
   249 >unicode</I
       
   250 ></TT
       
   251 > is only used when UNICODE translation is enabled with <A
       
   252 HREF="sdlenableunicode.html"
       
   253 ><TT
       
   254 CLASS="FUNCTION"
       
   255 >SDL_EnableUNICODE</TT
       
   256 ></A
       
   257 >. If <TT
       
   258 CLASS="STRUCTFIELD"
       
   259 ><I
       
   260 >unicode</I
       
   261 ></TT
       
   262 > is non-zero then this a the UNICODE character corresponding to the keypress. If the high 9 bits of the character are 0, then this maps to the equivalent ASCII character:
       
   263 <PRE
       
   264 CLASS="PROGRAMLISTING"
       
   265 >char ch;
       
   266 if ( (keysym.unicode &#38; 0xFF80) == 0 ) {
       
   267   ch = keysym.unicode &#38; 0x7F;
       
   268 }
       
   269 else {
       
   270   printf("An International Character.\n");
       
   271 }</PRE
       
   272 >
       
   273 UNICODE translation does have a slight overhead so don't enable it unless its needed.</P
       
   274 ></DIV
       
   275 ><DIV
       
   276 CLASS="REFSECT1"
       
   277 ><A
       
   278 NAME="AEN4705"
       
   279 ></A
       
   280 ><H2
       
   281 >See Also</H2
       
   282 ><P
       
   283 ><A
       
   284 HREF="sdlkey.html"
       
   285 ><SPAN
       
   286 CLASS="STRUCTNAME"
       
   287 >SDLKey</SPAN
       
   288 ></A
       
   289 ></P
       
   290 ></DIV
       
   291 ><DIV
       
   292 CLASS="NAVFOOTER"
       
   293 ><HR
       
   294 ALIGN="LEFT"
       
   295 WIDTH="100%"><TABLE
       
   296 SUMMARY="Footer navigation table"
       
   297 WIDTH="100%"
       
   298 BORDER="0"
       
   299 CELLPADDING="0"
       
   300 CELLSPACING="0"
       
   301 ><TR
       
   302 ><TD
       
   303 WIDTH="33%"
       
   304 ALIGN="left"
       
   305 VALIGN="top"
       
   306 ><A
       
   307 HREF="sdlquitevent.html"
       
   308 ACCESSKEY="P"
       
   309 >Prev</A
       
   310 ></TD
       
   311 ><TD
       
   312 WIDTH="34%"
       
   313 ALIGN="center"
       
   314 VALIGN="top"
       
   315 ><A
       
   316 HREF="index.html"
       
   317 ACCESSKEY="H"
       
   318 >Home</A
       
   319 ></TD
       
   320 ><TD
       
   321 WIDTH="33%"
       
   322 ALIGN="right"
       
   323 VALIGN="top"
       
   324 ><A
       
   325 HREF="sdlkey.html"
       
   326 ACCESSKEY="N"
       
   327 >Next</A
       
   328 ></TD
       
   329 ></TR
       
   330 ><TR
       
   331 ><TD
       
   332 WIDTH="33%"
       
   333 ALIGN="left"
       
   334 VALIGN="top"
       
   335 >SDL_QuitEvent</TD
       
   336 ><TD
       
   337 WIDTH="34%"
       
   338 ALIGN="center"
       
   339 VALIGN="top"
       
   340 ><A
       
   341 HREF="eventstructures.html"
       
   342 ACCESSKEY="U"
       
   343 >Up</A
       
   344 ></TD
       
   345 ><TD
       
   346 WIDTH="33%"
       
   347 ALIGN="right"
       
   348 VALIGN="top"
       
   349 >SDLKey</TD
       
   350 ></TR
       
   351 ></TABLE
       
   352 ></DIV
       
   353 ></BODY
       
   354 ></HTML
       
   355 >