<HTML
><HEAD
><TITLE
>SDL_GetModState</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Event Functions."
HREF="eventfunctions.html"><LINK
REL="PREVIOUS"
TITLE="SDL_GetKeyState"
HREF="sdlgetkeystate.html"><LINK
REL="NEXT"
TITLE="SDL_SetModState"
HREF="sdlsetmodstate.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="sdlgetkeystate.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdlsetmodstate.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLGETMODSTATE"
>SDL_GetModState</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5333"
></A
><H2
>Name</H2
>SDL_GetModState&nbsp;--&nbsp;Get the state of modifier keys.</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5336"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5337"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>SDLMod <B
CLASS="FSFUNC"
>SDL_GetModState</B
></CODE
>(void);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5343"
></A
><H2
>Description</H2
><P
>Returns the current state of the modifier keys (CTRL, ALT, etc.).</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5346"
></A
><H2
>Return Value</H2
><P
>The return value can be an OR'd combination of the SDLMod enum.</P
><P
><A
NAME="AEN5350"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
><B
>SDLMod</B
></P
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
  KMOD_NONE  = 0x0000,
  KMOD_LSHIFT= 0x0001,
  KMOD_RSHIFT= 0x0002,
  KMOD_LCTRL = 0x0040,
  KMOD_RCTRL = 0x0080,
  KMOD_LALT  = 0x0100,
  KMOD_RALT  = 0x0200,
  KMOD_LMETA = 0x0400,
  KMOD_RMETA = 0x0800,
  KMOD_NUM   = 0x1000,
  KMOD_CAPS  = 0x2000,
  KMOD_MODE  = 0x4000,
} SDLMod;</PRE
></BLOCKQUOTE
>
SDL also defines the following symbols for convenience:
<A
NAME="AEN5353"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><PRE
CLASS="PROGRAMLISTING"
>#define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL)
#define KMOD_SHIFT  (KMOD_LSHIFT|KMOD_RSHIFT)
#define KMOD_ALT  (KMOD_LALT|KMOD_RALT)
#define KMOD_META (KMOD_LMETA|KMOD_RMETA)</PRE
></BLOCKQUOTE
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5355"
></A
><H2
>See Also</H2
><P
><A
HREF="sdlgetkeystate.html"
><TT
CLASS="FUNCTION"
>SDL_GetKeyState</TT
></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="sdlgetkeystate.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="sdlsetmodstate.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_GetKeyState</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="eventfunctions.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_SetModState</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>