\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{Evas__Common_8h_a198d0b10861c1da456004688d3443e96}{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{Evas__Common_8h_a791323b644ee831ead4c5d25552a0fd8}{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}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__Evas__Keys_ga1ae6a58a71e9c056be223c512feeea14}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get}(ret)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const \hyperlink{Evas__Common_8h_a198d0b10861c1da456004688d3443e96}{Evas\-\_\-\-Modifier} $\ast$$\ast$, ret)
\item 
\#define \hyperlink{group__Evas__Keys_ga73d798baadde52f60a31e11c2c5e1dfd}{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get}(ret)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const \hyperlink{Evas__Common_8h_a791323b644ee831ead4c5d25552a0fd8}{Evas\-\_\-\-Lock} $\ast$$\ast$, ret)
\item 
\#define \hyperlink{group__Evas__Keys_gada1468595f0cfce91ac72d741ad6fedf}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_ga87e687015323bcbec7ea8fb8f269d694}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_ga9c370eda8032c1dadde0cdcaef44a8f2}{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_ga42f2caabd5e1f8f9cfa44aea09e3f968}{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_gaabc8df4e190fad370bc11024c489ec83}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-O\-N), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_gaf017e55eaf9df074137efb218a9d938e}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-O\-F\-F), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_gaf6590d648f8405629dcae3f00c3301e3}{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-O\-N), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_ga4749776d60332edb62e1f45fa18bbb50}{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off}(keyname)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-O\-F\-F), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)
\item 
\#define \hyperlink{group__Evas__Keys_ga45b1edabdd686715a0ed52a20c538084}{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}(keyname, ret)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-M\-A\-S\-K\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} $\ast$, ret)
\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__Evas__Object__Group__Basic_gab2bdb2736c95c7b5bb13b9990dba5498}{evas\-\_\-obj\-\_\-key\-\_\-grab}(keyname, modifiers, not\-\_\-modifiers, exclusive, ret)~E\-V\-A\-S\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-G\-R\-A\-B), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask}, modifiers), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask}, not\-\_\-modifiers), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool}, exclusive), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} $\ast$, ret)
\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{Evas__Common_8h_a198d0b10861c1da456004688d3443e96}{Evas\-\_\-\-Modifier} $\ast$ \hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
\begin{DoxyCompactList}\small\item\em Returns a handle to the list of modifier keys registered in the canvas {\ttfamily e}. \end{DoxyCompactList}\item 
const \hyperlink{Evas__Common_8h_a791323b644ee831ead4c5d25552a0fd8}{Evas\-\_\-\-Lock} $\ast$ \hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
\begin{DoxyCompactList}\small\item\em Returns a handle to the list of lock keys registered in the canvas {\ttfamily e}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Adds the {\ttfamily keyname} key to the current list of modifier keys. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{evas\-\_\-key\-\_\-modifier\-\_\-del} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Removes the {\ttfamily keyname} key from the current list of modifier keys on canvas {\ttfamily e}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Adds the {\ttfamily keyname} key to the current list of lock keys. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Removes the {\ttfamily keyname} key from the current list of lock keys on canvas {\ttfamily e}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Enables or turns on programmatically the modifier key with name {\ttfamily keyname}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Disables or turns off programmatically the modifier key with name {\ttfamily keyname}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Enables or turns on programmatically the lock key with name {\ttfamily keyname}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Disables or turns off programmatically the lock key with name {\ttfamily keyname}. \end{DoxyCompactList}\item 
\hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} \hyperlink{group__Evas__Keys_ga12255f6ad27ed224823cc2a0f6931399}{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname)
\begin{DoxyCompactList}\small\item\em Creates a bit mask from the {\ttfamily keyname} {\bfseries modifier} key. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\-\_\-object\-\_\-key\-\_\-grab} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$keyname, \hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} modifiers, \hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} not\-\_\-modifiers, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} exclusive)
\begin{DoxyCompactList}\small\item\em Requests {\ttfamily keyname} key events be directed to {\ttfamily obj}. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\-\_\-object\-\_\-key\-\_\-ungrab} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$keyname, \hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} modifiers, \hyperlink{Evas__Common_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\-\_\-\-Modifier\-\_\-\-Mask} not\-\_\-modifiers)
\begin{DoxyCompactList}\small\item\em Removes the grab on {\ttfamily keyname} key events by {\ttfamily obj}. \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'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'll get the right {\ttfamily keyname} by simply using an A\-S\-C\-I\-I value of the key name, but it won't be like that always.

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

