\hypertarget{group__Ecore__Drm__Input__Group}{}\doxysection{Drm input handling}
\label{group__Ecore__Drm__Input__Group}\index{Drm input handling@{Drm input handling}}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga775f3326367939ac4b2119fd9987469d}\label{group__Ecore__Drm__Input__Group_ga775f3326367939ac4b2119fd9987469d}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries ecore\+\_\+drm\+\_\+inputs\+\_\+create} (\mbox{\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device}} $\ast$dev)
\item 
\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga5ad461f39365b5fdf4cb42e40b0c31fa}\label{group__Ecore__Drm__Input__Group_ga5ad461f39365b5fdf4cb42e40b0c31fa}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void {\bfseries ecore\+\_\+drm\+\_\+inputs\+\_\+destroy} (\mbox{\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device}} $\ast$dev)
\item 
\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga17be462e36b1ed438d28bd4c9720feb4}\label{group__Ecore__Drm__Input__Group_ga17be462e36b1ed438d28bd4c9720feb4}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries ecore\+\_\+drm\+\_\+inputs\+\_\+enable} (Ecore\+\_\+\+Drm\+\_\+\+Input $\ast$input)
\item 
\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga636700ab010380550c5c1914c3e6a4bc}\label{group__Ecore__Drm__Input__Group_ga636700ab010380550c5c1914c3e6a4bc}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void {\bfseries ecore\+\_\+drm\+\_\+inputs\+\_\+disable} (Ecore\+\_\+\+Drm\+\_\+\+Input $\ast$input)
\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm__Input__Group_ga9b416ea62b58fab5a4f611863e057309}{ecore\+\_\+drm\+\_\+inputs\+\_\+device\+\_\+axis\+\_\+size\+\_\+set}} (Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$dev, int w, int h)
\begin{DoxyCompactList}\small\item\em Set the axis size of the given device. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm__Input__Group_gab214e5b2f21780d0646aca2dc749493b}{ecore\+\_\+drm\+\_\+evdev\+\_\+key\+\_\+remap\+\_\+enable}} (Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$edev, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable)
\begin{DoxyCompactList}\small\item\em Enables key remap functionality on a Ecore\+\_\+\+Drm\+\_\+\+Evdev. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm__Input__Group_ga9b0e086c72403a0aa0de8d212c495598}{ecore\+\_\+drm\+\_\+evdev\+\_\+key\+\_\+remap\+\_\+set}} (Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$edev, int $\ast$from\+\_\+keys, int $\ast$to\+\_\+keys, int num)
\begin{DoxyCompactList}\small\item\em Sets a given set of keys as remapped keys on a Ecore\+\_\+\+Drm\+\_\+\+Evdev. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga9b416ea62b58fab5a4f611863e057309}\label{group__Ecore__Drm__Input__Group_ga9b416ea62b58fab5a4f611863e057309}} 
\index{Drm input handling@{Drm input handling}!ecore\_drm\_inputs\_device\_axis\_size\_set@{ecore\_drm\_inputs\_device\_axis\_size\_set}}
\index{ecore\_drm\_inputs\_device\_axis\_size\_set@{ecore\_drm\_inputs\_device\_axis\_size\_set}!Drm input handling@{Drm input handling}}
\doxysubsubsection{\texorpdfstring{ecore\_drm\_inputs\_device\_axis\_size\_set()}{ecore\_drm\_inputs\_device\_axis\_size\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm\+\_\+inputs\+\_\+device\+\_\+axis\+\_\+size\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$}]{edev,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Set the axis size of the given device. 


\begin{DoxyParams}{Parameters}
{\em edev} & The device to set the axis size to. \\
\hline
{\em w} & The width of the axis. \\
\hline
{\em h} & The height of the axis.\\
\hline
\end{DoxyParams}
This function sets set the width {\ttfamily w} and height {\ttfamily h} of the axis of device {\ttfamily dev}. If {\ttfamily dev} is a relative input device, a width and height must set for it. If its absolute set the ioctl correctly, if not, unsupported device. 

References eeze\+\_\+udev\+\_\+find\+\_\+by\+\_\+subsystem\+\_\+sysname(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+property(), eina\+\_\+list\+\_\+count(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+EE, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+RN, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+RN, eina\+\_\+stringshare\+\_\+del(), and E\+RR.

\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_gab214e5b2f21780d0646aca2dc749493b}\label{group__Ecore__Drm__Input__Group_gab214e5b2f21780d0646aca2dc749493b}} 
\index{Drm input handling@{Drm input handling}!ecore\_drm\_evdev\_key\_remap\_enable@{ecore\_drm\_evdev\_key\_remap\_enable}}
\index{ecore\_drm\_evdev\_key\_remap\_enable@{ecore\_drm\_evdev\_key\_remap\_enable}!Drm input handling@{Drm input handling}}
\doxysubsubsection{\texorpdfstring{ecore\_drm\_evdev\_key\_remap\_enable()}{ecore\_drm\_evdev\_key\_remap\_enable()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm\+\_\+evdev\+\_\+key\+\_\+remap\+\_\+enable (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$}]{edev,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable }\end{DoxyParamCaption})}



