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&nbsp;--&nbsp;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(&#38;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 &#38; 0xFF80) == 0 ) {
+  ch = keysym.unicode &#38; 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