Example\-:  
\begin{DoxyCodeInclude}
   mods = \hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\_key\_modifier\_get}(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{Macro Definition Documentation}
\hypertarget{group__Evas__Keys_ga1ae6a58a71e9c056be223c512feeea14}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get(
\begin{DoxyParamCaption}
\item[{}]{ret}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const {\bf Evas\-\_\-\-Modifier} $\ast$$\ast$, ret)}}\label{group__Evas__Keys_ga1ae6a58a71e9c056be223c512feeea14}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Returns a handle to the list of modifier keys registered in the


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em ret} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-get().

\hypertarget{group__Evas__Object__Group__Basic_gab2bdb2736c95c7b5bb13b9990dba5498}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-obj\-\_\-key\-\_\-grab@{evas\-\_\-obj\-\_\-key\-\_\-grab}}
\index{evas\-\_\-obj\-\_\-key\-\_\-grab@{evas\-\_\-obj\-\_\-key\-\_\-grab}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-obj\-\_\-key\-\_\-grab}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-obj\-\_\-key\-\_\-grab(
\begin{DoxyParamCaption}
\item[{}]{keyname, }
\item[{}]{modifiers, }
\item[{}]{not\-\_\-modifiers, }
\item[{}]{exclusive, }
\item[{}]{ret}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-G\-R\-A\-B), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}, modifiers), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}, not\-\_\-modifiers), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Eina\-\_\-\-Bool}, exclusive), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Eina\-\_\-\-Bool} $\ast$, ret)}}\label{group__Evas__Object__Group__Basic_gab2bdb2736c95c7b5bb13b9990dba5498}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Requests {\ttfamily keyname} key events be directed to the obj. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & in \\
\hline
\mbox{\tt in}  & {\em modifiers} & in \\
\hline
\mbox{\tt in}  & {\em not\-\_\-modifiers} & in \\
\hline
\mbox{\tt in}  & {\em exclusive} & in \\
\hline
\mbox{\tt out}  & {\em ret} & out\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\-\_\-object\-\_\-key\-\_\-grab} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-object\-\_\-key\-\_\-grab().

\hypertarget{group__Evas__Keys_ga73d798baadde52f60a31e11c2c5e1dfd}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get(
\begin{DoxyParamCaption}
\item[{}]{ret}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const {\bf Evas\-\_\-\-Lock} $\ast$$\ast$, ret)}}\label{group__Evas__Keys_ga73d798baadde52f60a31e11c2c5e1dfd}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Returns a handle to the list of lock keys registered in the canvas


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em ret} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-lock\-\_\-get().

\hypertarget{group__Evas__Keys_gada1468595f0cfce91ac72d741ad6fedf}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_gada1468595f0cfce91ac72d741ad6fedf}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Adds the keyname key to the current list of modifier keys.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-add().

\hypertarget{group__Evas__Keys_ga87e687015323bcbec7ea8fb8f269d694}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_ga87e687015323bcbec7ea8fb8f269d694}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Removes the keyname key from the current list of modifier keys


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{evas\-\_\-key\-\_\-modifier\-\_\-del} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-del().

\hypertarget{group__Evas__Keys_ga9c370eda8032c1dadde0cdcaef44a8f2}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_ga9c370eda8032c1dadde0cdcaef44a8f2}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Adds the keyname key to the current list of lock keys.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-lock\-\_\-add().

\hypertarget{group__Evas__Keys_ga42f2caabd5e1f8f9cfa44aea09e3f968}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_ga42f2caabd5e1f8f9cfa44aea09e3f968}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Removes the keyname key from the current list of lock keys on


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-lock\-\_\-del().

\hypertarget{group__Evas__Keys_gaabc8df4e190fad370bc11024c489ec83}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-O\-N), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_gaabc8df4e190fad370bc11024c489ec83}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Enables or turns on programmatically the modifier key with name {\ttfamily keyname}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-on().

\hypertarget{group__Evas__Keys_gaf017e55eaf9df074137efb218a9d938e}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-O\-F\-F), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_gaf017e55eaf9df074137efb218a9d938e}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Disables or turns off programmatically the modifier key with name {\ttfamily keyname} 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-off().

