\hypertarget{group__Evas__Keys}{}\section{Key Input Functions}
\label{group__Evas__Keys}\index{Key Input Functions@{Key Input Functions}}


Functions which feed key events to the canvas.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set} (const \hyperlink{group__Evas_ga198d0b10861c1da456004688d3443e96}{Evas\+\_\+\+Modifier} $\ast$m, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Checks the state of a given modifier key, at the time of the call. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set} (const \hyperlink{group__Evas_ga791323b644ee831ead4c5d25552a0fd8}{Evas\+\_\+\+Lock} $\ast$l, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Checks the state of a given lock key, at the time of the call. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions which feed key events to the canvas. 

As explained in intro\+\_\+not\+\_\+evas, Evas is {\bfseries not} aware of input systems at all. Then, the user, if using it crudely (\hyperlink{group__Evas__Canvas_ga67e8eb17d2a676bfdfb8794fc5f72bc0}{evas\+\_\+new()}), will have to feed it with input events, so that it can react somehow. If, however, the user creates a canvas by means of the Ecore\+\_\+\+Evas wrapper, it will automatically bind the chosen display engine\textquotesingle{}s input events to the canvas, for you.

This group presents the functions dealing with the feeding of key events to the canvas. On most of them, one has to reference a given key by a name ({\ttfamily keyname} argument). Those are {\bfseries platform dependent} symbolic names for the keys. Sometimes you\textquotesingle{}ll get the right {\ttfamily keyname} by simply using an A\+S\+C\+II value of the key name, but it won\textquotesingle{}t be like that always.

Typical platforms are Linux frame buffer (Ecore\+\_\+\+FB) and X server (Ecore\+\_\+X) when using Evas with Ecore and Ecore\+\_\+\+Evas. Please refer to your display engine\textquotesingle{}s documentation when using evas through an Ecore helper wrapper when you need the {\ttfamily keyname}s.

Example\+:  
\begin{DoxyCodeInclude}
   mods = \hyperlink{group__Evas__Canvas_ga4a5730766f69f91a4bfb37568d620676}{evas\_key\_modifier\_get}(\hyperlink{namespaceevas}{evas});
   \textcolor{keywordflow}{if} (\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\_key\_modifier\_is\_set}(mods, \textcolor{stringliteral}{"Control"}) &&
       (strcmp(ev->key, \textcolor{stringliteral}{"o"}) == 0)) \textcolor{comment}{/* add an obscured}
\textcolor{comment}{                                        * rectangle to the middle}
\textcolor{comment}{                                        * of the canvas */}
     \{

\end{DoxyCodeInclude}


All the other {\ttfamily evas\+\_\+key} functions behave on the same manner. See the full \hyperlink{Example_Evas_Events}{example}. 

\subsection{Function Documentation}
\hypertarget{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{}\label{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261} 
\index{Key Input Functions@{Key Input Functions}!evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set@{evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set}}
\index{evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set@{evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set}!Key Input Functions@{Key Input Functions}}
\subsubsection{\texorpdfstring{evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set()}{evas\_key\_modifier\_is\_set()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} evas\+\_\+key\+\_\+modifier\+\_\+is\+\_\+set (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Evas_ga198d0b10861c1da456004688d3443e96}{Evas\+\_\+\+Modifier} $\ast$}]{m,  }\item[{const char $\ast$}]{keyname }\end{DoxyParamCaption})}



Checks the state of a given modifier key, at the time of the call. 

If the modifier is set, such as shift being pressed, this function returns {\ttfamily Eina\+\_\+\+True}.


\begin{DoxyParams}{Parameters}
{\em m} & The current modifiers set, as returned by \hyperlink{group__Evas__Canvas_ga4a5730766f69f91a4bfb37568d620676}{evas\+\_\+key\+\_\+modifier\+\_\+get()}. \\
\hline
{\em keyname} & The name of the modifier key to check status for.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily Eina\+\_\+\+True} if the modifier key named {\ttfamily keyname} is on, {\ttfamily Eina\+\_\+\+False} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Canvas_ga8204eab45ed56d57f34d8020b52a63a7}{evas\+\_\+key\+\_\+modifier\+\_\+add} 

\hyperlink{group__Evas__Canvas_ga2aec6e8faa55052bc5cf67c3052d7e0b}{evas\+\_\+key\+\_\+modifier\+\_\+del} 

\hyperlink{group__Evas__Canvas_ga4a5730766f69f91a4bfb37568d620676}{evas\+\_\+key\+\_\+modifier\+\_\+get} 

\hyperlink{group__Evas__Canvas_ga6ccfb047d185e898b81d7a6b01138a32}{evas\+\_\+key\+\_\+modifier\+\_\+on} 

\hyperlink{group__Evas__Canvas_gab3d15ba07954691c14f1bb5e944fffd9}{evas\+\_\+key\+\_\+modifier\+\_\+off} 
\end{DoxySeeAlso}
\hypertarget{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{}\label{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de} 
\index{Key Input Functions@{Key Input Functions}!evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set@{evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set}}
\index{evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set@{evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set}!Key Input Functions@{Key Input Functions}}
\subsubsection{\texorpdfstring{evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set()}{evas\_key\_lock\_is\_set()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} evas\+\_\+key\+\_\+lock\+\_\+is\+\_\+set (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Evas_ga791323b644ee831ead4c5d25552a0fd8}{Evas\+\_\+\+Lock} $\ast$}]{l,  }\item[{const char $\ast$}]{keyname }\end{DoxyParamCaption})}



Checks the state of a given lock key, at the time of the call. 

If the lock is set, such as caps lock, this function returns {\ttfamily Eina\+\_\+\+True}.


\begin{DoxyParams}{Parameters}
{\em l} & The current locks set, as returned by \hyperlink{group__Evas__Canvas_ga7c9ce33480c629dc05b49f6e51fd3018}{evas\+\_\+key\+\_\+lock\+\_\+get()}. \\
\hline
{\em keyname} & The name of the lock key to check status for.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily Eina\+\_\+\+True} if the {\ttfamily keyname} lock key is set, {\ttfamily Eina\+\_\+\+False} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__Canvas_ga7c9ce33480c629dc05b49f6e51fd3018}{evas\+\_\+key\+\_\+lock\+\_\+get} 

\hyperlink{group__Evas__Canvas_gaf7f5cf543d1fe34e20388afcd87d4bb5}{evas\+\_\+key\+\_\+lock\+\_\+add} 

\hyperlink{group__Evas__Canvas_ga1e109d368419210118d93c4e183d3362}{evas\+\_\+key\+\_\+lock\+\_\+del} 

\hyperlink{group__Evas__Canvas_gaa3be09f53833c49b354963d7c0130b31}{evas\+\_\+key\+\_\+lock\+\_\+on} 

\hyperlink{group__Evas__Canvas_ga60aa3223bbe2853a43cb842758707373}{evas\+\_\+key\+\_\+lock\+\_\+off} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+U\+N\+U\+S\+ED, evas\+\_\+key\+\_\+lock\+\_\+del(), and evas\+\_\+key\+\_\+modifier\+\_\+del().