Enables key remap functionality on a Ecore\+\_\+\+Drm\+\_\+\+Evdev. 

This function will enable the key remap functionality to the given Ecore\+\_\+\+Drm\+\_\+\+Evdev


\begin{DoxyParams}{Parameters}
{\em edev} & The Ecore\+\_\+\+Drm\+\_\+\+Evdev to enable the key remap on \\
\hline
{\em enable} & A valid Eina\+\_\+\+Bool to enable or disable the key remap on the device\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE is returned if the Ecore\+\_\+\+Drm\+\_\+\+Evdev is not valid, or if no libinput device has been assigned to it yet. E\+I\+N\+A\+\_\+\+T\+R\+UE will be returned if enabling key remap for this device succeeded.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17
\end{DoxySince}
Enables key remap functionality on a Ecore\+\_\+\+Drm\+\_\+\+Evdev.


\begin{DoxyParams}{Parameters}
{\em edev} & The Ecore\+\_\+\+Drm\+\_\+\+Evdev to enable the key remap on. \\
\hline
{\em enable} & An Eina\+\_\+\+Bool value to enable or disable the key remap on the device. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE is returned if the Ecore\+\_\+\+Drm\+\_\+\+Evdev is not valid, or if no libinput device has been assigned to it yet. E\+I\+N\+A\+\_\+\+T\+R\+UE will be returned if enabling key remap for this device succeeded.
\end{DoxyReturn}
This function enables/disables key remap functionality with the given enable value. If the given enable value is E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, the key remap functionality wil be disable and the existing hash table for remapping keys will be freed. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+hash\+\_\+free(), E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Ecore__Drm__Input__Group_ga9b0e086c72403a0aa0de8d212c495598}\label{group__Ecore__Drm__Input__Group_ga9b0e086c72403a0aa0de8d212c495598}} 
\index{Drm input handling@{Drm input handling}!ecore\_drm\_evdev\_key\_remap\_set@{ecore\_drm\_evdev\_key\_remap\_set}}
\index{ecore\_drm\_evdev\_key\_remap\_set@{ecore\_drm\_evdev\_key\_remap\_set}!Drm input handling@{Drm input handling}}
\doxysubsubsection{\texorpdfstring{ecore\_drm\_evdev\_key\_remap\_set()}{ecore\_drm\_evdev\_key\_remap\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm\+\_\+evdev\+\_\+key\+\_\+remap\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm\+\_\+\+Evdev $\ast$}]{edev,  }\item[{int $\ast$}]{from\+\_\+keys,  }\item[{int $\ast$}]{to\+\_\+keys,  }\item[{int}]{num }\end{DoxyParamCaption})}



Sets a given set of keys as remapped keys on a Ecore\+\_\+\+Drm\+\_\+\+Evdev. 

This function will create a hash table of remapping keys as a member of the given Ecore\+\_\+\+Drm\+\_\+\+Evdev


\begin{DoxyParams}{Parameters}
{\em edev} & The Ecore\+\_\+\+Drm\+\_\+\+Evdev to set the remapping keys on \\
\hline
{\em from\+\_\+keys} & A set of keycodes which contains the original keycode \\
\hline
{\em to\+\_\+keys} & A set of keycodes which contains the keycode to be remapped \\
\hline
{\em num} & The number of keys to be applied\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE is returned if the Ecore\+\_\+\+Drm\+\_\+\+Evdev is not valid, if no libinput device has been assigned to it yet, if key remap is not enabled yet, or the some of the given parameters such as from\+\_\+keys, to\+\_\+keys, num are not valid. E\+I\+N\+A\+\_\+\+T\+R\+UE will be returned if setting key remap for this device succeeded.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17
\end{DoxySince}
Sets a given set of keys as remapped keys on a Ecore\+\_\+\+Drm\+\_\+\+Evdev.


\begin{DoxyParams}{Parameters}
{\em edev} & The Ecore\+\_\+\+Drm\+\_\+\+Evdev to set the remapping keys on \\
\hline
{\em from\+\_\+keys} & A set of keys which contains the original keycodes \\
\hline
{\em to\+\_\+keys} & A set of keys which contains the keycodes to be remapped \\
\hline
{\em num} & The number of keys to be applied \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE is returned if the Ecore\+\_\+\+Drm\+\_\+\+Evdev is not valid, if no libinput device has been assigned to it yet, if key remap is not enabled yet, or the some of the given parameters such as from\+\_\+keys, to\+\_\+keys, num are not valid. E\+I\+N\+A\+\_\+\+T\+R\+UE will be returned if setting key remap for this device succeeded.
\end{DoxyReturn}
This function will create a hash table of remapping keys as a member of the given device. This hash table will be used in \+\_\+device\+\_\+remapped\+\_\+key\+\_\+get() later on. Whenever a key event is coming from the the backend of ecore drm layer the keycode of it can be replaced with the key found in the hash table. If there is no key found, the coming keycode will be used. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+hash\+\_\+add(), eina\+\_\+hash\+\_\+int32\+\_\+new(), E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, E\+I\+N\+A\+\_\+\+T\+R\+UE, and E\+RR.