\hypertarget{group__Evas__Keys_gaf6590d648f8405629dcae3f00c3301e3}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-O\-N), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_gaf6590d648f8405629dcae3f00c3301e3}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Enables or turns on programmatically the lock key with name {\ttfamily keyname} 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-lock\-\_\-on().

\hypertarget{group__Evas__Keys_ga4749776d60332edb62e1f45fa18bbb50}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off@{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off(
\begin{DoxyParamCaption}
\item[{}]{keyname}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-L\-O\-C\-K\-\_\-\-O\-F\-F), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname)}}\label{group__Evas__Keys_ga4749776d60332edb62e1f45fa18bbb50}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Disables or turns off programmatically the lock key with name {\ttfamily keyname} 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-lock\-\_\-off().

\hypertarget{group__Evas__Keys_ga45b1edabdd686715a0ed52a20c538084}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}}
\index{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get@{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get(
\begin{DoxyParamCaption}
\item[{}]{keyname, }
\item[{}]{ret}
\end{DoxyParamCaption}
)~E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-I\-D(E\-V\-A\-S\-\_\-\-C\-A\-N\-V\-A\-S\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-K\-E\-Y\-\_\-\-M\-O\-D\-I\-F\-I\-E\-R\-\_\-\-M\-A\-S\-K\-\_\-\-G\-E\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, keyname), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Evas\-\_\-\-Modifier\-\_\-\-Mask} $\ast$, ret)}}\label{group__Evas__Keys_ga45b1edabdd686715a0ed52a20c538084}
\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}
Creates a bit mask from the keyname {\bfseries modifier} key.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em keyname} & \\
\hline
\mbox{\tt out}  & {\em ret} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga12255f6ad27ed224823cc2a0f6931399}{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get} 
\end{DoxySeeAlso}


Referenced by evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get().



\subsection{Function Documentation}
\hypertarget{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[{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\-\_\-\-Bool} evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Modifier} $\ast$}]{m, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}


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__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{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__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{evas\-\_\-key\-\_\-modifier\-\_\-del} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 
\end{DoxySeeAlso}
\hypertarget{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[{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\-\_\-\-Bool} evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Lock} $\ast$}]{l, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}


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__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{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__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 

\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 

\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 

\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 

\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 
\end{DoxySeeAlso}
\hypertarget{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-get@{evas\-\_\-key\-\_\-modifier\-\_\-get}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-get@{evas\-\_\-key\-\_\-modifier\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Evas\-\_\-\-Modifier}$\ast$ evas\-\_\-key\-\_\-modifier\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas} $\ast$}]{e}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}


Returns a handle to the list of modifier keys registered in the canvas {\ttfamily e}. 

This is required to check for which modifiers are set at a given time with the \hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set()} function.


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{evas\-\_\-key\-\_\-modifier\-\_\-del} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
An \hyperlink{Evas__Common_8h_a198d0b10861c1da456004688d3443e96}{Evas\-\_\-\-Modifier} handle to query Evas' keys subsystem with \hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set()}, or {\ttfamily N\-U\-L\-L} on error. 
\end{DoxyReturn}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-get.

\hypertarget{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-lock\-\_\-get@{evas\-\_\-key\-\_\-lock\-\_\-get}}
\index{evas\-\_\-key\-\_\-lock\-\_\-get@{evas\-\_\-key\-\_\-lock\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-lock\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Evas\-\_\-\-Lock}$\ast$ evas\-\_\-key\-\_\-lock\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas} $\ast$}]{e}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}


Returns a handle to the list of lock keys registered in the canvas {\ttfamily e}. 

This is required to check for which locks are set at a given time with the \hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set()} function.


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 

\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 

\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 

\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 

\hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
An \hyperlink{Evas__Common_8h_a791323b644ee831ead4c5d25552a0fd8}{Evas\-\_\-\-Lock} handle to query Evas' keys subsystem with \hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set()}, or {\ttfamily N\-U\-L\-L} on error. 
\end{DoxyReturn}


References evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-get.

