Mercurial > sdl-ios-xcode
diff docs/html/sdlkeysym.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/html/sdlkeysym.html Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,347 @@ +<HTML +><HEAD +><TITLE +>SDL_keysym</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.61 +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SDL Event Structures." +HREF="eventstructures.html"><LINK +REL="PREVIOUS" +TITLE="SDL_QuitEvent" +HREF="sdlquitevent.html"><LINK +REL="NEXT" +TITLE="SDLKey" +HREF="sdlkey.html"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFF8DC" +TEXT="#000000" +LINK="#0000ee" +VLINK="#551a8b" +ALINK="#ff0000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SDL Library Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="sdlquitevent.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlkey.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLKEYSYM" +>SDL_keysym</A +></H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4116" +></A +><H2 +>Name</H2 +>SDL_keysym -- Keysym structure</DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4119" +></A +><H2 +>Structure Definition</H2 +><PRE +CLASS="PROGRAMLISTING" +>typedef struct{ + Uint8 scancode; + SDLKey sym; + SDLMod mod; + Uint16 unicode; +} SDL_keysym;</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4122" +></A +><H2 +>Structure Data</H2 +><DIV +CLASS="INFORMALTABLE" +><A +NAME="AEN4124" +></A +><P +></P +><TABLE +BORDER="0" +CLASS="CALSTABLE" +><TBODY +><TR +><TD +ALIGN="LEFT" +VALIGN="TOP" +><TT +CLASS="STRUCTFIELD" +><I +>scancode</I +></TT +></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +>Hardware specific scancode</TD +></TR +><TR +><TD +ALIGN="LEFT" +VALIGN="TOP" +><TT +CLASS="STRUCTFIELD" +><I +>sym</I +></TT +></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +>SDL virtual keysym</TD +></TR +><TR +><TD +ALIGN="LEFT" +VALIGN="TOP" +><TT +CLASS="STRUCTFIELD" +><I +>mod</I +></TT +></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +>Current key modifiers</TD +></TR +><TR +><TD +ALIGN="LEFT" +VALIGN="TOP" +><TT +CLASS="STRUCTFIELD" +><I +>unicode</I +></TT +></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +>Translated character</TD +></TR +></TBODY +></TABLE +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4143" +></A +><H2 +>Description</H2 +><P +>The <SPAN +CLASS="STRUCTNAME" +>SDL_keysym</SPAN +> structure is used by reporting key presses and releases since it is a part of the <A +HREF="sdlkeyboardevent.html" +><SPAN +CLASS="STRUCTNAME" +>SDL_KeyboardEvent</SPAN +></A +>.</P +><P +>The <TT +CLASS="STRUCTFIELD" +><I +>scancode</I +></TT +> field should generally be left alone, it is the hardware dependent scancode returned by the keyboard. The <TT +CLASS="STRUCTFIELD" +><I +>sym</I +></TT +> field is extremely useful. It is the SDL-defined value of the key (see <A +HREF="sdlkey.html" +>SDL Key Syms</A +>. This field is very useful when you are checking for certain key presses, like so: +<PRE +CLASS="PROGRAMLISTING" +>. +. +while(SDL_PollEvent(&event)){ + switch(event.type){ + case SDL_KEYDOWN: + if(event.key.keysym.sym==SDLK_LEFT) + move_left(); + break; + . + . + . + } +} +. +.</PRE +> +<TT +CLASS="STRUCTFIELD" +><I +>mod</I +></TT +> stores the current state of the keyboard modifiers as explained in <A +HREF="sdlgetmodstate.html" +><TT +CLASS="FUNCTION" +>SDL_GetModState</TT +></A +>. The <TT +CLASS="STRUCTFIELD" +><I +>unicode</I +></TT +> is only used when UNICODE translation is enabled with <A +HREF="sdlenableunicode.html" +><TT +CLASS="FUNCTION" +>SDL_EnableUNICODE</TT +></A +>. If <TT +CLASS="STRUCTFIELD" +><I +>unicode</I +></TT +> 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: +<PRE +CLASS="PROGRAMLISTING" +>char ch; +if ( (keysym.unicode & 0xFF80) == 0 ) { + ch = keysym.unicode & 0x7F; +} +else { + printf("An International Character.\n"); +}</PRE +> +UNICODE translation does have a slight overhead so don't enable it unless its needed.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4162" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlkey.html" +><SPAN +CLASS="STRUCTNAME" +>SDLKey</SPAN +></A +></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sdlquitevent.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sdlkey.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_QuitEvent</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="eventstructures.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDLKey</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file