\hypertarget{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-add@{evas\-\_\-key\-\_\-modifier\-\_\-add}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-add@{evas\-\_\-key\-\_\-modifier\-\_\-add}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-modifier\-\_\-add (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}


Adds the {\ttfamily keyname} key to the current list of modifier keys. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the modifier key to add to the list of Evas modifiers.\\
\hline
\end{DoxyParams}
Modifiers are keys like shift, alt and ctrl, i.\-e., keys which are meant to be pressed together with others, altering the behavior of the secondly pressed keys somehow. Evas is so that these keys can be user defined.

This call allows custom modifiers to be added to the Evas system at run time. It is then possible to set and unset modifier keys programmatically for other parts of the program to check and act on. Programmers using Evas would check for modifier keys on key event callbacks using \hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set()}.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{evas\-\_\-key\-\_\-modifier\-\_\-del} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
If the programmer instantiates the canvas by means of the \hyperlink{group__Ecore__Evas__Group_gac7f2cdbcb79635c34317c1183dd04cb0}{ecore\-\_\-evas\-\_\-new()} family of helper functions, Ecore will take care of registering on it all standard modifiers\-: \char`\"{}\-Shift\char`\"{}, \char`\"{}\-Control\char`\"{}, \char`\"{}\-Alt\char`\"{}, \char`\"{}\-Meta\char`\"{}, \char`\"{}\-Hyper\char`\"{}, \char`\"{}\-Super\char`\"{}. 
\end{DoxyNote}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-add.



Referenced by ecore\-\_\-evas\-\_\-buffer\-\_\-allocfunc\-\_\-new(), ecore\-\_\-evas\-\_\-ews\-\_\-new(), and ecore\-\_\-evas\-\_\-object\-\_\-image\-\_\-new().

\hypertarget{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-del@{evas\-\_\-key\-\_\-modifier\-\_\-del}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-del@{evas\-\_\-key\-\_\-modifier\-\_\-del}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-modifier\-\_\-del (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_gaaba080ecaec036a0f4780af3052365bd}


Removes the {\ttfamily keyname} key from the current list of modifier keys on canvas {\ttfamily e}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the key to remove from the modifiers list.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-del.

\hypertarget{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-lock\-\_\-add@{evas\-\_\-key\-\_\-lock\-\_\-add}}
\index{evas\-\_\-key\-\_\-lock\-\_\-add@{evas\-\_\-key\-\_\-lock\-\_\-add}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-lock\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-lock\-\_\-add (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}


Adds the {\ttfamily keyname} key to the current list of lock keys. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the key to add to the locks list.\\
\hline
\end{DoxyParams}
Locks are keys like caps lock, num lock or scroll lock, i.\-e., keys which are meant to be pressed once -- toggling a binary state which is bound to it -- and thus altering the behavior of all subsequently pressed keys somehow, depending on its state. Evas is so that these keys can be defined by the user.

This allows custom locks to be added to the evas system at run time. It is then possible to set and unset lock keys programmatically for other parts of the program to check and act on. Programmers using Evas would check for lock keys on key event callbacks using \hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set()}.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 

\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 

\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 

\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 

\hyperlink{group__Evas__Keys_ga08080dfe3ad50c85f4965b9063bfd7de}{evas\-\_\-key\-\_\-lock\-\_\-is\-\_\-set}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
If the programmer instantiates the canvas by means of the \hyperlink{group__Ecore__Evas__Group_gac7f2cdbcb79635c34317c1183dd04cb0}{ecore\-\_\-evas\-\_\-new()} family of helper functions, Ecore will take care of registering on it all standard lock keys\-: \char`\"{}\-Caps\-\_\-\-Lock\char`\"{}, \char`\"{}\-Num\-\_\-\-Lock\char`\"{}, \char`\"{}\-Scroll\-\_\-\-Lock\char`\"{}. 
\end{DoxyNote}


References evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-add.



Referenced by ecore\-\_\-evas\-\_\-buffer\-\_\-allocfunc\-\_\-new(), ecore\-\_\-evas\-\_\-ews\-\_\-new(), and ecore\-\_\-evas\-\_\-object\-\_\-image\-\_\-new().

\hypertarget{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-lock\-\_\-del@{evas\-\_\-key\-\_\-lock\-\_\-del}}
\index{evas\-\_\-key\-\_\-lock\-\_\-del@{evas\-\_\-key\-\_\-lock\-\_\-del}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-lock\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-lock\-\_\-del (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}


Removes the {\ttfamily keyname} key from the current list of lock keys on canvas {\ttfamily e}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the key to remove from the locks list.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 

\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 

\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 

\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-del.

\hypertarget{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-on@{evas\-\_\-key\-\_\-modifier\-\_\-on}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-on@{evas\-\_\-key\-\_\-modifier\-\_\-on}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-on}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-modifier\-\_\-on (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}


Enables or turns on programmatically the modifier key with name {\ttfamily keyname}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the modifier to enable.\\
\hline
\end{DoxyParams}
The effect will be as if the key was pressed for the whole time between this call and a matching \hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off()}.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-on.

\hypertarget{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-off@{evas\-\_\-key\-\_\-modifier\-\_\-off}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-off@{evas\-\_\-key\-\_\-modifier\-\_\-off}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-off}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-modifier\-\_\-off (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}


Disables or turns off programmatically the modifier key with name {\ttfamily keyname}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the modifier to disable.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-off.

\hypertarget{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-lock\-\_\-on@{evas\-\_\-key\-\_\-lock\-\_\-on}}
\index{evas\-\_\-key\-\_\-lock\-\_\-on@{evas\-\_\-key\-\_\-lock\-\_\-on}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-lock\-\_\-on}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-lock\-\_\-on (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}


Enables or turns on programmatically the lock key with name {\ttfamily keyname}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the lock to enable.\\
\hline
\end{DoxyParams}
The effect will be as if the key was put on its active state after this call.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 

\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 

\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 

\hyperlink{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{evas\-\_\-key\-\_\-lock\-\_\-off} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-on.

\hypertarget{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-lock\-\_\-off@{evas\-\_\-key\-\_\-lock\-\_\-off}}
\index{evas\-\_\-key\-\_\-lock\-\_\-off@{evas\-\_\-key\-\_\-lock\-\_\-off}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-lock\-\_\-off}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-key\-\_\-lock\-\_\-off (
\begin{DoxyParamCaption}
\item[{{\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga72db690280a1965a2e29331bcb89a765}


Disables or turns off programmatically the lock key with name {\ttfamily keyname}. 


\begin{DoxyParams}{Parameters}
{\em e} & The pointer to the Evas canvas \\
\hline
{\em keyname} & The name of the lock to disable.\\
\hline
\end{DoxyParams}
The effect will be as if the key was put on its inactive state after this call.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga67f1a1174c0bc4adb0a927f74d0fe808}{evas\-\_\-key\-\_\-lock\-\_\-get} 

\hyperlink{group__Evas__Keys_gace775bf261eca5b76f413dd79b4d053e}{evas\-\_\-key\-\_\-lock\-\_\-add} 

\hyperlink{group__Evas__Keys_ga667f5fedc7419f4d29e5ab323dcfd8c3}{evas\-\_\-key\-\_\-lock\-\_\-del} 

\hyperlink{group__Evas__Keys_gac0649026afd0eb10d995480bf5c32176}{evas\-\_\-key\-\_\-lock\-\_\-on} 
\end{DoxySeeAlso}


References evas\-\_\-canvas\-\_\-key\-\_\-lock\-\_\-off.

\hypertarget{group__Evas__Keys_ga12255f6ad27ed224823cc2a0f6931399}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get@{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}}
\index{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get@{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\-\_\-\-Modifier\-\_\-\-Mask} evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas} $\ast$}]{e, }
\item[{const char $\ast$}]{keyname}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga12255f6ad27ed224823cc2a0f6931399}


Creates a bit mask from the {\ttfamily keyname} {\bfseries modifier} key. 

Values returned from different calls to it may be O\-Red together, naturally.


\begin{DoxyParams}{Parameters}
{\em e} & The canvas whom to query the bit mask from. \\
\hline
{\em keyname} & The name of the modifier key to create the mask for.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the bit mask or 0 if the {\ttfamily keyname} key wasn't registered as a modifier for canvas {\ttfamily e}.
\end{DoxyReturn}
This function is meant to be using in conjunction with \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\-\_\-object\-\_\-key\-\_\-grab()}/evas\-\_\-object\-\_\-key\-\_\-ungrab(). Go check their documentation for more information.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 

\hyperlink{group__Evas__Keys_gabbfbb88042436b29b83b97098a8f6f3c}{evas\-\_\-key\-\_\-modifier\-\_\-get} 

\hyperlink{group__Evas__Keys_gae3aac1168ec533d08eb0c9f0ddca7bdb}{evas\-\_\-key\-\_\-modifier\-\_\-on} 

\hyperlink{group__Evas__Keys_ga3d1daa01157ccf001eca177d3ee3389f}{evas\-\_\-key\-\_\-modifier\-\_\-off} 

\hyperlink{group__Evas__Keys_ga6cc24a5ea4b39b84c7a3e617de3db261}{evas\-\_\-key\-\_\-modifier\-\_\-is\-\_\-set} 

\hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\-\_\-object\-\_\-key\-\_\-grab} 

\hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\-\_\-object\-\_\-key\-\_\-ungrab} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{evas-events_8c-example}{evas-\/events.\-c}.\end{Desc}


References evas\-\_\-canvas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get.

\hypertarget{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-object\-\_\-key\-\_\-grab@{evas\-\_\-object\-\_\-key\-\_\-grab}}
\index{evas\-\_\-object\-\_\-key\-\_\-grab@{evas\-\_\-object\-\_\-key\-\_\-grab}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-object\-\_\-key\-\_\-grab}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\-\_\-\-Bool} evas\-\_\-object\-\_\-key\-\_\-grab (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{keyname, }
\item[{{\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}}]{modifiers, }
\item[{{\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}}]{not\-\_\-modifiers, }
\item[{{\bf Eina\-\_\-\-Bool}}]{exclusive}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}


Requests {\ttfamily keyname} key events be directed to {\ttfamily obj}. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to direct {\ttfamily keyname} events to. \\
\hline
{\em keyname} & the key to request events for. \\
\hline
{\em modifiers} & a mask of modifiers that must be present to trigger the event. \\
\hline
{\em not\-\_\-modifiers} & a mask of modifiers that must {\bfseries not} be present to trigger the event. \\
\hline
{\em exclusive} & request that the {\ttfamily obj} is the only object receiving the {\ttfamily keyname} events. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E}, if the call succeeded, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} otherwise.
\end{DoxyReturn}
Key grabs allow one or more objects to receive key events for specific key strokes even if other objects have focus. Whenever a key is grabbed, only the objects grabbing it will get the events for the given keys.

{\ttfamily keyname} is a platform dependent symbolic name for the key pressed (see \hyperlink{group__Evas__Keys}{Key Input Functions} for more information).

{\ttfamily modifiers} and {\ttfamily not\-\_\-modifiers} are bit masks of all the modifiers that must and mustn't, respectively, be pressed along with {\ttfamily keyname} key in order to trigger this new key grab. Modifiers can be things such as Shift and Ctrl as well as user defined types via \hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add()}. Retrieve them with \hyperlink{group__Evas__Keys_ga12255f6ad27ed224823cc2a0f6931399}{evas\-\_\-key\-\_\-modifier\-\_\-mask\-\_\-get()} or use {\ttfamily 0} for empty masks.

{\ttfamily exclusive} will make the given object the only one permitted to grab the given key. If given {\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E}, subsequent calls on this function with different {\ttfamily obj} arguments will fail, unless the key is ungrabbed again.

Example code follows.  
\begin{DoxyCodeInclude}
        \textcolor{keywordflow}{if} (d.focus)
          \{
             \hyperlink{group__Evas__Object__Group__Basic_ga114336ce1de94dbb13843cca2516e34b}{evas\_object\_focus\_set}(d.bg, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE});
             fprintf(stdout, \textcolor{stringliteral}{"Focused object is now %s\(\backslash\)n"},
                     \hyperlink{group__Evas__Object__Group__Find_gac3c860541fd122f6763abb3a87b07e05}{evas\_focus\_get}(d.canvas) ?
                     \textcolor{stringliteral}{"still valid! Something went wrong."} : \textcolor{stringliteral}{"none."});

             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"a"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"c"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"d"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"f"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"p"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"o"}, mask, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
             ret = \hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\_object\_key\_grab}(d.bg, \textcolor{stringliteral}{"h"}, 0, 0, 
      \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
             \textcolor{keywordflow}{if} (!ret)
               \{
                  fprintf(stdout, \textcolor{stringliteral}{"Something went wrong with key grabs.\(\backslash\)n"});
                  \textcolor{keywordflow}{goto} c\_end;
               \}
          \}
        \textcolor{keywordflow}{else} \textcolor{comment}{/* got here by key grabs */}

\end{DoxyCodeInclude}


See the full example \hyperlink{Example_Evas_Events}{here}.

\begin{DoxyWarning}{Warning}
Providing impossible modifier sets creates undefined behavior
\end{DoxyWarning}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\-\_\-object\-\_\-key\-\_\-ungrab} 

\hyperlink{group__Evas__Object__Group__Basic_ga114336ce1de94dbb13843cca2516e34b}{evas\-\_\-object\-\_\-focus\-\_\-set} 

\hyperlink{group__Evas__Object__Group__Basic_ga49247ad06388c8a3c44d18fa5daf0af9}{evas\-\_\-object\-\_\-focus\-\_\-get} 

\hyperlink{group__Evas__Object__Group__Find_gac3c860541fd122f6763abb3a87b07e05}{evas\-\_\-focus\-\_\-get} 

\hyperlink{group__Evas__Keys_ga84a47cb76d5dc475e341642f978611d9}{evas\-\_\-key\-\_\-modifier\-\_\-add} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{evas-events_8c-example}{evas-\/events.\-c}.\end{Desc}


References E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E, and evas\-\_\-obj\-\_\-key\-\_\-grab.

\hypertarget{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{\index{Key Input Functions@{Key Input Functions}!evas\-\_\-object\-\_\-key\-\_\-ungrab@{evas\-\_\-object\-\_\-key\-\_\-ungrab}}
\index{evas\-\_\-object\-\_\-key\-\_\-ungrab@{evas\-\_\-object\-\_\-key\-\_\-ungrab}!Key Input Functions@{Key Input Functions}}
\subsubsection[{evas\-\_\-object\-\_\-key\-\_\-ungrab}]{\setlength{\rightskip}{0pt plus 5cm}void evas\-\_\-object\-\_\-key\-\_\-ungrab (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{keyname, }
\item[{{\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}}]{modifiers, }
\item[{{\bf Evas\-\_\-\-Modifier\-\_\-\-Mask}}]{not\-\_\-modifiers}
\end{DoxyParamCaption}
)}}\label{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}


Removes the grab on {\ttfamily keyname} key events by {\ttfamily obj}. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object that has an existing key grab. \\
\hline
{\em keyname} & the key the grab is set for. \\
\hline
{\em modifiers} & a mask of modifiers that must be present to trigger the event. \\
\hline
{\em not\-\_\-modifiers} & a mask of modifiers that must not not be present to trigger the event.\\
\hline
\end{DoxyParams}
Removes a key grab on {\ttfamily obj} if {\ttfamily keyname}, {\ttfamily modifiers}, and {\ttfamily not\-\_\-modifiers} match.

Example code follows.  
\begin{DoxyCodeInclude}
        \textcolor{keywordflow}{else} \textcolor{comment}{/* got here by key grabs */}
          \{
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"a"}, 0, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"c"}, 0, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"d"}, 0, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"f"}, 0, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"p"}, 0, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"o"}, mask, 0);
             \hyperlink{group__Evas__Keys_ga4bf730e4f650c51a9a76d76bc63f44c9}{evas\_object\_key\_ungrab}(d.bg, \textcolor{stringliteral}{"h"}, 0, 0);

             \hyperlink{group__Evas__Object__Group__Basic_ga114336ce1de94dbb13843cca2516e34b}{evas\_object\_focus\_set}(d.bg, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE});
          \}

\end{DoxyCodeInclude}


See the full example \hyperlink{Example_Evas_Events}{here}.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Evas__Keys_ga85828f3c1f252391def19e179b850def}{evas\-\_\-object\-\_\-key\-\_\-grab} 

\hyperlink{group__Evas__Object__Group__Basic_ga114336ce1de94dbb13843cca2516e34b}{evas\-\_\-object\-\_\-focus\-\_\-set} 

\hyperlink{group__Evas__Object__Group__Basic_ga49247ad06388c8a3c44d18fa5daf0af9}{evas\-\_\-object\-\_\-focus\-\_\-get} 

\hyperlink{group__Evas__Object__Group__Find_gac3c860541fd122f6763abb3a87b07e05}{evas\-\_\-focus\-\_\-get} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{evas-events_8c-example}{evas-\/events.\-c}.\end{Desc}


References evas\-\_\-obj\-\_\-key\-\_\-ungrab.

