Codebase list libinput / 08a0c9c
Merge tag 'upstream/0.5.0+dfsg' into debian-experimental Upstream version 0.5.0+dfsg Emilio Pozuelo Monfort 9 years ago
120 changed file(s) with 0 addition(s) and 10919 deletion(s). Raw diff Collapse all Expand all
+0
-105
doc/html/annotated.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Data Structures</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 </div><!-- top -->
71 <!-- window showing the filter options -->
72 <div id="MSearchSelectWindow"
73 onmouseover="return searchBox.OnSearchSelectShow()"
74 onmouseout="return searchBox.OnSearchSelectHide()"
75 onkeydown="return searchBox.OnSearchSelectKey(event)">
76 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
77
78 <!-- iframe showing the search results (closed by default) -->
79 <div id="MSearchResultsWindow">
80 <iframe src="javascript:void(0)" frameborder="0"
81 name="MSearchResults" id="MSearchResults">
82 </iframe>
83 </div>
84
85 <div class="header">
86 <div class="headertitle">
87 <div class="title">Data Structures</div> </div>
88 </div><!--header-->
89 <div class="contents">
90 <div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
91 <table class="directory">
92 <tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structlibinput__event__touch.html" target="_self">libinput_event_touch</a></td><td class="desc">Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events </td></tr>
93 <tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structlibinput__interface.html" target="_self">libinput_interface</a></td><td class="desc"></td></tr>
94 </table>
95 </div><!-- directory -->
96 </div><!-- contents -->
97 <!-- start footer part -->
98 <hr class="footer"/><address class="footer"><small>
99 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
100 <img class="footer" src="doxygen.png" alt="doxygen"/>
101 </a> 1.8.5
102 </small></address>
103 </body>
104 </html>
doc/html/bc_s.png less more
Binary diff not shown
doc/html/bdwn.png less more
Binary diff not shown
+0
-108
doc/html/classes.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Data Structure Index</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li class="current"><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 </div><!-- top -->
71 <!-- window showing the filter options -->
72 <div id="MSearchSelectWindow"
73 onmouseover="return searchBox.OnSearchSelectShow()"
74 onmouseout="return searchBox.OnSearchSelectHide()"
75 onkeydown="return searchBox.OnSearchSelectKey(event)">
76 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
77
78 <!-- iframe showing the search results (closed by default) -->
79 <div id="MSearchResultsWindow">
80 <iframe src="javascript:void(0)" frameborder="0"
81 name="MSearchResults" id="MSearchResults">
82 </iframe>
83 </div>
84
85 <div class="header">
86 <div class="headertitle">
87 <div class="title">Data Structure Index</div> </div>
88 </div><!--header-->
89 <div class="contents">
90 <div class="qindex"><a class="qindex" href="#letter_L">L</a></div>
91 <table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
92 <tr><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
93 </td><td valign="top"><a class="el" href="structlibinput__interface.html">libinput_interface</a>&#160;&#160;&#160;</td><td></td></tr>
94 <tr><td></td><td></td></tr>
95 <tr><td valign="top"><a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
96 <tr><td></td><td></td><td></td></tr>
97 </table>
98 <div class="qindex"><a class="qindex" href="#letter_L">L</a></div>
99 </div><!-- contents -->
100 <!-- start footer part -->
101 <hr class="footer"/><address class="footer"><small>
102 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
103 <img class="footer" src="doxygen.png" alt="doxygen"/>
104 </a> 1.8.5
105 </small></address>
106 </body>
107 </html>
doc/html/closed.png less more
Binary diff not shown
+0
-102
doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: /home/jonas/Dev/wayland/libinput/src Directory Reference</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <!-- window showing the filter options -->
64 <div id="MSearchSelectWindow"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 onkeydown="return searchBox.OnSearchSelectKey(event)">
68 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
69
70 <!-- iframe showing the search results (closed by default) -->
71 <div id="MSearchResultsWindow">
72 <iframe src="javascript:void(0)" frameborder="0"
73 name="MSearchResults" id="MSearchResults">
74 </iframe>
75 </div>
76
77 <div id="nav-path" class="navpath">
78 <ul>
79 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
80 </div>
81 </div><!-- top -->
82 <div class="header">
83 <div class="headertitle">
84 <div class="title">src Directory Reference</div> </div>
85 </div><!--header-->
86 <div class="contents">
87 <table class="memberdecls">
88 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
89 Files</h2></td></tr>
90 <tr class="memitem:libinput_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libinput_8h.html">libinput.h</a> <a href="libinput_8h_source.html">[code]</a></td></tr>
91 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
92 </table>
93 </div><!-- contents -->
94 <!-- start footer part -->
95 <hr class="footer"/><address class="footer"><small>
96 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
97 <img class="footer" src="doxygen.png" alt="doxygen"/>
98 </a> 1.8.5
99 </small></address>
100 </body>
101 </html>
+0
-1357
doc/html/doxygen.css less more
0 /* The standard CSS for doxygen 1.8.5 */
1
2 body, table, div, p, dl {
3 font: 400 14px/22px Roboto,sans-serif;
4 }
5
6 /* @group Heading Levels */
7
8 h1.groupheader {
9 font-size: 150%;
10 }
11
12 .title {
13 font: 400 14px/28px Roboto,sans-serif;
14 font-size: 150%;
15 font-weight: bold;
16 margin: 10px 2px;
17 }
18
19 h2.groupheader {
20 border-bottom: 1px solid #879ECB;
21 color: #354C7B;
22 font-size: 150%;
23 font-weight: normal;
24 margin-top: 1.75em;
25 padding-top: 8px;
26 padding-bottom: 4px;
27 width: 100%;
28 }
29
30 h3.groupheader {
31 font-size: 100%;
32 }
33
34 h1, h2, h3, h4, h5, h6 {
35 -webkit-transition: text-shadow 0.5s linear;
36 -moz-transition: text-shadow 0.5s linear;
37 -ms-transition: text-shadow 0.5s linear;
38 -o-transition: text-shadow 0.5s linear;
39 transition: text-shadow 0.5s linear;
40 margin-right: 15px;
41 }
42
43 h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
44 text-shadow: 0 0 15px cyan;
45 }
46
47 dt {
48 font-weight: bold;
49 }
50
51 div.multicol {
52 -moz-column-gap: 1em;
53 -webkit-column-gap: 1em;
54 -moz-column-count: 3;
55 -webkit-column-count: 3;
56 }
57
58 p.startli, p.startdd, p.starttd {
59 margin-top: 2px;
60 }
61
62 p.endli {
63 margin-bottom: 0px;
64 }
65
66 p.enddd {
67 margin-bottom: 4px;
68 }
69
70 p.endtd {
71 margin-bottom: 2px;
72 }
73
74 /* @end */
75
76 caption {
77 font-weight: bold;
78 }
79
80 span.legend {
81 font-size: 70%;
82 text-align: center;
83 }
84
85 h3.version {
86 font-size: 90%;
87 text-align: center;
88 }
89
90 div.qindex, div.navtab{
91 background-color: #EBEFF6;
92 border: 1px solid #A3B4D7;
93 text-align: center;
94 }
95
96 div.qindex, div.navpath {
97 width: 100%;
98 line-height: 140%;
99 }
100
101 div.navtab {
102 margin-right: 15px;
103 }
104
105 /* @group Link Styling */
106
107 a {
108 color: #3D578C;
109 font-weight: normal;
110 text-decoration: none;
111 }
112
113 .contents a:visited {
114 color: #4665A2;
115 }
116
117 a:hover {
118 text-decoration: underline;
119 }
120
121 a.qindex {
122 font-weight: bold;
123 }
124
125 a.qindexHL {
126 font-weight: bold;
127 background-color: #9CAFD4;
128 color: #ffffff;
129 border: 1px double #869DCA;
130 }
131
132 .contents a.qindexHL:visited {
133 color: #ffffff;
134 }
135
136 a.el {
137 font-weight: bold;
138 }
139
140 a.elRef {
141 }
142
143 a.code, a.code:visited, a.line, a.line:visited {
144 color: #4665A2;
145 }
146
147 a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
148 color: #4665A2;
149 }
150
151 /* @end */
152
153 dl.el {
154 margin-left: -1cm;
155 }
156
157 pre.fragment {
158 border: 1px solid #C4CFE5;
159 background-color: #FBFCFD;
160 padding: 4px 6px;
161 margin: 4px 8px 4px 2px;
162 overflow: auto;
163 word-wrap: break-word;
164 font-size: 9pt;
165 line-height: 125%;
166 font-family: monospace, fixed;
167 font-size: 105%;
168 }
169
170 div.fragment {
171 padding: 0px;
172 margin: 0px;
173 background-color: #FBFCFD;
174 border: 1px solid #C4CFE5;
175 }
176
177 div.line {
178 font-family: monospace, fixed;
179 font-size: 13px;
180 min-height: 13px;
181 line-height: 1.0;
182 text-wrap: unrestricted;
183 white-space: -moz-pre-wrap; /* Moz */
184 white-space: -pre-wrap; /* Opera 4-6 */
185 white-space: -o-pre-wrap; /* Opera 7 */
186 white-space: pre-wrap; /* CSS3 */
187 word-wrap: break-word; /* IE 5.5+ */
188 text-indent: -53px;
189 padding-left: 53px;
190 padding-bottom: 0px;
191 margin: 0px;
192 -webkit-transition-property: background-color, box-shadow;
193 -webkit-transition-duration: 0.5s;
194 -moz-transition-property: background-color, box-shadow;
195 -moz-transition-duration: 0.5s;
196 -ms-transition-property: background-color, box-shadow;
197 -ms-transition-duration: 0.5s;
198 -o-transition-property: background-color, box-shadow;
199 -o-transition-duration: 0.5s;
200 transition-property: background-color, box-shadow;
201 transition-duration: 0.5s;
202 }
203
204 div.line.glow {
205 background-color: cyan;
206 box-shadow: 0 0 10px cyan;
207 }
208
209
210 span.lineno {
211 padding-right: 4px;
212 text-align: right;
213 border-right: 2px solid #0F0;
214 background-color: #E8E8E8;
215 white-space: pre;
216 }
217 span.lineno a {
218 background-color: #D8D8D8;
219 }
220
221 span.lineno a:hover {
222 background-color: #C8C8C8;
223 }
224
225 div.ah {
226 background-color: black;
227 font-weight: bold;
228 color: #ffffff;
229 margin-bottom: 3px;
230 margin-top: 3px;
231 padding: 0.2em;
232 border: solid thin #333;
233 border-radius: 0.5em;
234 -webkit-border-radius: .5em;
235 -moz-border-radius: .5em;
236 box-shadow: 2px 2px 3px #999;
237 -webkit-box-shadow: 2px 2px 3px #999;
238 -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
239 background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
240 background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
241 }
242
243 div.groupHeader {
244 margin-left: 16px;
245 margin-top: 12px;
246 font-weight: bold;
247 }
248
249 div.groupText {
250 margin-left: 16px;
251 font-style: italic;
252 }
253
254 body {
255 background-color: white;
256 color: black;
257 margin: 0;
258 }
259
260 div.contents {
261 margin-top: 10px;
262 margin-left: 12px;
263 margin-right: 8px;
264 }
265
266 td.indexkey {
267 background-color: #EBEFF6;
268 font-weight: bold;
269 border: 1px solid #C4CFE5;
270 margin: 2px 0px 2px 0;
271 padding: 2px 10px;
272 white-space: nowrap;
273 vertical-align: top;
274 }
275
276 td.indexvalue {
277 background-color: #EBEFF6;
278 border: 1px solid #C4CFE5;
279 padding: 2px 10px;
280 margin: 2px 0px;
281 }
282
283 tr.memlist {
284 background-color: #EEF1F7;
285 }
286
287 p.formulaDsp {
288 text-align: center;
289 }
290
291 img.formulaDsp {
292
293 }
294
295 img.formulaInl {
296 vertical-align: middle;
297 }
298
299 div.center {
300 text-align: center;
301 margin-top: 0px;
302 margin-bottom: 0px;
303 padding: 0px;
304 }
305
306 div.center img {
307 border: 0px;
308 }
309
310 address.footer {
311 text-align: right;
312 padding-right: 12px;
313 }
314
315 img.footer {
316 border: 0px;
317 vertical-align: middle;
318 }
319
320 /* @group Code Colorization */
321
322 span.keyword {
323 color: #008000
324 }
325
326 span.keywordtype {
327 color: #604020
328 }
329
330 span.keywordflow {
331 color: #e08000
332 }
333
334 span.comment {
335 color: #800000
336 }
337
338 span.preprocessor {
339 color: #806020
340 }
341
342 span.stringliteral {
343 color: #002080
344 }
345
346 span.charliteral {
347 color: #008080
348 }
349
350 span.vhdldigit {
351 color: #ff00ff
352 }
353
354 span.vhdlchar {
355 color: #000000
356 }
357
358 span.vhdlkeyword {
359 color: #700070
360 }
361
362 span.vhdllogic {
363 color: #ff0000
364 }
365
366 blockquote {
367 background-color: #F7F8FB;
368 border-left: 2px solid #9CAFD4;
369 margin: 0 24px 0 4px;
370 padding: 0 12px 0 16px;
371 }
372
373 /* @end */
374
375 /*
376 .search {
377 color: #003399;
378 font-weight: bold;
379 }
380
381 form.search {
382 margin-bottom: 0px;
383 margin-top: 0px;
384 }
385
386 input.search {
387 font-size: 75%;
388 color: #000080;
389 font-weight: normal;
390 background-color: #e8eef2;
391 }
392 */
393
394 td.tiny {
395 font-size: 75%;
396 }
397
398 .dirtab {
399 padding: 4px;
400 border-collapse: collapse;
401 border: 1px solid #A3B4D7;
402 }
403
404 th.dirtab {
405 background: #EBEFF6;
406 font-weight: bold;
407 }
408
409 hr {
410 height: 0px;
411 border: none;
412 border-top: 1px solid #4A6AAA;
413 }
414
415 hr.footer {
416 height: 1px;
417 }
418
419 /* @group Member Descriptions */
420
421 table.memberdecls {
422 border-spacing: 0px;
423 padding: 0px;
424 }
425
426 .memberdecls td, .fieldtable tr {
427 -webkit-transition-property: background-color, box-shadow;
428 -webkit-transition-duration: 0.5s;
429 -moz-transition-property: background-color, box-shadow;
430 -moz-transition-duration: 0.5s;
431 -ms-transition-property: background-color, box-shadow;
432 -ms-transition-duration: 0.5s;
433 -o-transition-property: background-color, box-shadow;
434 -o-transition-duration: 0.5s;
435 transition-property: background-color, box-shadow;
436 transition-duration: 0.5s;
437 }
438
439 .memberdecls td.glow, .fieldtable tr.glow {
440 background-color: cyan;
441 box-shadow: 0 0 15px cyan;
442 }
443
444 .mdescLeft, .mdescRight,
445 .memItemLeft, .memItemRight,
446 .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
447 background-color: #F9FAFC;
448 border: none;
449 margin: 4px;
450 padding: 1px 0 0 8px;
451 }
452
453 .mdescLeft, .mdescRight {
454 padding: 0px 8px 4px 8px;
455 color: #555;
456 }
457
458 .memSeparator {
459 border-bottom: 1px solid #DEE4F0;
460 line-height: 1px;
461 margin: 0px;
462 padding: 0px;
463 }
464
465 .memItemLeft, .memTemplItemLeft {
466 white-space: nowrap;
467 }
468
469 .memItemRight {
470 width: 100%;
471 }
472
473 .memTemplParams {
474 color: #4665A2;
475 white-space: nowrap;
476 font-size: 80%;
477 }
478
479 /* @end */
480
481 /* @group Member Details */
482
483 /* Styles for detailed member documentation */
484
485 .memtemplate {
486 font-size: 80%;
487 color: #4665A2;
488 font-weight: normal;
489 margin-left: 9px;
490 }
491
492 .memnav {
493 background-color: #EBEFF6;
494 border: 1px solid #A3B4D7;
495 text-align: center;
496 margin: 2px;
497 margin-right: 15px;
498 padding: 2px;
499 }
500
501 .mempage {
502 width: 100%;
503 }
504
505 .memitem {
506 padding: 0;
507 margin-bottom: 10px;
508 margin-right: 5px;
509 -webkit-transition: box-shadow 0.5s linear;
510 -moz-transition: box-shadow 0.5s linear;
511 -ms-transition: box-shadow 0.5s linear;
512 -o-transition: box-shadow 0.5s linear;
513 transition: box-shadow 0.5s linear;
514 display: table !important;
515 width: 100%;
516 }
517
518 .memitem.glow {
519 box-shadow: 0 0 15px cyan;
520 }
521
522 .memname {
523 font-weight: bold;
524 margin-left: 6px;
525 }
526
527 .memname td {
528 vertical-align: bottom;
529 }
530
531 .memproto, dl.reflist dt {
532 border-top: 1px solid #A8B8D9;
533 border-left: 1px solid #A8B8D9;
534 border-right: 1px solid #A8B8D9;
535 padding: 6px 0px 6px 0px;
536 color: #253555;
537 font-weight: bold;
538 text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
539 background-image:url('nav_f.png');
540 background-repeat:repeat-x;
541 background-color: #E2E8F2;
542 /* opera specific markup */
543 box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
544 border-top-right-radius: 4px;
545 border-top-left-radius: 4px;
546 /* firefox specific markup */
547 -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
548 -moz-border-radius-topright: 4px;
549 -moz-border-radius-topleft: 4px;
550 /* webkit specific markup */
551 -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
552 -webkit-border-top-right-radius: 4px;
553 -webkit-border-top-left-radius: 4px;
554
555 }
556
557 .memdoc, dl.reflist dd {
558 border-bottom: 1px solid #A8B8D9;
559 border-left: 1px solid #A8B8D9;
560 border-right: 1px solid #A8B8D9;
561 padding: 6px 10px 2px 10px;
562 background-color: #FBFCFD;
563 border-top-width: 0;
564 background-image:url('nav_g.png');
565 background-repeat:repeat-x;
566 background-color: #FFFFFF;
567 /* opera specific markup */
568 border-bottom-left-radius: 4px;
569 border-bottom-right-radius: 4px;
570 box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
571 /* firefox specific markup */
572 -moz-border-radius-bottomleft: 4px;
573 -moz-border-radius-bottomright: 4px;
574 -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
575 /* webkit specific markup */
576 -webkit-border-bottom-left-radius: 4px;
577 -webkit-border-bottom-right-radius: 4px;
578 -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
579 }
580
581 dl.reflist dt {
582 padding: 5px;
583 }
584
585 dl.reflist dd {
586 margin: 0px 0px 10px 0px;
587 padding: 5px;
588 }
589
590 .paramkey {
591 text-align: right;
592 }
593
594 .paramtype {
595 white-space: nowrap;
596 }
597
598 .paramname {
599 color: #602020;
600 white-space: nowrap;
601 }
602 .paramname em {
603 font-style: normal;
604 }
605 .paramname code {
606 line-height: 14px;
607 }
608
609 .params, .retval, .exception, .tparams {
610 margin-left: 0px;
611 padding-left: 0px;
612 }
613
614 .params .paramname, .retval .paramname {
615 font-weight: bold;
616 vertical-align: top;
617 }
618
619 .params .paramtype {
620 font-style: italic;
621 vertical-align: top;
622 }
623
624 .params .paramdir {
625 font-family: "courier new",courier,monospace;
626 vertical-align: top;
627 }
628
629 table.mlabels {
630 border-spacing: 0px;
631 }
632
633 td.mlabels-left {
634 width: 100%;
635 padding: 0px;
636 }
637
638 td.mlabels-right {
639 vertical-align: bottom;
640 padding: 0px;
641 white-space: nowrap;
642 }
643
644 span.mlabels {
645 margin-left: 8px;
646 }
647
648 span.mlabel {
649 background-color: #728DC1;
650 border-top:1px solid #5373B4;
651 border-left:1px solid #5373B4;
652 border-right:1px solid #C4CFE5;
653 border-bottom:1px solid #C4CFE5;
654 text-shadow: none;
655 color: white;
656 margin-right: 4px;
657 padding: 2px 3px;
658 border-radius: 3px;
659 font-size: 7pt;
660 white-space: nowrap;
661 vertical-align: middle;
662 }
663
664
665
666 /* @end */
667
668 /* these are for tree view when not used as main index */
669
670 div.directory {
671 margin: 10px 0px;
672 border-top: 1px solid #A8B8D9;
673 border-bottom: 1px solid #A8B8D9;
674 width: 100%;
675 }
676
677 .directory table {
678 border-collapse:collapse;
679 }
680
681 .directory td {
682 margin: 0px;
683 padding: 0px;
684 vertical-align: top;
685 }
686
687 .directory td.entry {
688 white-space: nowrap;
689 padding-right: 6px;
690 padding-top: 3px;
691 }
692
693 .directory td.entry a {
694 outline:none;
695 }
696
697 .directory td.entry a img {
698 border: none;
699 }
700
701 .directory td.desc {
702 width: 100%;
703 padding-left: 6px;
704 padding-right: 6px;
705 padding-top: 3px;
706 border-left: 1px solid rgba(0,0,0,0.05);
707 }
708
709 .directory tr.even {
710 padding-left: 6px;
711 background-color: #F7F8FB;
712 }
713
714 .directory img {
715 vertical-align: -30%;
716 }
717
718 .directory .levels {
719 white-space: nowrap;
720 width: 100%;
721 text-align: right;
722 font-size: 9pt;
723 }
724
725 .directory .levels span {
726 cursor: pointer;
727 padding-left: 2px;
728 padding-right: 2px;
729 color: #3D578C;
730 }
731
732 div.dynheader {
733 margin-top: 8px;
734 -webkit-touch-callout: none;
735 -webkit-user-select: none;
736 -khtml-user-select: none;
737 -moz-user-select: none;
738 -ms-user-select: none;
739 user-select: none;
740 }
741
742 address {
743 font-style: normal;
744 color: #2A3D61;
745 }
746
747 table.doxtable {
748 border-collapse:collapse;
749 margin-top: 4px;
750 margin-bottom: 4px;
751 }
752
753 table.doxtable td, table.doxtable th {
754 border: 1px solid #2D4068;
755 padding: 3px 7px 2px;
756 }
757
758 table.doxtable th {
759 background-color: #374F7F;
760 color: #FFFFFF;
761 font-size: 110%;
762 padding-bottom: 4px;
763 padding-top: 5px;
764 }
765
766 table.fieldtable {
767 /*width: 100%;*/
768 margin-bottom: 10px;
769 border: 1px solid #A8B8D9;
770 border-spacing: 0px;
771 -moz-border-radius: 4px;
772 -webkit-border-radius: 4px;
773 border-radius: 4px;
774 -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
775 -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
776 box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
777 }
778
779 .fieldtable td, .fieldtable th {
780 padding: 3px 7px 2px;
781 }
782
783 .fieldtable td.fieldtype, .fieldtable td.fieldname {
784 white-space: nowrap;
785 border-right: 1px solid #A8B8D9;
786 border-bottom: 1px solid #A8B8D9;
787 vertical-align: top;
788 }
789
790 .fieldtable td.fieldname {
791 padding-top: 3px;
792 }
793
794 .fieldtable td.fielddoc {
795 border-bottom: 1px solid #A8B8D9;
796 /*width: 100%;*/
797 }
798
799 .fieldtable td.fielddoc p:first-child {
800 margin-top: 0px;
801 }
802
803 .fieldtable td.fielddoc p:last-child {
804 margin-bottom: 2px;
805 }
806
807 .fieldtable tr:last-child td {
808 border-bottom: none;
809 }
810
811 .fieldtable th {
812 background-image:url('nav_f.png');
813 background-repeat:repeat-x;
814 background-color: #E2E8F2;
815 font-size: 90%;
816 color: #253555;
817 padding-bottom: 4px;
818 padding-top: 5px;
819 text-align:left;
820 -moz-border-radius-topleft: 4px;
821 -moz-border-radius-topright: 4px;
822 -webkit-border-top-left-radius: 4px;
823 -webkit-border-top-right-radius: 4px;
824 border-top-left-radius: 4px;
825 border-top-right-radius: 4px;
826 border-bottom: 1px solid #A8B8D9;
827 }
828
829
830 .tabsearch {
831 top: 0px;
832 left: 10px;
833 height: 36px;
834 background-image: url('tab_b.png');
835 z-index: 101;
836 overflow: hidden;
837 font-size: 13px;
838 }
839
840 .navpath ul
841 {
842 font-size: 11px;
843 background-image:url('tab_b.png');
844 background-repeat:repeat-x;
845 background-position: 0 -5px;
846 height:30px;
847 line-height:30px;
848 color:#8AA0CC;
849 border:solid 1px #C2CDE4;
850 overflow:hidden;
851 margin:0px;
852 padding:0px;
853 }
854
855 .navpath li
856 {
857 list-style-type:none;
858 float:left;
859 padding-left:10px;
860 padding-right:15px;
861 background-image:url('bc_s.png');
862 background-repeat:no-repeat;
863 background-position:right;
864 color:#364D7C;
865 }
866
867 .navpath li.navelem a
868 {
869 height:32px;
870 display:block;
871 text-decoration: none;
872 outline: none;
873 color: #283A5D;
874 font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
875 text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
876 text-decoration: none;
877 }
878
879 .navpath li.navelem a:hover
880 {
881 color:#6884BD;
882 }
883
884 .navpath li.footer
885 {
886 list-style-type:none;
887 float:right;
888 padding-left:10px;
889 padding-right:15px;
890 background-image:none;
891 background-repeat:no-repeat;
892 background-position:right;
893 color:#364D7C;
894 font-size: 8pt;
895 }
896
897
898 div.summary
899 {
900 float: right;
901 font-size: 8pt;
902 padding-right: 5px;
903 width: 50%;
904 text-align: right;
905 }
906
907 div.summary a
908 {
909 white-space: nowrap;
910 }
911
912 div.ingroups
913 {
914 font-size: 8pt;
915 width: 50%;
916 text-align: left;
917 }
918
919 div.ingroups a
920 {
921 white-space: nowrap;
922 }
923
924 div.header
925 {
926 background-image:url('nav_h.png');
927 background-repeat:repeat-x;
928 background-color: #F9FAFC;
929 margin: 0px;
930 border-bottom: 1px solid #C4CFE5;
931 }
932
933 div.headertitle
934 {
935 padding: 5px 5px 5px 10px;
936 }
937
938 dl
939 {
940 padding: 0 0 0 10px;
941 }
942
943 /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
944 dl.section
945 {
946 margin-left: 0px;
947 padding-left: 0px;
948 }
949
950 dl.note
951 {
952 margin-left:-7px;
953 padding-left: 3px;
954 border-left:4px solid;
955 border-color: #D0C000;
956 }
957
958 dl.warning, dl.attention
959 {
960 margin-left:-7px;
961 padding-left: 3px;
962 border-left:4px solid;
963 border-color: #FF0000;
964 }
965
966 dl.pre, dl.post, dl.invariant
967 {
968 margin-left:-7px;
969 padding-left: 3px;
970 border-left:4px solid;
971 border-color: #00D000;
972 }
973
974 dl.deprecated
975 {
976 margin-left:-7px;
977 padding-left: 3px;
978 border-left:4px solid;
979 border-color: #505050;
980 }
981
982 dl.todo
983 {
984 margin-left:-7px;
985 padding-left: 3px;
986 border-left:4px solid;
987 border-color: #00C0E0;
988 }
989
990 dl.test
991 {
992 margin-left:-7px;
993 padding-left: 3px;
994 border-left:4px solid;
995 border-color: #3030E0;
996 }
997
998 dl.bug
999 {
1000 margin-left:-7px;
1001 padding-left: 3px;
1002 border-left:4px solid;
1003 border-color: #C08050;
1004 }
1005
1006 dl.section dd {
1007 margin-bottom: 6px;
1008 }
1009
1010
1011 #projectlogo
1012 {
1013 text-align: center;
1014 vertical-align: bottom;
1015 border-collapse: separate;
1016 }
1017
1018 #projectlogo img
1019 {
1020 border: 0px none;
1021 }
1022
1023 #projectname
1024 {
1025 font: 300% Tahoma, Arial,sans-serif;
1026 margin: 0px;
1027 padding: 2px 0px;
1028 }
1029
1030 #projectbrief
1031 {
1032 font: 120% Tahoma, Arial,sans-serif;
1033 margin: 0px;
1034 padding: 0px;
1035 }
1036
1037 #projectnumber
1038 {
1039 font: 50% Tahoma, Arial,sans-serif;
1040 margin: 0px;
1041 padding: 0px;
1042 }
1043
1044 #titlearea
1045 {
1046 padding: 0px;
1047 margin: 0px;
1048 width: 100%;
1049 border-bottom: 1px solid #5373B4;
1050 }
1051
1052 .image
1053 {
1054 text-align: center;
1055 }
1056
1057 .dotgraph
1058 {
1059 text-align: center;
1060 }
1061
1062 .mscgraph
1063 {
1064 text-align: center;
1065 }
1066
1067 .caption
1068 {
1069 font-weight: bold;
1070 }
1071
1072 div.zoom
1073 {
1074 border: 1px solid #90A5CE;
1075 }
1076
1077 dl.citelist {
1078 margin-bottom:50px;
1079 }
1080
1081 dl.citelist dt {
1082 color:#334975;
1083 float:left;
1084 font-weight:bold;
1085 margin-right:10px;
1086 padding:5px;
1087 }
1088
1089 dl.citelist dd {
1090 margin:2px 0;
1091 padding:5px 0;
1092 }
1093
1094 div.toc {
1095 padding: 14px 25px;
1096 background-color: #F4F6FA;
1097 border: 1px solid #D8DFEE;
1098 border-radius: 7px 7px 7px 7px;
1099 float: right;
1100 height: auto;
1101 margin: 0 20px 10px 10px;
1102 width: 200px;
1103 }
1104
1105 div.toc li {
1106 background: url("bdwn.png") no-repeat scroll 0 5px transparent;
1107 font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
1108 margin-top: 5px;
1109 padding-left: 10px;
1110 padding-top: 2px;
1111 }
1112
1113 div.toc h3 {
1114 font: bold 12px/1.2 Arial,FreeSans,sans-serif;
1115 color: #4665A2;
1116 border-bottom: 0 none;
1117 margin: 0;
1118 }
1119
1120 div.toc ul {
1121 list-style: none outside none;
1122 border: medium none;
1123 padding: 0px;
1124 }
1125
1126 div.toc li.level1 {
1127 margin-left: 0px;
1128 }
1129
1130 div.toc li.level2 {
1131 margin-left: 15px;
1132 }
1133
1134 div.toc li.level3 {
1135 margin-left: 30px;
1136 }
1137
1138 div.toc li.level4 {
1139 margin-left: 45px;
1140 }
1141
1142 .inherit_header {
1143 font-weight: bold;
1144 color: gray;
1145 cursor: pointer;
1146 -webkit-touch-callout: none;
1147 -webkit-user-select: none;
1148 -khtml-user-select: none;
1149 -moz-user-select: none;
1150 -ms-user-select: none;
1151 user-select: none;
1152 }
1153
1154 .inherit_header td {
1155 padding: 6px 0px 2px 5px;
1156 }
1157
1158 .inherit {
1159 display: none;
1160 }
1161
1162 tr.heading h2 {
1163 margin-top: 12px;
1164 margin-bottom: 4px;
1165 }
1166
1167 /* tooltip related style info */
1168
1169 .ttc {
1170 position: absolute;
1171 display: none;
1172 }
1173
1174 #powerTip {
1175 cursor: default;
1176 white-space: nowrap;
1177 background-color: white;
1178 border: 1px solid gray;
1179 border-radius: 4px 4px 4px 4px;
1180 box-shadow: 1px 1px 7px gray;
1181 display: none;
1182 font-size: smaller;
1183 max-width: 80%;
1184 opacity: 0.9;
1185 padding: 1ex 1em 1em;
1186 position: absolute;
1187 z-index: 2147483647;
1188 }
1189
1190 #powerTip div.ttdoc {
1191 color: grey;
1192 font-style: italic;
1193 }
1194
1195 #powerTip div.ttname a {
1196 font-weight: bold;
1197 }
1198
1199 #powerTip div.ttname {
1200 font-weight: bold;
1201 }
1202
1203 #powerTip div.ttdeci {
1204 color: #006318;
1205 }
1206
1207 #powerTip div {
1208 margin: 0px;
1209 padding: 0px;
1210 font: 12px/16px Roboto,sans-serif;
1211 }
1212
1213 #powerTip:before, #powerTip:after {
1214 content: "";
1215 position: absolute;
1216 margin: 0px;
1217 }
1218
1219 #powerTip.n:after, #powerTip.n:before,
1220 #powerTip.s:after, #powerTip.s:before,
1221 #powerTip.w:after, #powerTip.w:before,
1222 #powerTip.e:after, #powerTip.e:before,
1223 #powerTip.ne:after, #powerTip.ne:before,
1224 #powerTip.se:after, #powerTip.se:before,
1225 #powerTip.nw:after, #powerTip.nw:before,
1226 #powerTip.sw:after, #powerTip.sw:before {
1227 border: solid transparent;
1228 content: " ";
1229 height: 0;
1230 width: 0;
1231 position: absolute;
1232 }
1233
1234 #powerTip.n:after, #powerTip.s:after,
1235 #powerTip.w:after, #powerTip.e:after,
1236 #powerTip.nw:after, #powerTip.ne:after,
1237 #powerTip.sw:after, #powerTip.se:after {
1238 border-color: rgba(255, 255, 255, 0);
1239 }
1240
1241 #powerTip.n:before, #powerTip.s:before,
1242 #powerTip.w:before, #powerTip.e:before,
1243 #powerTip.nw:before, #powerTip.ne:before,
1244 #powerTip.sw:before, #powerTip.se:before {
1245 border-color: rgba(128, 128, 128, 0);
1246 }
1247
1248 #powerTip.n:after, #powerTip.n:before,
1249 #powerTip.ne:after, #powerTip.ne:before,
1250 #powerTip.nw:after, #powerTip.nw:before {
1251 top: 100%;
1252 }
1253
1254 #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
1255 border-top-color: #ffffff;
1256 border-width: 10px;
1257 margin: 0px -10px;
1258 }
1259 #powerTip.n:before {
1260 border-top-color: #808080;
1261 border-width: 11px;
1262 margin: 0px -11px;
1263 }
1264 #powerTip.n:after, #powerTip.n:before {
1265 left: 50%;
1266 }
1267
1268 #powerTip.nw:after, #powerTip.nw:before {
1269 right: 14px;
1270 }
1271
1272 #powerTip.ne:after, #powerTip.ne:before {
1273 left: 14px;
1274 }
1275
1276 #powerTip.s:after, #powerTip.s:before,
1277 #powerTip.se:after, #powerTip.se:before,
1278 #powerTip.sw:after, #powerTip.sw:before {
1279 bottom: 100%;
1280 }
1281
1282 #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
1283 border-bottom-color: #ffffff;
1284 border-width: 10px;
1285 margin: 0px -10px;
1286 }
1287
1288 #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
1289 border-bottom-color: #808080;
1290 border-width: 11px;
1291 margin: 0px -11px;
1292 }
1293
1294 #powerTip.s:after, #powerTip.s:before {
1295 left: 50%;
1296 }
1297
1298 #powerTip.sw:after, #powerTip.sw:before {
1299 right: 14px;
1300 }
1301
1302 #powerTip.se:after, #powerTip.se:before {
1303 left: 14px;
1304 }
1305
1306 #powerTip.e:after, #powerTip.e:before {
1307 left: 100%;
1308 }
1309 #powerTip.e:after {
1310 border-left-color: #ffffff;
1311 border-width: 10px;
1312 top: 50%;
1313 margin-top: -10px;
1314 }
1315 #powerTip.e:before {
1316 border-left-color: #808080;
1317 border-width: 11px;
1318 top: 50%;
1319 margin-top: -11px;
1320 }
1321
1322 #powerTip.w:after, #powerTip.w:before {
1323 right: 100%;
1324 }
1325 #powerTip.w:after {
1326 border-right-color: #ffffff;
1327 border-width: 10px;
1328 top: 50%;
1329 margin-top: -10px;
1330 }
1331 #powerTip.w:before {
1332 border-right-color: #808080;
1333 border-width: 11px;
1334 top: 50%;
1335 margin-top: -11px;
1336 }
1337
1338 @media print
1339 {
1340 #top { display: none; }
1341 #side-nav { display: none; }
1342 #nav-path { display: none; }
1343 body { overflow:visible; }
1344 h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
1345 .summary { display: none; }
1346 .memitem { page-break-inside: avoid; }
1347 #doc-content
1348 {
1349 margin-left:0 !important;
1350 height:auto !important;
1351 width:auto !important;
1352 overflow:inherit;
1353 display:inline;
1354 }
1355 }
1356
doc/html/doxygen.png less more
Binary diff not shown
+0
-97
doc/html/dynsections.js less more
0 function toggleVisibility(linkObj)
1 {
2 var base = $(linkObj).attr('id');
3 var summary = $('#'+base+'-summary');
4 var content = $('#'+base+'-content');
5 var trigger = $('#'+base+'-trigger');
6 var src=$(trigger).attr('src');
7 if (content.is(':visible')===true) {
8 content.hide();
9 summary.show();
10 $(linkObj).addClass('closed').removeClass('opened');
11 $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
12 } else {
13 content.show();
14 summary.hide();
15 $(linkObj).removeClass('closed').addClass('opened');
16 $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
17 }
18 return false;
19 }
20
21 function updateStripes()
22 {
23 $('table.directory tr').
24 removeClass('even').filter(':visible:even').addClass('even');
25 }
26 function toggleLevel(level)
27 {
28 $('table.directory tr').each(function(){
29 var l = this.id.split('_').length-1;
30 var i = $('#img'+this.id.substring(3));
31 var a = $('#arr'+this.id.substring(3));
32 if (l<level+1) {
33 i.attr('src','ftv2folderopen.png');
34 a.attr('src','ftv2mnode.png');
35 $(this).show();
36 } else if (l==level+1) {
37 i.attr('src','ftv2folderclosed.png');
38 a.attr('src','ftv2pnode.png');
39 $(this).show();
40 } else {
41 $(this).hide();
42 }
43 });
44 updateStripes();
45 }
46
47 function toggleFolder(id)
48 {
49 //The clicked row
50 var currentRow = $('#row_'+id);
51 var currentRowImages = currentRow.find("img");
52
53 //All rows after the clicked row
54 var rows = currentRow.nextAll("tr");
55
56 //Only match elements AFTER this one (can't hide elements before)
57 var childRows = rows.filter(function() {
58 var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
59 return this.id.match(re);
60 });
61
62 //First row is visible we are HIDING
63 if (childRows.filter(':first').is(':visible')===true) {
64 currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
65 currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
66 rows.filter("[id^=row_"+id+"]").hide();
67 } else { //We are SHOWING
68 //All sub images
69 var childImages = childRows.find("img");
70 var childImg = childImages.filter("[id^=img]");
71 var childArr = childImages.filter("[id^=arr]");
72
73 currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
74 currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
75 childImg.attr('src','ftv2folderclosed.png'); //children closed
76 childArr.attr('src','ftv2pnode.png'); //children closed
77 childRows.show(); //show all children
78 }
79 updateStripes();
80 }
81
82
83 function toggleInherit(id)
84 {
85 var rows = $('tr.inherit.'+id);
86 var img = $('tr.inherit_header.'+id+' img');
87 var src = $(img).attr('src');
88 if (rows.filter(':first').is(':visible')===true) {
89 rows.css('display','none');
90 $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
91 } else {
92 rows.css('display','table-row'); // using show() causes jump in firefox
93 $(img).attr('src',src.substring(0,src.length-10)+'open.png');
94 }
95 }
96
+0
-104
doc/html/files.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: File List</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
66 <li><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 </div><!-- top -->
70 <!-- window showing the filter options -->
71 <div id="MSearchSelectWindow"
72 onmouseover="return searchBox.OnSearchSelectShow()"
73 onmouseout="return searchBox.OnSearchSelectHide()"
74 onkeydown="return searchBox.OnSearchSelectKey(event)">
75 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
76
77 <!-- iframe showing the search results (closed by default) -->
78 <div id="MSearchResultsWindow">
79 <iframe src="javascript:void(0)" frameborder="0"
80 name="MSearchResults" id="MSearchResults">
81 </iframe>
82 </div>
83
84 <div class="header">
85 <div class="headertitle">
86 <div class="title">File List</div> </div>
87 </div><!--header-->
88 <div class="contents">
89 <div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
90 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
91 <tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
92 <tr id="row_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="libinput_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="libinput_8h.html" target="_self">libinput.h</a></td><td class="desc"></td></tr>
93 </table>
94 </div><!-- directory -->
95 </div><!-- contents -->
96 <!-- start footer part -->
97 <hr class="footer"/><address class="footer"><small>
98 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
99 <img class="footer" src="doxygen.png" alt="doxygen"/>
100 </a> 1.8.5
101 </small></address>
102 </body>
103 </html>
doc/html/ftv2blank.png less more
Binary diff not shown
doc/html/ftv2cl.png less more
Binary diff not shown
doc/html/ftv2doc.png less more
Binary diff not shown
doc/html/ftv2folderclosed.png less more
Binary diff not shown
doc/html/ftv2folderopen.png less more
Binary diff not shown
doc/html/ftv2lastnode.png less more
Binary diff not shown
doc/html/ftv2link.png less more
Binary diff not shown
doc/html/ftv2mlastnode.png less more
Binary diff not shown
doc/html/ftv2mnode.png less more
Binary diff not shown
doc/html/ftv2mo.png less more
Binary diff not shown
doc/html/ftv2node.png less more
Binary diff not shown
doc/html/ftv2ns.png less more
Binary diff not shown
doc/html/ftv2plastnode.png less more
Binary diff not shown
doc/html/ftv2pnode.png less more
Binary diff not shown
doc/html/ftv2splitbar.png less more
Binary diff not shown
doc/html/ftv2vertline.png less more
Binary diff not shown
+0
-109
doc/html/functions.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Data Fields</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 <div id="navrow3" class="tabs2">
71 <ul class="tablist">
72 <li class="current"><a href="functions.html"><span>All</span></a></li>
73 <li><a href="functions_vars.html"><span>Variables</span></a></li>
74 </ul>
75 </div>
76 </div><!-- top -->
77 <!-- window showing the filter options -->
78 <div id="MSearchSelectWindow"
79 onmouseover="return searchBox.OnSearchSelectShow()"
80 onmouseout="return searchBox.OnSearchSelectHide()"
81 onkeydown="return searchBox.OnSearchSelectKey(event)">
82 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
83
84 <!-- iframe showing the search results (closed by default) -->
85 <div id="MSearchResultsWindow">
86 <iframe src="javascript:void(0)" frameborder="0"
87 name="MSearchResults" id="MSearchResults">
88 </iframe>
89 </div>
90
91 <div class="contents">
92 <div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div><ul>
93 <li>close_restricted
94 : <a class="el" href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef">libinput_interface</a>
95 </li>
96 <li>open_restricted
97 : <a class="el" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">libinput_interface</a>
98 </li>
99 </ul>
100 </div><!-- contents -->
101 <!-- start footer part -->
102 <hr class="footer"/><address class="footer"><small>
103 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
104 <img class="footer" src="doxygen.png" alt="doxygen"/>
105 </a> 1.8.5
106 </small></address>
107 </body>
108 </html>
+0
-109
doc/html/functions_vars.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Data Fields - Variables</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 <div id="navrow3" class="tabs2">
71 <ul class="tablist">
72 <li><a href="functions.html"><span>All</span></a></li>
73 <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
74 </ul>
75 </div>
76 </div><!-- top -->
77 <!-- window showing the filter options -->
78 <div id="MSearchSelectWindow"
79 onmouseover="return searchBox.OnSearchSelectShow()"
80 onmouseout="return searchBox.OnSearchSelectHide()"
81 onkeydown="return searchBox.OnSearchSelectKey(event)">
82 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
83
84 <!-- iframe showing the search results (closed by default) -->
85 <div id="MSearchResultsWindow">
86 <iframe src="javascript:void(0)" frameborder="0"
87 name="MSearchResults" id="MSearchResults">
88 </iframe>
89 </div>
90
91 <div class="contents">
92 &#160;<ul>
93 <li>close_restricted
94 : <a class="el" href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef">libinput_interface</a>
95 </li>
96 <li>open_restricted
97 : <a class="el" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">libinput_interface</a>
98 </li>
99 </ul>
100 </div><!-- contents -->
101 <!-- start footer part -->
102 <hr class="footer"/><address class="footer"><small>
103 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
104 <img class="footer" src="doxygen.png" alt="doxygen"/>
105 </a> 1.8.5
106 </small></address>
107 </body>
108 </html>
+0
-482
doc/html/globals.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li class="current"><a href="globals.html"><span>All</span></a></li>
72 <li><a href="globals_func.html"><span>Functions</span></a></li>
73 <li><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 <div id="navrow4" class="tabs3">
80 <ul class="tablist">
81 <li><a href="#index_l"><span>l</span></a></li>
82 </ul>
83 </div>
84 </div><!-- top -->
85 <!-- window showing the filter options -->
86 <div id="MSearchSelectWindow"
87 onmouseover="return searchBox.OnSearchSelectShow()"
88 onmouseout="return searchBox.OnSearchSelectHide()"
89 onkeydown="return searchBox.OnSearchSelectKey(event)">
90 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
91
92 <!-- iframe showing the search results (closed by default) -->
93 <div id="MSearchResultsWindow">
94 <iframe src="javascript:void(0)" frameborder="0"
95 name="MSearchResults" id="MSearchResults">
96 </iframe>
97 </div>
98
99 <div class="contents">
100 <div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
101
102 <h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
103 <li>LIBINPUT_ATTRIBUTE_DEPRECATED
104 : <a class="el" href="libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901">libinput.h</a>
105 </li>
106 <li>LIBINPUT_ATTRIBUTE_PRINTF
107 : <a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">libinput.h</a>
108 </li>
109 <li>libinput_button_state
110 : <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput.h</a>
111 </li>
112 <li>LIBINPUT_BUTTON_STATE_PRESSED
113 : <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">libinput.h</a>
114 </li>
115 <li>LIBINPUT_BUTTON_STATE_RELEASED
116 : <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">libinput.h</a>
117 </li>
118 <li>libinput_config_status
119 : <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput.h</a>
120 </li>
121 <li>LIBINPUT_CONFIG_STATUS_INVALID
122 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">libinput.h</a>
123 </li>
124 <li>LIBINPUT_CONFIG_STATUS_SUCCESS
125 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">libinput.h</a>
126 </li>
127 <li>libinput_config_status_to_str()
128 : <a class="el" href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput.h</a>
129 </li>
130 <li>LIBINPUT_CONFIG_STATUS_UNSUPPORTED
131 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">libinput.h</a>
132 </li>
133 <li>LIBINPUT_CONFIG_TAP_DISABLED
134 : <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">libinput.h</a>
135 </li>
136 <li>LIBINPUT_CONFIG_TAP_ENABLED
137 : <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">libinput.h</a>
138 </li>
139 <li>libinput_config_tap_state
140 : <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput.h</a>
141 </li>
142 <li>libinput_device_calibrate()
143 : <a class="el" href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput.h</a>
144 </li>
145 <li>LIBINPUT_DEVICE_CAP_KEYBOARD
146 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">libinput.h</a>
147 </li>
148 <li>LIBINPUT_DEVICE_CAP_POINTER
149 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">libinput.h</a>
150 </li>
151 <li>LIBINPUT_DEVICE_CAP_TOUCH
152 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">libinput.h</a>
153 </li>
154 <li>libinput_device_capability
155 : <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput.h</a>
156 </li>
157 <li>libinput_device_config_tap_get_default_enabled()
158 : <a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput.h</a>
159 </li>
160 <li>libinput_device_config_tap_get_enabled()
161 : <a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput.h</a>
162 </li>
163 <li>libinput_device_config_tap_get_finger_count()
164 : <a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput.h</a>
165 </li>
166 <li>libinput_device_config_tap_set_enabled()
167 : <a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput.h</a>
168 </li>
169 <li>libinput_device_get_id_product()
170 : <a class="el" href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput.h</a>
171 </li>
172 <li>libinput_device_get_id_vendor()
173 : <a class="el" href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput.h</a>
174 </li>
175 <li>libinput_device_get_keys()
176 : <a class="el" href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput.h</a>
177 </li>
178 <li>libinput_device_get_name()
179 : <a class="el" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput.h</a>
180 </li>
181 <li>libinput_device_get_output_name()
182 : <a class="el" href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput.h</a>
183 </li>
184 <li>libinput_device_get_seat()
185 : <a class="el" href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput.h</a>
186 </li>
187 <li>libinput_device_get_size()
188 : <a class="el" href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput.h</a>
189 </li>
190 <li>libinput_device_get_sysname()
191 : <a class="el" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput.h</a>
192 </li>
193 <li>libinput_device_get_user_data()
194 : <a class="el" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput.h</a>
195 </li>
196 <li>libinput_device_has_capability()
197 : <a class="el" href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput.h</a>
198 </li>
199 <li>libinput_device_led_update()
200 : <a class="el" href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput.h</a>
201 </li>
202 <li>libinput_device_ref()
203 : <a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput.h</a>
204 </li>
205 <li>libinput_device_set_user_data()
206 : <a class="el" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput.h</a>
207 </li>
208 <li>libinput_device_unref()
209 : <a class="el" href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput.h</a>
210 </li>
211 <li>libinput_dispatch()
212 : <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput.h</a>
213 </li>
214 <li>libinput_event_destroy()
215 : <a class="el" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput.h</a>
216 </li>
217 <li>LIBINPUT_EVENT_DEVICE_ADDED
218 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">libinput.h</a>
219 </li>
220 <li>libinput_event_device_notify_get_base_event()
221 : <a class="el" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput.h</a>
222 </li>
223 <li>LIBINPUT_EVENT_DEVICE_REMOVED
224 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">libinput.h</a>
225 </li>
226 <li>libinput_event_get_context()
227 : <a class="el" href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput.h</a>
228 </li>
229 <li>libinput_event_get_device()
230 : <a class="el" href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput.h</a>
231 </li>
232 <li>libinput_event_get_device_notify_event()
233 : <a class="el" href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput.h</a>
234 </li>
235 <li>libinput_event_get_keyboard_event()
236 : <a class="el" href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput.h</a>
237 </li>
238 <li>libinput_event_get_pointer_event()
239 : <a class="el" href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput.h</a>
240 </li>
241 <li>libinput_event_get_touch_event()
242 : <a class="el" href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput.h</a>
243 </li>
244 <li>libinput_event_get_type()
245 : <a class="el" href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput.h</a>
246 </li>
247 <li>libinput_event_keyboard_get_base_event()
248 : <a class="el" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput.h</a>
249 </li>
250 <li>libinput_event_keyboard_get_key()
251 : <a class="el" href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput.h</a>
252 </li>
253 <li>libinput_event_keyboard_get_key_state()
254 : <a class="el" href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput.h</a>
255 </li>
256 <li>libinput_event_keyboard_get_seat_key_count()
257 : <a class="el" href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput.h</a>
258 </li>
259 <li>libinput_event_keyboard_get_time()
260 : <a class="el" href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput.h</a>
261 </li>
262 <li>LIBINPUT_EVENT_KEYBOARD_KEY
263 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">libinput.h</a>
264 </li>
265 <li>LIBINPUT_EVENT_NONE
266 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">libinput.h</a>
267 </li>
268 <li>LIBINPUT_EVENT_POINTER_AXIS
269 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">libinput.h</a>
270 </li>
271 <li>LIBINPUT_EVENT_POINTER_BUTTON
272 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">libinput.h</a>
273 </li>
274 <li>libinput_event_pointer_get_absolute_x()
275 : <a class="el" href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput.h</a>
276 </li>
277 <li>libinput_event_pointer_get_absolute_x_transformed()
278 : <a class="el" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput.h</a>
279 </li>
280 <li>libinput_event_pointer_get_absolute_y()
281 : <a class="el" href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput.h</a>
282 </li>
283 <li>libinput_event_pointer_get_absolute_y_transformed()
284 : <a class="el" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput.h</a>
285 </li>
286 <li>libinput_event_pointer_get_axis()
287 : <a class="el" href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput.h</a>
288 </li>
289 <li>libinput_event_pointer_get_axis_value()
290 : <a class="el" href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput.h</a>
291 </li>
292 <li>libinput_event_pointer_get_base_event()
293 : <a class="el" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput.h</a>
294 </li>
295 <li>libinput_event_pointer_get_button()
296 : <a class="el" href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput.h</a>
297 </li>
298 <li>libinput_event_pointer_get_button_state()
299 : <a class="el" href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput.h</a>
300 </li>
301 <li>libinput_event_pointer_get_dx()
302 : <a class="el" href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput.h</a>
303 </li>
304 <li>libinput_event_pointer_get_dy()
305 : <a class="el" href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput.h</a>
306 </li>
307 <li>libinput_event_pointer_get_seat_button_count()
308 : <a class="el" href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput.h</a>
309 </li>
310 <li>libinput_event_pointer_get_time()
311 : <a class="el" href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput.h</a>
312 </li>
313 <li>LIBINPUT_EVENT_POINTER_MOTION
314 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">libinput.h</a>
315 </li>
316 <li>LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE
317 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">libinput.h</a>
318 </li>
319 <li>LIBINPUT_EVENT_TOUCH_CANCEL
320 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">libinput.h</a>
321 </li>
322 <li>LIBINPUT_EVENT_TOUCH_DOWN
323 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">libinput.h</a>
324 </li>
325 <li>LIBINPUT_EVENT_TOUCH_FRAME
326 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">libinput.h</a>
327 </li>
328 <li>libinput_event_touch_get_base_event()
329 : <a class="el" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput.h</a>
330 </li>
331 <li>libinput_event_touch_get_seat_slot()
332 : <a class="el" href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput.h</a>
333 </li>
334 <li>libinput_event_touch_get_slot()
335 : <a class="el" href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput.h</a>
336 </li>
337 <li>libinput_event_touch_get_time()
338 : <a class="el" href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput.h</a>
339 </li>
340 <li>libinput_event_touch_get_x()
341 : <a class="el" href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput.h</a>
342 </li>
343 <li>libinput_event_touch_get_x_transformed()
344 : <a class="el" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput.h</a>
345 </li>
346 <li>libinput_event_touch_get_y()
347 : <a class="el" href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput.h</a>
348 </li>
349 <li>libinput_event_touch_get_y_transformed()
350 : <a class="el" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput.h</a>
351 </li>
352 <li>LIBINPUT_EVENT_TOUCH_MOTION
353 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">libinput.h</a>
354 </li>
355 <li>LIBINPUT_EVENT_TOUCH_UP
356 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">libinput.h</a>
357 </li>
358 <li>libinput_event_type
359 : <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput.h</a>
360 </li>
361 <li>libinput_get_event()
362 : <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput.h</a>
363 </li>
364 <li>libinput_get_fd()
365 : <a class="el" href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput.h</a>
366 </li>
367 <li>libinput_get_user_data()
368 : <a class="el" href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput.h</a>
369 </li>
370 <li>libinput_key_state
371 : <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput.h</a>
372 </li>
373 <li>LIBINPUT_KEY_STATE_PRESSED
374 : <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">libinput.h</a>
375 </li>
376 <li>LIBINPUT_KEY_STATE_RELEASED
377 : <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">libinput.h</a>
378 </li>
379 <li>libinput_led
380 : <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput.h</a>
381 </li>
382 <li>LIBINPUT_LED_CAPS_LOCK
383 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">libinput.h</a>
384 </li>
385 <li>LIBINPUT_LED_NUM_LOCK
386 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">libinput.h</a>
387 </li>
388 <li>LIBINPUT_LED_SCROLL_LOCK
389 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">libinput.h</a>
390 </li>
391 <li>libinput_log_get_priority()
392 : <a class="el" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput.h</a>
393 </li>
394 <li>libinput_log_handler
395 : <a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput.h</a>
396 </li>
397 <li>libinput_log_priority
398 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput.h</a>
399 </li>
400 <li>LIBINPUT_LOG_PRIORITY_DEBUG
401 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8">libinput.h</a>
402 </li>
403 <li>LIBINPUT_LOG_PRIORITY_ERROR
404 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d">libinput.h</a>
405 </li>
406 <li>LIBINPUT_LOG_PRIORITY_INFO
407 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500">libinput.h</a>
408 </li>
409 <li>libinput_log_set_handler
410 : <a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput.h</a>
411 </li>
412 <li>libinput_log_set_priority()
413 : <a class="el" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput.h</a>
414 </li>
415 <li>libinput_next_event_type()
416 : <a class="el" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput.h</a>
417 </li>
418 <li>libinput_path_add_device()
419 : <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput.h</a>
420 </li>
421 <li>libinput_path_create_context()
422 : <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput.h</a>
423 </li>
424 <li>libinput_path_remove_device()
425 : <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput.h</a>
426 </li>
427 <li>libinput_pointer_axis
428 : <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput.h</a>
429 </li>
430 <li>LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL
431 : <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">libinput.h</a>
432 </li>
433 <li>LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL
434 : <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">libinput.h</a>
435 </li>
436 <li>libinput_ref()
437 : <a class="el" href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput.h</a>
438 </li>
439 <li>libinput_resume()
440 : <a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput.h</a>
441 </li>
442 <li>libinput_seat_get_logical_name()
443 : <a class="el" href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput.h</a>
444 </li>
445 <li>libinput_seat_get_physical_name()
446 : <a class="el" href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput.h</a>
447 </li>
448 <li>libinput_seat_get_user_data()
449 : <a class="el" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput.h</a>
450 </li>
451 <li>libinput_seat_ref()
452 : <a class="el" href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput.h</a>
453 </li>
454 <li>libinput_seat_set_user_data()
455 : <a class="el" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput.h</a>
456 </li>
457 <li>libinput_seat_unref()
458 : <a class="el" href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput.h</a>
459 </li>
460 <li>libinput_suspend()
461 : <a class="el" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput.h</a>
462 </li>
463 <li>libinput_udev_assign_seat()
464 : <a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput.h</a>
465 </li>
466 <li>libinput_udev_create_context()
467 : <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput.h</a>
468 </li>
469 <li>libinput_unref()
470 : <a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput.h</a>
471 </li>
472 </ul>
473 </div><!-- contents -->
474 <!-- start footer part -->
475 <hr class="footer"/><address class="footer"><small>
476 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
477 <img class="footer" src="doxygen.png" alt="doxygen"/>
478 </a> 1.8.5
479 </small></address>
480 </body>
481 </html>
+0
-112
doc/html/globals_defs.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li><a href="globals.html"><span>All</span></a></li>
72 <li><a href="globals_func.html"><span>Functions</span></a></li>
73 <li><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 </div><!-- top -->
80 <!-- window showing the filter options -->
81 <div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
86
87 <!-- iframe showing the search results (closed by default) -->
88 <div id="MSearchResultsWindow">
89 <iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91 </iframe>
92 </div>
93
94 <div class="contents">
95 &#160;<ul>
96 <li>LIBINPUT_ATTRIBUTE_DEPRECATED
97 : <a class="el" href="libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901">libinput.h</a>
98 </li>
99 <li>LIBINPUT_ATTRIBUTE_PRINTF
100 : <a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">libinput.h</a>
101 </li>
102 </ul>
103 </div><!-- contents -->
104 <!-- start footer part -->
105 <hr class="footer"/><address class="footer"><small>
106 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
107 <img class="footer" src="doxygen.png" alt="doxygen"/>
108 </a> 1.8.5
109 </small></address>
110 </body>
111 </html>
+0
-133
doc/html/globals_enum.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li><a href="globals.html"><span>All</span></a></li>
72 <li><a href="globals_func.html"><span>Functions</span></a></li>
73 <li><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 </div><!-- top -->
80 <!-- window showing the filter options -->
81 <div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
86
87 <!-- iframe showing the search results (closed by default) -->
88 <div id="MSearchResultsWindow">
89 <iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91 </iframe>
92 </div>
93
94 <div class="contents">
95 &#160;<ul>
96 <li>libinput_button_state
97 : <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput.h</a>
98 </li>
99 <li>libinput_config_status
100 : <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput.h</a>
101 </li>
102 <li>libinput_config_tap_state
103 : <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput.h</a>
104 </li>
105 <li>libinput_device_capability
106 : <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput.h</a>
107 </li>
108 <li>libinput_event_type
109 : <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput.h</a>
110 </li>
111 <li>libinput_key_state
112 : <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput.h</a>
113 </li>
114 <li>libinput_led
115 : <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput.h</a>
116 </li>
117 <li>libinput_log_priority
118 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput.h</a>
119 </li>
120 <li>libinput_pointer_axis
121 : <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput.h</a>
122 </li>
123 </ul>
124 </div><!-- contents -->
125 <!-- start footer part -->
126 <hr class="footer"/><address class="footer"><small>
127 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
128 <img class="footer" src="doxygen.png" alt="doxygen"/>
129 </a> 1.8.5
130 </small></address>
131 </body>
132 </html>
+0
-212
doc/html/globals_eval.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li><a href="globals.html"><span>All</span></a></li>
72 <li><a href="globals_func.html"><span>Functions</span></a></li>
73 <li><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 <div id="navrow4" class="tabs3">
80 <ul class="tablist">
81 <li><a href="#index_l"><span>l</span></a></li>
82 </ul>
83 </div>
84 </div><!-- top -->
85 <!-- window showing the filter options -->
86 <div id="MSearchSelectWindow"
87 onmouseover="return searchBox.OnSearchSelectShow()"
88 onmouseout="return searchBox.OnSearchSelectHide()"
89 onkeydown="return searchBox.OnSearchSelectKey(event)">
90 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
91
92 <!-- iframe showing the search results (closed by default) -->
93 <div id="MSearchResultsWindow">
94 <iframe src="javascript:void(0)" frameborder="0"
95 name="MSearchResults" id="MSearchResults">
96 </iframe>
97 </div>
98
99 <div class="contents">
100 &#160;
101
102 <h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
103 <li>LIBINPUT_BUTTON_STATE_PRESSED
104 : <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">libinput.h</a>
105 </li>
106 <li>LIBINPUT_BUTTON_STATE_RELEASED
107 : <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">libinput.h</a>
108 </li>
109 <li>LIBINPUT_CONFIG_STATUS_INVALID
110 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">libinput.h</a>
111 </li>
112 <li>LIBINPUT_CONFIG_STATUS_SUCCESS
113 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">libinput.h</a>
114 </li>
115 <li>LIBINPUT_CONFIG_STATUS_UNSUPPORTED
116 : <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">libinput.h</a>
117 </li>
118 <li>LIBINPUT_CONFIG_TAP_DISABLED
119 : <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">libinput.h</a>
120 </li>
121 <li>LIBINPUT_CONFIG_TAP_ENABLED
122 : <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">libinput.h</a>
123 </li>
124 <li>LIBINPUT_DEVICE_CAP_KEYBOARD
125 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">libinput.h</a>
126 </li>
127 <li>LIBINPUT_DEVICE_CAP_POINTER
128 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">libinput.h</a>
129 </li>
130 <li>LIBINPUT_DEVICE_CAP_TOUCH
131 : <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">libinput.h</a>
132 </li>
133 <li>LIBINPUT_EVENT_DEVICE_ADDED
134 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">libinput.h</a>
135 </li>
136 <li>LIBINPUT_EVENT_DEVICE_REMOVED
137 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">libinput.h</a>
138 </li>
139 <li>LIBINPUT_EVENT_KEYBOARD_KEY
140 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">libinput.h</a>
141 </li>
142 <li>LIBINPUT_EVENT_NONE
143 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">libinput.h</a>
144 </li>
145 <li>LIBINPUT_EVENT_POINTER_AXIS
146 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">libinput.h</a>
147 </li>
148 <li>LIBINPUT_EVENT_POINTER_BUTTON
149 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">libinput.h</a>
150 </li>
151 <li>LIBINPUT_EVENT_POINTER_MOTION
152 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">libinput.h</a>
153 </li>
154 <li>LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE
155 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">libinput.h</a>
156 </li>
157 <li>LIBINPUT_EVENT_TOUCH_CANCEL
158 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">libinput.h</a>
159 </li>
160 <li>LIBINPUT_EVENT_TOUCH_DOWN
161 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">libinput.h</a>
162 </li>
163 <li>LIBINPUT_EVENT_TOUCH_FRAME
164 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">libinput.h</a>
165 </li>
166 <li>LIBINPUT_EVENT_TOUCH_MOTION
167 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">libinput.h</a>
168 </li>
169 <li>LIBINPUT_EVENT_TOUCH_UP
170 : <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">libinput.h</a>
171 </li>
172 <li>LIBINPUT_KEY_STATE_PRESSED
173 : <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">libinput.h</a>
174 </li>
175 <li>LIBINPUT_KEY_STATE_RELEASED
176 : <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">libinput.h</a>
177 </li>
178 <li>LIBINPUT_LED_CAPS_LOCK
179 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">libinput.h</a>
180 </li>
181 <li>LIBINPUT_LED_NUM_LOCK
182 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">libinput.h</a>
183 </li>
184 <li>LIBINPUT_LED_SCROLL_LOCK
185 : <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">libinput.h</a>
186 </li>
187 <li>LIBINPUT_LOG_PRIORITY_DEBUG
188 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8">libinput.h</a>
189 </li>
190 <li>LIBINPUT_LOG_PRIORITY_ERROR
191 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d">libinput.h</a>
192 </li>
193 <li>LIBINPUT_LOG_PRIORITY_INFO
194 : <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500">libinput.h</a>
195 </li>
196 <li>LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL
197 : <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">libinput.h</a>
198 </li>
199 <li>LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL
200 : <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">libinput.h</a>
201 </li>
202 </ul>
203 </div><!-- contents -->
204 <!-- start footer part -->
205 <hr class="footer"/><address class="footer"><small>
206 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
207 <img class="footer" src="doxygen.png" alt="doxygen"/>
208 </a> 1.8.5
209 </small></address>
210 </body>
211 </html>
+0
-344
doc/html/globals_func.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li><a href="globals.html"><span>All</span></a></li>
72 <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
73 <li><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 <div id="navrow4" class="tabs3">
80 <ul class="tablist">
81 <li><a href="#index_l"><span>l</span></a></li>
82 </ul>
83 </div>
84 </div><!-- top -->
85 <!-- window showing the filter options -->
86 <div id="MSearchSelectWindow"
87 onmouseover="return searchBox.OnSearchSelectShow()"
88 onmouseout="return searchBox.OnSearchSelectHide()"
89 onkeydown="return searchBox.OnSearchSelectKey(event)">
90 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
91
92 <!-- iframe showing the search results (closed by default) -->
93 <div id="MSearchResultsWindow">
94 <iframe src="javascript:void(0)" frameborder="0"
95 name="MSearchResults" id="MSearchResults">
96 </iframe>
97 </div>
98
99 <div class="contents">
100 &#160;
101
102 <h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
103 <li>libinput_config_status_to_str()
104 : <a class="el" href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput.h</a>
105 </li>
106 <li>libinput_device_calibrate()
107 : <a class="el" href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput.h</a>
108 </li>
109 <li>libinput_device_config_tap_get_default_enabled()
110 : <a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput.h</a>
111 </li>
112 <li>libinput_device_config_tap_get_enabled()
113 : <a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput.h</a>
114 </li>
115 <li>libinput_device_config_tap_get_finger_count()
116 : <a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput.h</a>
117 </li>
118 <li>libinput_device_config_tap_set_enabled()
119 : <a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput.h</a>
120 </li>
121 <li>libinput_device_get_id_product()
122 : <a class="el" href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput.h</a>
123 </li>
124 <li>libinput_device_get_id_vendor()
125 : <a class="el" href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput.h</a>
126 </li>
127 <li>libinput_device_get_keys()
128 : <a class="el" href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput.h</a>
129 </li>
130 <li>libinput_device_get_name()
131 : <a class="el" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput.h</a>
132 </li>
133 <li>libinput_device_get_output_name()
134 : <a class="el" href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput.h</a>
135 </li>
136 <li>libinput_device_get_seat()
137 : <a class="el" href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput.h</a>
138 </li>
139 <li>libinput_device_get_size()
140 : <a class="el" href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput.h</a>
141 </li>
142 <li>libinput_device_get_sysname()
143 : <a class="el" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput.h</a>
144 </li>
145 <li>libinput_device_get_user_data()
146 : <a class="el" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput.h</a>
147 </li>
148 <li>libinput_device_has_capability()
149 : <a class="el" href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput.h</a>
150 </li>
151 <li>libinput_device_led_update()
152 : <a class="el" href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput.h</a>
153 </li>
154 <li>libinput_device_ref()
155 : <a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput.h</a>
156 </li>
157 <li>libinput_device_set_user_data()
158 : <a class="el" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput.h</a>
159 </li>
160 <li>libinput_device_unref()
161 : <a class="el" href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput.h</a>
162 </li>
163 <li>libinput_dispatch()
164 : <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput.h</a>
165 </li>
166 <li>libinput_event_destroy()
167 : <a class="el" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput.h</a>
168 </li>
169 <li>libinput_event_device_notify_get_base_event()
170 : <a class="el" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput.h</a>
171 </li>
172 <li>libinput_event_get_context()
173 : <a class="el" href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput.h</a>
174 </li>
175 <li>libinput_event_get_device()
176 : <a class="el" href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput.h</a>
177 </li>
178 <li>libinput_event_get_device_notify_event()
179 : <a class="el" href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput.h</a>
180 </li>
181 <li>libinput_event_get_keyboard_event()
182 : <a class="el" href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput.h</a>
183 </li>
184 <li>libinput_event_get_pointer_event()
185 : <a class="el" href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput.h</a>
186 </li>
187 <li>libinput_event_get_touch_event()
188 : <a class="el" href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput.h</a>
189 </li>
190 <li>libinput_event_get_type()
191 : <a class="el" href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput.h</a>
192 </li>
193 <li>libinput_event_keyboard_get_base_event()
194 : <a class="el" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput.h</a>
195 </li>
196 <li>libinput_event_keyboard_get_key()
197 : <a class="el" href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput.h</a>
198 </li>
199 <li>libinput_event_keyboard_get_key_state()
200 : <a class="el" href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput.h</a>
201 </li>
202 <li>libinput_event_keyboard_get_seat_key_count()
203 : <a class="el" href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput.h</a>
204 </li>
205 <li>libinput_event_keyboard_get_time()
206 : <a class="el" href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput.h</a>
207 </li>
208 <li>libinput_event_pointer_get_absolute_x()
209 : <a class="el" href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput.h</a>
210 </li>
211 <li>libinput_event_pointer_get_absolute_x_transformed()
212 : <a class="el" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput.h</a>
213 </li>
214 <li>libinput_event_pointer_get_absolute_y()
215 : <a class="el" href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput.h</a>
216 </li>
217 <li>libinput_event_pointer_get_absolute_y_transformed()
218 : <a class="el" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput.h</a>
219 </li>
220 <li>libinput_event_pointer_get_axis()
221 : <a class="el" href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput.h</a>
222 </li>
223 <li>libinput_event_pointer_get_axis_value()
224 : <a class="el" href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput.h</a>
225 </li>
226 <li>libinput_event_pointer_get_base_event()
227 : <a class="el" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput.h</a>
228 </li>
229 <li>libinput_event_pointer_get_button()
230 : <a class="el" href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput.h</a>
231 </li>
232 <li>libinput_event_pointer_get_button_state()
233 : <a class="el" href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput.h</a>
234 </li>
235 <li>libinput_event_pointer_get_dx()
236 : <a class="el" href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput.h</a>
237 </li>
238 <li>libinput_event_pointer_get_dy()
239 : <a class="el" href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput.h</a>
240 </li>
241 <li>libinput_event_pointer_get_seat_button_count()
242 : <a class="el" href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput.h</a>
243 </li>
244 <li>libinput_event_pointer_get_time()
245 : <a class="el" href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput.h</a>
246 </li>
247 <li>libinput_event_touch_get_base_event()
248 : <a class="el" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput.h</a>
249 </li>
250 <li>libinput_event_touch_get_seat_slot()
251 : <a class="el" href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput.h</a>
252 </li>
253 <li>libinput_event_touch_get_slot()
254 : <a class="el" href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput.h</a>
255 </li>
256 <li>libinput_event_touch_get_time()
257 : <a class="el" href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput.h</a>
258 </li>
259 <li>libinput_event_touch_get_x()
260 : <a class="el" href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput.h</a>
261 </li>
262 <li>libinput_event_touch_get_x_transformed()
263 : <a class="el" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput.h</a>
264 </li>
265 <li>libinput_event_touch_get_y()
266 : <a class="el" href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput.h</a>
267 </li>
268 <li>libinput_event_touch_get_y_transformed()
269 : <a class="el" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput.h</a>
270 </li>
271 <li>libinput_get_event()
272 : <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput.h</a>
273 </li>
274 <li>libinput_get_fd()
275 : <a class="el" href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput.h</a>
276 </li>
277 <li>libinput_get_user_data()
278 : <a class="el" href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput.h</a>
279 </li>
280 <li>libinput_log_get_priority()
281 : <a class="el" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput.h</a>
282 </li>
283 <li>libinput_log_set_priority()
284 : <a class="el" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput.h</a>
285 </li>
286 <li>libinput_next_event_type()
287 : <a class="el" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput.h</a>
288 </li>
289 <li>libinput_path_add_device()
290 : <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput.h</a>
291 </li>
292 <li>libinput_path_create_context()
293 : <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput.h</a>
294 </li>
295 <li>libinput_path_remove_device()
296 : <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput.h</a>
297 </li>
298 <li>libinput_ref()
299 : <a class="el" href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput.h</a>
300 </li>
301 <li>libinput_resume()
302 : <a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput.h</a>
303 </li>
304 <li>libinput_seat_get_logical_name()
305 : <a class="el" href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput.h</a>
306 </li>
307 <li>libinput_seat_get_physical_name()
308 : <a class="el" href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput.h</a>
309 </li>
310 <li>libinput_seat_get_user_data()
311 : <a class="el" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput.h</a>
312 </li>
313 <li>libinput_seat_ref()
314 : <a class="el" href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput.h</a>
315 </li>
316 <li>libinput_seat_set_user_data()
317 : <a class="el" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput.h</a>
318 </li>
319 <li>libinput_seat_unref()
320 : <a class="el" href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput.h</a>
321 </li>
322 <li>libinput_suspend()
323 : <a class="el" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput.h</a>
324 </li>
325 <li>libinput_udev_assign_seat()
326 : <a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput.h</a>
327 </li>
328 <li>libinput_udev_create_context()
329 : <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput.h</a>
330 </li>
331 <li>libinput_unref()
332 : <a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput.h</a>
333 </li>
334 </ul>
335 </div><!-- contents -->
336 <!-- start footer part -->
337 <hr class="footer"/><address class="footer"><small>
338 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
339 <img class="footer" src="doxygen.png" alt="doxygen"/>
340 </a> 1.8.5
341 </small></address>
342 </body>
343 </html>
+0
-112
doc/html/globals_type.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Globals</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li class="current"><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <div id="navrow3" class="tabs2">
70 <ul class="tablist">
71 <li><a href="globals.html"><span>All</span></a></li>
72 <li><a href="globals_func.html"><span>Functions</span></a></li>
73 <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
74 <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
75 <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
76 <li><a href="globals_defs.html"><span>Macros</span></a></li>
77 </ul>
78 </div>
79 </div><!-- top -->
80 <!-- window showing the filter options -->
81 <div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
86
87 <!-- iframe showing the search results (closed by default) -->
88 <div id="MSearchResultsWindow">
89 <iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91 </iframe>
92 </div>
93
94 <div class="contents">
95 &#160;<ul>
96 <li>libinput_log_handler
97 : <a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput.h</a>
98 </li>
99 <li>libinput_log_set_handler
100 : <a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput.h</a>
101 </li>
102 </ul>
103 </div><!-- contents -->
104 <!-- start footer part -->
105 <hr class="footer"/><address class="footer"><small>
106 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
107 <img class="footer" src="doxygen.png" alt="doxygen"/>
108 </a> 1.8.5
109 </small></address>
110 </body>
111 </html>
+0
-769
doc/html/group__base.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Initialization and manipulation of libinput contexts</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#typedef-members">Typedefs</a> &#124;
81 <a href="#enum-members">Enumerations</a> &#124;
82 <a href="#func-members">Functions</a> </div>
83 <div class="headertitle">
84 <div class="title">Initialization and manipulation of libinput contexts</div> </div>
85 </div><!--header-->
86 <div class="contents">
87 <table class="memberdecls">
88 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
89 Typedefs</h2></td></tr>
90 <tr class="memitem:ga387f6d09ed8548128a68f1d19ea675c2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> )(struct libinput *libinput, enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority, const char *format, va_list args) <a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a>(3</td></tr>
91 <tr class="memdesc:ga387f6d09ed8548128a68f1d19ea675c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log handler type for custom logging. <a href="#ga387f6d09ed8548128a68f1d19ea675c2">More...</a><br/></td></tr>
92 <tr class="separator:ga387f6d09ed8548128a68f1d19ea675c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <tr class="memitem:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="memItemLeft" align="right" valign="top">typedef void(*) voi&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput_log_set_handler</a> )(struct libinput *libinput, <a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> log_handler)</td></tr>
94 <tr class="memdesc:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global log handler. <a href="#gae1e6fac5e7d48904140eeb467d2ca9f2">More...</a><br/></td></tr>
95 <tr class="separator:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
96 </table><table class="memberdecls">
97 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
98 Enumerations</h2></td></tr>
99 <tr class="memitem:gac30276a06e8b1434b959f2c8dde74f7c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a> { <br/>
100 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">LIBINPUT_EVENT_NONE</a>,
101 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">LIBINPUT_EVENT_DEVICE_ADDED</a>,
102 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">LIBINPUT_EVENT_DEVICE_REMOVED</a>,
103 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">LIBINPUT_EVENT_KEYBOARD_KEY</a>,
104 <br/>
105 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">LIBINPUT_EVENT_POINTER_MOTION</a>,
106 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE</a>,
107 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">LIBINPUT_EVENT_POINTER_BUTTON</a>,
108 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">LIBINPUT_EVENT_POINTER_AXIS</a>,
109 <br/>
110 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">LIBINPUT_EVENT_TOUCH_DOWN</a>,
111 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">LIBINPUT_EVENT_TOUCH_UP</a>,
112 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">LIBINPUT_EVENT_TOUCH_MOTION</a>,
113 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">LIBINPUT_EVENT_TOUCH_CANCEL</a>,
114 <br/>
115 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">LIBINPUT_EVENT_TOUCH_FRAME</a>
116 <br/>
117 }</td></tr>
118 <tr class="memdesc:gac30276a06e8b1434b959f2c8dde74f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event type for events returned by <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a>. <a href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">More...</a><br/></td></tr>
119 <tr class="separator:gac30276a06e8b1434b959f2c8dde74f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 </table><table class="memberdecls">
121 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
122 Functions</h2></td></tr>
123 <tr class="memitem:ga7512ea602d4b259085c47f6374b078d1"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput_udev_create_context</a> (const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *interface, void *user_data, struct udev *udev)</td></tr>
124 <tr class="memdesc:ga7512ea602d4b259085c47f6374b078d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new libinput context from udev. <a href="#ga7512ea602d4b259085c47f6374b078d1">More...</a><br/></td></tr>
125 <tr class="separator:ga7512ea602d4b259085c47f6374b078d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:ga71a60660b30cb476495e75766222d144"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput_udev_assign_seat</a> (struct libinput *libinput, const char *seat_id)</td></tr>
127 <tr class="memdesc:ga71a60660b30cb476495e75766222d144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a seat to this libinput context. <a href="#ga71a60660b30cb476495e75766222d144">More...</a><br/></td></tr>
128 <tr class="separator:ga71a60660b30cb476495e75766222d144"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 <tr class="memitem:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput_path_create_context</a> (const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *interface, void *user_data)</td></tr>
130 <tr class="memdesc:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new libinput context that requires the caller to manually add or remove devices with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a> and <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121" title="Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...">libinput_path_remove_device()</a>. <a href="#ga363c6b6e47dcf410a3b3ebd5547c8b07">More...</a><br/></td></tr>
131 <tr class="separator:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
132 <tr class="memitem:gaa797496f0150b482a4e01376bd33a47b"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput_path_add_device</a> (struct libinput *libinput, const char *path)</td></tr>
133 <tr class="memdesc:gaa797496f0150b482a4e01376bd33a47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a device to a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a>. <a href="#gaa797496f0150b482a4e01376bd33a47b">More...</a><br/></td></tr>
134 <tr class="separator:gaa797496f0150b482a4e01376bd33a47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:ga9cb53cdcce2c000001ac17706a612121"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput_path_remove_device</a> (struct libinput_device *device)</td></tr>
136 <tr class="memdesc:ga9cb53cdcce2c000001ac17706a612121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a device from a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a> or added to such a context with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a>. <a href="#ga9cb53cdcce2c000001ac17706a612121">More...</a><br/></td></tr>
137 <tr class="separator:ga9cb53cdcce2c000001ac17706a612121"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 <tr class="memitem:ga885a59371d4e8de0e18a2a2a66942e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput_get_fd</a> (struct libinput *libinput)</td></tr>
139 <tr class="memdesc:ga885a59371d4e8de0e18a2a2a66942e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">libinput keeps a single file descriptor for all events. <a href="#ga885a59371d4e8de0e18a2a2a66942e11">More...</a><br/></td></tr>
140 <tr class="separator:ga885a59371d4e8de0e18a2a2a66942e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 <tr class="memitem:ga271f910ed17461830e48d4cd20483a00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput_dispatch</a> (struct libinput *libinput)</td></tr>
142 <tr class="memdesc:ga271f910ed17461830e48d4cd20483a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main event dispatchment function. <a href="#ga271f910ed17461830e48d4cd20483a00">More...</a><br/></td></tr>
143 <tr class="separator:ga271f910ed17461830e48d4cd20483a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
144 <tr class="memitem:gacead6670eaecf7c807659e2b6c725630"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput_get_event</a> (struct libinput *libinput)</td></tr>
145 <tr class="memdesc:gacead6670eaecf7c807659e2b6c725630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the next event from libinput's internal event queue. <a href="#gacead6670eaecf7c807659e2b6c725630">More...</a><br/></td></tr>
146 <tr class="separator:gacead6670eaecf7c807659e2b6c725630"><td class="memSeparator" colspan="2">&#160;</td></tr>
147 <tr class="memitem:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput_next_event_type</a> (struct libinput *libinput)</td></tr>
148 <tr class="memdesc:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of the next event in the internal queue. <a href="#gac86ad3c0c5bc27d8f630264f46cdf005">More...</a><br/></td></tr>
149 <tr class="separator:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <tr class="memitem:ga3eab49413b8430c2eee987a39f4a410b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput_get_user_data</a> (struct libinput *libinput)</td></tr>
151 <tr class="separator:ga3eab49413b8430c2eee987a39f4a410b"><td class="memSeparator" colspan="2">&#160;</td></tr>
152 <tr class="memitem:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput_resume</a> (struct libinput *libinput)</td></tr>
153 <tr class="memdesc:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume a suspended libinput context. <a href="#ga5a1ee92fa05df27e3c0f37d524cc17a6">More...</a><br/></td></tr>
154 <tr class="separator:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:ga60662dc666f6188dc207467c9d8e99ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput_suspend</a> (struct libinput *libinput)</td></tr>
156 <tr class="memdesc:ga60662dc666f6188dc207467c9d8e99ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend monitoring for new devices and close existing devices. <a href="#ga60662dc666f6188dc207467c9d8e99ab">More...</a><br/></td></tr>
157 <tr class="separator:ga60662dc666f6188dc207467c9d8e99ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <tr class="memitem:gafff29392ec52e1e7de5bb812e085127a"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput_ref</a> (struct libinput *libinput)</td></tr>
159 <tr class="memdesc:gafff29392ec52e1e7de5bb812e085127a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the context. <a href="#gafff29392ec52e1e7de5bb812e085127a">More...</a><br/></td></tr>
160 <tr class="separator:gafff29392ec52e1e7de5bb812e085127a"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:ga7ed0797d23e34b650e0aeb98b5350309"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a> (struct libinput *libinput)</td></tr>
162 <tr class="memdesc:ga7ed0797d23e34b650e0aeb98b5350309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the libinput context. <a href="#ga7ed0797d23e34b650e0aeb98b5350309">More...</a><br/></td></tr>
163 <tr class="separator:ga7ed0797d23e34b650e0aeb98b5350309"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 <tr class="memitem:ga75a500c54c61cfcecd4c76dbb8022933"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput_log_set_priority</a> (struct libinput *libinput, enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority)</td></tr>
165 <tr class="memdesc:ga75a500c54c61cfcecd4c76dbb8022933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global log priority. <a href="#ga75a500c54c61cfcecd4c76dbb8022933">More...</a><br/></td></tr>
166 <tr class="separator:ga75a500c54c61cfcecd4c76dbb8022933"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <tr class="memitem:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput_log_get_priority</a> (const struct libinput *libinput)</td></tr>
168 <tr class="memdesc:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the global log priority. <a href="#ga7367998ca39a6e873920ba5e2a12d4f0">More...</a><br/></td></tr>
169 <tr class="separator:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 </table>
171 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
172 <h2 class="groupheader">Typedef Documentation</h2>
173 <a class="anchor" id="ga387f6d09ed8548128a68f1d19ea675c2"></a>
174 <div class="memitem">
175 <div class="memproto">
176 <table class="memname">
177 <tr>
178 <td class="memname">typedef void(* libinput_log_handler)(struct libinput *libinput, enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority, const char *format, va_list args) <a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a>(3</td>
179 </tr>
180 </table>
181 </div><div class="memdoc">
182
183 <p>Log handler type for custom logging. </p>
184 <dl class="params"><dt>Parameters</dt><dd>
185 <table class="params">
186 <tr><td class="paramname">libinput</td><td>The libinput context </td></tr>
187 <tr><td class="paramname">priority</td><td>The priority of the current message </td></tr>
188 <tr><td class="paramname">format</td><td>Message format in printf-style </td></tr>
189 <tr><td class="paramname">args</td><td>Message arguments</td></tr>
190 </table>
191 </dd>
192 </dl>
193 <dl class="section see"><dt>See Also</dt><dd>libinput_set_log_priority </dd>
194 <dd>
195 <a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2" title="Set the global log handler. ">libinput_log_set_handler</a> </dd></dl>
196
197 </div>
198 </div>
199 <a class="anchor" id="gae1e6fac5e7d48904140eeb467d2ca9f2"></a>
200 <div class="memitem">
201 <div class="memproto">
202 <table class="memname">
203 <tr>
204 <td class="memname">typedef void(*) voi libinput_log_set_handler)(struct libinput *libinput, <a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> log_handler)</td>
205 </tr>
206 </table>
207 </div><div class="memdoc">
208
209 <p>Set the global log handler. </p>
210 <p>Messages with priorities equal to or higher than the current log priority will be passed to the given log handler.</p>
211 <p>The default log handler prints to stderr.</p>
212 <dl class="params"><dt>Parameters</dt><dd>
213 <table class="params">
214 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
215 <tr><td class="paramname">log_handler</td><td>The log handler for library messages. </td></tr>
216 <tr><td class="paramname">user_data</td><td>Caller-specific data pointer, passed into the log handler.</td></tr>
217 </table>
218 </dd>
219 </dl>
220 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2" title="Set the global log handler. ">libinput_log_set_handler</a> </dd></dl>
221
222 </div>
223 </div>
224 <h2 class="groupheader">Enumeration Type Documentation</h2>
225 <a class="anchor" id="gac30276a06e8b1434b959f2c8dde74f7c"></a>
226 <div class="memitem">
227 <div class="memproto">
228 <table class="memname">
229 <tr>
230 <td class="memname">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a></td>
231 </tr>
232 </table>
233 </div><div class="memdoc">
234
235 <p>Event type for events returned by <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a>. </p>
236 <table class="fieldtable">
237 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67"></a>LIBINPUT_EVENT_NONE</em>&nbsp;</td><td class="fielddoc">
238 <p>This is not a real event type, and is only used to tell the user that no new event is available in the queue. </p>
239 <p>See <a class="el" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005" title="Return the type of the next event in the internal queue. ">libinput_next_event_type()</a>. </p>
240 </td></tr>
241 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b"></a>LIBINPUT_EVENT_DEVICE_ADDED</em>&nbsp;</td><td class="fielddoc">
242 <p>Signals that a device has been added to the context. </p>
243 <p>The device will not be read until the next time the user calls <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00" title="Main event dispatchment function. ">libinput_dispatch()</a> and data is available.</p>
244 <p>This allows setting up initial device configuration before any events are created. </p>
245 </td></tr>
246 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09"></a>LIBINPUT_EVENT_DEVICE_REMOVED</em>&nbsp;</td><td class="fielddoc">
247 <p>Signals that a device has been removed. </p>
248 <p>No more events from the associated device will be in the queue or be queued after this event. </p>
249 </td></tr>
250 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3"></a>LIBINPUT_EVENT_KEYBOARD_KEY</em>&nbsp;</td><td class="fielddoc">
251 </td></tr>
252 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9"></a>LIBINPUT_EVENT_POINTER_MOTION</em>&nbsp;</td><td class="fielddoc">
253 </td></tr>
254 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315"></a>LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE</em>&nbsp;</td><td class="fielddoc">
255 </td></tr>
256 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689"></a>LIBINPUT_EVENT_POINTER_BUTTON</em>&nbsp;</td><td class="fielddoc">
257 </td></tr>
258 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde"></a>LIBINPUT_EVENT_POINTER_AXIS</em>&nbsp;</td><td class="fielddoc">
259 </td></tr>
260 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb"></a>LIBINPUT_EVENT_TOUCH_DOWN</em>&nbsp;</td><td class="fielddoc">
261 </td></tr>
262 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62"></a>LIBINPUT_EVENT_TOUCH_UP</em>&nbsp;</td><td class="fielddoc">
263 </td></tr>
264 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468"></a>LIBINPUT_EVENT_TOUCH_MOTION</em>&nbsp;</td><td class="fielddoc">
265 </td></tr>
266 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052"></a>LIBINPUT_EVENT_TOUCH_CANCEL</em>&nbsp;</td><td class="fielddoc">
267 </td></tr>
268 <tr><td class="fieldname"><em><a class="anchor" id="ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387"></a>LIBINPUT_EVENT_TOUCH_FRAME</em>&nbsp;</td><td class="fielddoc">
269 <p>Signals the end of a set of touchpoints at one device sample time. </p>
270 <p>This event has no coordinate information attached. </p>
271 </td></tr>
272 </table>
273
274 </div>
275 </div>
276 <h2 class="groupheader">Function Documentation</h2>
277 <a class="anchor" id="ga271f910ed17461830e48d4cd20483a00"></a>
278 <div class="memitem">
279 <div class="memproto">
280 <table class="memname">
281 <tr>
282 <td class="memname">int libinput_dispatch </td>
283 <td>(</td>
284 <td class="paramtype">struct libinput *&#160;</td>
285 <td class="paramname"><em>libinput</em></td><td>)</td>
286 <td></td>
287 </tr>
288 </table>
289 </div><div class="memdoc">
290
291 <p>Main event dispatchment function. </p>
292 <p>Reads events of the file descriptors and processes them internally. Use <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a> to retrieve the events.</p>
293 <p>Dispatching does not necessarily queue libinput events.</p>
294 <dl class="params"><dt>Parameters</dt><dd>
295 <table class="params">
296 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context</td></tr>
297 </table>
298 </dd>
299 </dl>
300 <dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative errno on failure </dd></dl>
301
302 </div>
303 </div>
304 <a class="anchor" id="gacead6670eaecf7c807659e2b6c725630"></a>
305 <div class="memitem">
306 <div class="memproto">
307 <table class="memname">
308 <tr>
309 <td class="memname">struct libinput_event* libinput_get_event </td>
310 <td>(</td>
311 <td class="paramtype">struct libinput *&#160;</td>
312 <td class="paramname"><em>libinput</em></td><td>)</td>
313 <td></td>
314 </tr>
315 </table>
316 </div><div class="memdoc">
317
318 <p>Retrieve the next event from libinput's internal event queue. </p>
319 <p>After handling the retrieved event, the caller must destroy it using <a class="el" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a" title="Destroy the event. ">libinput_event_destroy()</a>.</p>
320 <dl class="params"><dt>Parameters</dt><dd>
321 <table class="params">
322 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
323 </table>
324 </dd>
325 </dl>
326 <dl class="section return"><dt>Returns</dt><dd>The next available event, or NULL if no event is available. </dd></dl>
327
328 </div>
329 </div>
330 <a class="anchor" id="ga885a59371d4e8de0e18a2a2a66942e11"></a>
331 <div class="memitem">
332 <div class="memproto">
333 <table class="memname">
334 <tr>
335 <td class="memname">int libinput_get_fd </td>
336 <td>(</td>
337 <td class="paramtype">struct libinput *&#160;</td>
338 <td class="paramname"><em>libinput</em></td><td>)</td>
339 <td></td>
340 </tr>
341 </table>
342 </div><div class="memdoc">
343
344 <p>libinput keeps a single file descriptor for all events. </p>
345 <p>Call into <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00" title="Main event dispatchment function. ">libinput_dispatch()</a> if any events become available on this fd.</p>
346 <dl class="section return"><dt>Returns</dt><dd>the file descriptor used to notify of pending events. </dd></dl>
347
348 </div>
349 </div>
350 <a class="anchor" id="ga3eab49413b8430c2eee987a39f4a410b"></a>
351 <div class="memitem">
352 <div class="memproto">
353 <table class="memname">
354 <tr>
355 <td class="memname">void* libinput_get_user_data </td>
356 <td>(</td>
357 <td class="paramtype">struct libinput *&#160;</td>
358 <td class="paramname"><em>libinput</em></td><td>)</td>
359 <td></td>
360 </tr>
361 </table>
362 </div><div class="memdoc">
363 <dl class="params"><dt>Parameters</dt><dd>
364 <table class="params">
365 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
366 </table>
367 </dd>
368 </dl>
369 <dl class="section return"><dt>Returns</dt><dd>the caller-specific data previously assigned in libinput_create_udev(). </dd></dl>
370
371 </div>
372 </div>
373 <a class="anchor" id="ga7367998ca39a6e873920ba5e2a12d4f0"></a>
374 <div class="memitem">
375 <div class="memproto">
376 <table class="memname">
377 <tr>
378 <td class="memname">enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> libinput_log_get_priority </td>
379 <td>(</td>
380 <td class="paramtype">const struct libinput *&#160;</td>
381 <td class="paramname"><em>libinput</em></td><td>)</td>
382 <td></td>
383 </tr>
384 </table>
385 </div><div class="memdoc">
386
387 <p>Get the global log priority. </p>
388 <p>Messages with priorities equal to or higher than the argument will be printed to the current log handler.</p>
389 <p>The default log priority is LIBINPUT_LOG_PRIORITY_ERROR.</p>
390 <dl class="params"><dt>Parameters</dt><dd>
391 <table class="params">
392 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
393 </table>
394 </dd>
395 </dl>
396 <dl class="section return"><dt>Returns</dt><dd>The minimum priority of log messages to print.</dd></dl>
397 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2" title="Set the global log handler. ">libinput_log_set_handler</a> </dd>
398 <dd>
399 <a class="el" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933" title="Set the global log priority. ">libinput_log_set_priority</a> </dd></dl>
400
401 </div>
402 </div>
403 <a class="anchor" id="ga75a500c54c61cfcecd4c76dbb8022933"></a>
404 <div class="memitem">
405 <div class="memproto">
406 <table class="memname">
407 <tr>
408 <td class="memname">void libinput_log_set_priority </td>
409 <td>(</td>
410 <td class="paramtype">struct libinput *&#160;</td>
411 <td class="paramname"><em>libinput</em>, </td>
412 </tr>
413 <tr>
414 <td class="paramkey"></td>
415 <td></td>
416 <td class="paramtype">enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a>&#160;</td>
417 <td class="paramname"><em>priority</em>&#160;</td>
418 </tr>
419 <tr>
420 <td></td>
421 <td>)</td>
422 <td></td><td></td>
423 </tr>
424 </table>
425 </div><div class="memdoc">
426
427 <p>Set the global log priority. </p>
428 <p>Messages with priorities equal to or higher than the argument will be printed to the current log handler.</p>
429 <p>The default log priority is LIBINPUT_LOG_PRIORITY_ERROR.</p>
430 <dl class="params"><dt>Parameters</dt><dd>
431 <table class="params">
432 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
433 <tr><td class="paramname">priority</td><td>The minimum priority of log messages to print.</td></tr>
434 </table>
435 </dd>
436 </dl>
437 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2" title="Set the global log handler. ">libinput_log_set_handler</a> </dd>
438 <dd>
439 <a class="el" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0" title="Get the global log priority. ">libinput_log_get_priority</a> </dd></dl>
440
441 </div>
442 </div>
443 <a class="anchor" id="gac86ad3c0c5bc27d8f630264f46cdf005"></a>
444 <div class="memitem">
445 <div class="memproto">
446 <table class="memname">
447 <tr>
448 <td class="memname">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a> libinput_next_event_type </td>
449 <td>(</td>
450 <td class="paramtype">struct libinput *&#160;</td>
451 <td class="paramname"><em>libinput</em></td><td>)</td>
452 <td></td>
453 </tr>
454 </table>
455 </div><div class="memdoc">
456
457 <p>Return the type of the next event in the internal queue. </p>
458 <p>This function does not pop the event off the queue and the next call to <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a> returns that event.</p>
459 <dl class="params"><dt>Parameters</dt><dd>
460 <table class="params">
461 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
462 </table>
463 </dd>
464 </dl>
465 <dl class="section return"><dt>Returns</dt><dd>The event type of the next available event or LIBINPUT_EVENT_NONE if no event is availble. </dd></dl>
466
467 </div>
468 </div>
469 <a class="anchor" id="gaa797496f0150b482a4e01376bd33a47b"></a>
470 <div class="memitem">
471 <div class="memproto">
472 <table class="memname">
473 <tr>
474 <td class="memname">struct libinput_device* libinput_path_add_device </td>
475 <td>(</td>
476 <td class="paramtype">struct libinput *&#160;</td>
477 <td class="paramname"><em>libinput</em>, </td>
478 </tr>
479 <tr>
480 <td class="paramkey"></td>
481 <td></td>
482 <td class="paramtype">const char *&#160;</td>
483 <td class="paramname"><em>path</em>&#160;</td>
484 </tr>
485 <tr>
486 <td></td>
487 <td>)</td>
488 <td></td><td></td>
489 </tr>
490 </table>
491 </div><div class="memdoc">
492
493 <p>Add a device to a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a>. </p>
494 <p>If successful, the device will be added to the internal list and re-opened on <a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6" title="Resume a suspended libinput context. ">libinput_resume()</a>. The device can be removed with <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121" title="Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...">libinput_path_remove_device()</a>.</p>
495 <p>If the device was successfully initialized, it is returned in the device argument. The lifetime of the returned device pointer is limited until the next <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00" title="Main event dispatchment function. ">libinput_dispatch()</a>, use <a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467" title="Increase the refcount of the input device. ">libinput_device_ref()</a> to keep a permanent reference.</p>
496 <dl class="params"><dt>Parameters</dt><dd>
497 <table class="params">
498 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
499 <tr><td class="paramname">path</td><td>Path to an input device </td></tr>
500 </table>
501 </dd>
502 </dl>
503 <dl class="section return"><dt>Returns</dt><dd>The newly initiated device on success, or NULL on failure.</dd></dl>
504 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function on a libinput context initialized with <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1" title="Create a new libinput context from udev. ">libinput_udev_create_context()</a>. </dd></dl>
505
506 </div>
507 </div>
508 <a class="anchor" id="ga363c6b6e47dcf410a3b3ebd5547c8b07"></a>
509 <div class="memitem">
510 <div class="memproto">
511 <table class="memname">
512 <tr>
513 <td class="memname">struct libinput* libinput_path_create_context </td>
514 <td>(</td>
515 <td class="paramtype">const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *&#160;</td>
516 <td class="paramname"><em>interface</em>, </td>
517 </tr>
518 <tr>
519 <td class="paramkey"></td>
520 <td></td>
521 <td class="paramtype">void *&#160;</td>
522 <td class="paramname"><em>user_data</em>&#160;</td>
523 </tr>
524 <tr>
525 <td></td>
526 <td>)</td>
527 <td></td><td></td>
528 </tr>
529 </table>
530 </div><div class="memdoc">
531
532 <p>Create a new libinput context that requires the caller to manually add or remove devices with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a> and <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121" title="Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...">libinput_path_remove_device()</a>. </p>
533 <p>The context is fully initialized but will not generate events until at least one device has been added.</p>
534 <p>The reference count of the context is initialized to 1. See <a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a>.</p>
535 <dl class="params"><dt>Parameters</dt><dd>
536 <table class="params">
537 <tr><td class="paramname">interface</td><td>The callback interface </td></tr>
538 <tr><td class="paramname">user_data</td><td>Caller-specific data passed to the various callback interfaces.</td></tr>
539 </table>
540 </dd>
541 </dl>
542 <dl class="section return"><dt>Returns</dt><dd>An initialized, empty libinput context. </dd></dl>
543
544 </div>
545 </div>
546 <a class="anchor" id="ga9cb53cdcce2c000001ac17706a612121"></a>
547 <div class="memitem">
548 <div class="memproto">
549 <table class="memname">
550 <tr>
551 <td class="memname">void libinput_path_remove_device </td>
552 <td>(</td>
553 <td class="paramtype">struct libinput_device *&#160;</td>
554 <td class="paramname"><em>device</em></td><td>)</td>
555 <td></td>
556 </tr>
557 </table>
558 </div><div class="memdoc">
559
560 <p>Remove a device from a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a> or added to such a context with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a>. </p>
561 <p>Events already processed from this input device are kept in the queue, the LIBINPUT_EVENT_DEVICE_REMOVED event marks the end of events for this device.</p>
562 <p>If no matching device exists, this function does nothing.</p>
563 <dl class="params"><dt>Parameters</dt><dd>
564 <table class="params">
565 <tr><td class="paramname">device</td><td>A libinput device</td></tr>
566 </table>
567 </dd>
568 </dl>
569 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function on a libinput context initialized with <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1" title="Create a new libinput context from udev. ">libinput_udev_create_context()</a>. </dd></dl>
570
571 </div>
572 </div>
573 <a class="anchor" id="gafff29392ec52e1e7de5bb812e085127a"></a>
574 <div class="memitem">
575 <div class="memproto">
576 <table class="memname">
577 <tr>
578 <td class="memname">struct libinput* libinput_ref </td>
579 <td>(</td>
580 <td class="paramtype">struct libinput *&#160;</td>
581 <td class="paramname"><em>libinput</em></td><td>)</td>
582 <td></td>
583 </tr>
584 </table>
585 </div><div class="memdoc">
586
587 <p>Add a reference to the context. </p>
588 <p>A context is destroyed whenever the reference count reaches 0. See <a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a>.</p>
589 <dl class="params"><dt>Parameters</dt><dd>
590 <table class="params">
591 <tr><td class="paramname">libinput</td><td>A previously initialized valid libinput context </td></tr>
592 </table>
593 </dd>
594 </dl>
595 <dl class="section return"><dt>Returns</dt><dd>The passed libinput context </dd></dl>
596
597 </div>
598 </div>
599 <a class="anchor" id="ga5a1ee92fa05df27e3c0f37d524cc17a6"></a>
600 <div class="memitem">
601 <div class="memproto">
602 <table class="memname">
603 <tr>
604 <td class="memname">int libinput_resume </td>
605 <td>(</td>
606 <td class="paramtype">struct libinput *&#160;</td>
607 <td class="paramname"><em>libinput</em></td><td>)</td>
608 <td></td>
609 </tr>
610 </table>
611 </div><div class="memdoc">
612
613 <p>Resume a suspended libinput context. </p>
614 <p>This re-enables device monitoring and adds existing devices.</p>
615 <dl class="params"><dt>Parameters</dt><dd>
616 <table class="params">
617 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
618 </table>
619 </dd>
620 </dl>
621 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab" title="Suspend monitoring for new devices and close existing devices. ">libinput_suspend</a></dd></dl>
622 <dl class="section return"><dt>Returns</dt><dd>0 on success or -1 on failure </dd></dl>
623
624 </div>
625 </div>
626 <a class="anchor" id="ga60662dc666f6188dc207467c9d8e99ab"></a>
627 <div class="memitem">
628 <div class="memproto">
629 <table class="memname">
630 <tr>
631 <td class="memname">void libinput_suspend </td>
632 <td>(</td>
633 <td class="paramtype">struct libinput *&#160;</td>
634 <td class="paramname"><em>libinput</em></td><td>)</td>
635 <td></td>
636 </tr>
637 </table>
638 </div><div class="memdoc">
639
640 <p>Suspend monitoring for new devices and close existing devices. </p>
641 <p>This all but terminates libinput but does keep the context valid to be resumed with <a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6" title="Resume a suspended libinput context. ">libinput_resume()</a>.</p>
642 <dl class="params"><dt>Parameters</dt><dd>
643 <table class="params">
644 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
645 </table>
646 </dd>
647 </dl>
648
649 </div>
650 </div>
651 <a class="anchor" id="ga71a60660b30cb476495e75766222d144"></a>
652 <div class="memitem">
653 <div class="memproto">
654 <table class="memname">
655 <tr>
656 <td class="memname">int libinput_udev_assign_seat </td>
657 <td>(</td>
658 <td class="paramtype">struct libinput *&#160;</td>
659 <td class="paramname"><em>libinput</em>, </td>
660 </tr>
661 <tr>
662 <td class="paramkey"></td>
663 <td></td>
664 <td class="paramtype">const char *&#160;</td>
665 <td class="paramname"><em>seat_id</em>&#160;</td>
666 </tr>
667 <tr>
668 <td></td>
669 <td>)</td>
670 <td></td><td></td>
671 </tr>
672 </table>
673 </div><div class="memdoc">
674
675 <p>Assign a seat to this libinput context. </p>
676 <p>New devices or the removal of existing devices will appear as events during <a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00" title="Main event dispatchment function. ">libinput_dispatch()</a>.</p>
677 <p><a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144" title="Assign a seat to this libinput context. ">libinput_udev_assign_seat()</a> succeeds even if no input devices are currently available on this seat, or if devices are available but fail to open in <a class="el" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">libinput_interface::open_restricted</a>. Devices that do not have the minimum capabilities to be recognized as pointer, keyboard or touch device are ignored. Such devices and those that failed to open ignored until the next call to <a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6" title="Resume a suspended libinput context. ">libinput_resume()</a>.</p>
678 <p>This function may only be called once per context.</p>
679 <dl class="params"><dt>Parameters</dt><dd>
680 <table class="params">
681 <tr><td class="paramname">libinput</td><td>A libinput context initialized with <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1" title="Create a new libinput context from udev. ">libinput_udev_create_context()</a> </td></tr>
682 <tr><td class="paramname">seat_id</td><td>A seat identifier. This string must not be NULL.</td></tr>
683 </table>
684 </dd>
685 </dl>
686 <dl class="section return"><dt>Returns</dt><dd>0 on success or -1 on failure. </dd></dl>
687
688 </div>
689 </div>
690 <a class="anchor" id="ga7512ea602d4b259085c47f6374b078d1"></a>
691 <div class="memitem">
692 <div class="memproto">
693 <table class="memname">
694 <tr>
695 <td class="memname">struct libinput* libinput_udev_create_context </td>
696 <td>(</td>
697 <td class="paramtype">const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *&#160;</td>
698 <td class="paramname"><em>interface</em>, </td>
699 </tr>
700 <tr>
701 <td class="paramkey"></td>
702 <td></td>
703 <td class="paramtype">void *&#160;</td>
704 <td class="paramname"><em>user_data</em>, </td>
705 </tr>
706 <tr>
707 <td class="paramkey"></td>
708 <td></td>
709 <td class="paramtype">struct udev *&#160;</td>
710 <td class="paramname"><em>udev</em>&#160;</td>
711 </tr>
712 <tr>
713 <td></td>
714 <td>)</td>
715 <td></td><td></td>
716 </tr>
717 </table>
718 </div><div class="memdoc">
719
720 <p>Create a new libinput context from udev. </p>
721 <p>This context is inactive until assigned a seat ID with <a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144" title="Assign a seat to this libinput context. ">libinput_udev_assign_seat()</a>.</p>
722 <dl class="params"><dt>Parameters</dt><dd>
723 <table class="params">
724 <tr><td class="paramname">interface</td><td>The callback interface </td></tr>
725 <tr><td class="paramname">user_data</td><td>Caller-specific data passed to the various callback interfaces. </td></tr>
726 <tr><td class="paramname">udev</td><td>An already initialized udev context</td></tr>
727 </table>
728 </dd>
729 </dl>
730 <dl class="section return"><dt>Returns</dt><dd>An initialized, but inactive libinput context or NULL on error </dd></dl>
731
732 </div>
733 </div>
734 <a class="anchor" id="ga7ed0797d23e34b650e0aeb98b5350309"></a>
735 <div class="memitem">
736 <div class="memproto">
737 <table class="memname">
738 <tr>
739 <td class="memname">struct libinput* libinput_unref </td>
740 <td>(</td>
741 <td class="paramtype">struct libinput *&#160;</td>
742 <td class="paramname"><em>libinput</em></td><td>)</td>
743 <td></td>
744 </tr>
745 </table>
746 </div><div class="memdoc">
747
748 <p>Dereference the libinput context. </p>
749 <p>After this, the context may have been destroyed, if the last reference was dereferenced. If so, the context is invalid and may not be interacted with.</p>
750 <dl class="params"><dt>Parameters</dt><dd>
751 <table class="params">
752 <tr><td class="paramname">libinput</td><td>A previously initialized libinput context </td></tr>
753 </table>
754 </dd>
755 </dl>
756 <dl class="section return"><dt>Returns</dt><dd>NULL if context was destroyed otherwise the passed context </dd></dl>
757
758 </div>
759 </div>
760 </div><!-- contents -->
761 <!-- start footer part -->
762 <hr class="footer"/><address class="footer"><small>
763 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
764 <img class="footer" src="doxygen.png" alt="doxygen"/>
765 </a> 1.8.5
766 </small></address>
767 </body>
768 </html>
+0
-340
doc/html/group__config.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Device configuration</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#enum-members">Enumerations</a> &#124;
81 <a href="#func-members">Functions</a> </div>
82 <div class="headertitle">
83 <div class="title">Device configuration</div> </div>
84 </div><!--header-->
85 <div class="contents">
86
87 <p>Enable, disable, change and/or check for device-specific features.
88 <a href="#details">More...</a></p>
89 <table class="memberdecls">
90 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
91 Enumerations</h2></td></tr>
92 <tr class="memitem:ga33ff306ed8505129adce4c092a3ed175"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> { <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">LIBINPUT_CONFIG_STATUS_SUCCESS</a>,
93 <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">LIBINPUT_CONFIG_STATUS_UNSUPPORTED</a>,
94 <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">LIBINPUT_CONFIG_STATUS_INVALID</a>
95 }</td></tr>
96 <tr class="memdesc:ga33ff306ed8505129adce4c092a3ed175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status codes returned when applying configuration settings. <a href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">More...</a><br/></td></tr>
97 <tr class="separator:ga33ff306ed8505129adce4c092a3ed175"><td class="memSeparator" colspan="2">&#160;</td></tr>
98 <tr class="memitem:gaca4a3177736e6fd024cb77bc684857a1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> { <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a>,
99 <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a>
100 }</td></tr>
101 <tr class="separator:gaca4a3177736e6fd024cb77bc684857a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 </table><table class="memberdecls">
103 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
104 Functions</h2></td></tr>
105 <tr class="memitem:ga7eee5ba99988d80bb9dd744894c72e06"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput_config_status_to_str</a> (enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> status)</td></tr>
106 <tr class="memdesc:ga7eee5ba99988d80bb9dd744894c72e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string describing the error. <a href="#ga7eee5ba99988d80bb9dd744894c72e06">More...</a><br/></td></tr>
107 <tr class="separator:ga7eee5ba99988d80bb9dd744894c72e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
108 <tr class="memitem:ga13973d6bd75a99708723e3c6684517c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput_device_config_tap_get_finger_count</a> (struct libinput_device *device)</td></tr>
109 <tr class="memdesc:ga13973d6bd75a99708723e3c6684517c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the device supports tap-to-click. <a href="#ga13973d6bd75a99708723e3c6684517c1">More...</a><br/></td></tr>
110 <tr class="separator:ga13973d6bd75a99708723e3c6684517c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 <tr class="memitem:ga3caf860883d4e2e42b7842599da03e56"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput_device_config_tap_set_enabled</a> (struct libinput_device *device, enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> enable)</td></tr>
112 <tr class="memdesc:ga3caf860883d4e2e42b7842599da03e56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping to left, right, middle click, respectively. <a href="#ga3caf860883d4e2e42b7842599da03e56">More...</a><br/></td></tr>
113 <tr class="separator:ga3caf860883d4e2e42b7842599da03e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <tr class="memitem:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput_device_config_tap_get_enabled</a> (struct libinput_device *device)</td></tr>
115 <tr class="memdesc:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if tap-to-click is enabled on this device. <a href="#ga8bfe1d541dcadaedeedcd7a98d5b7e07">More...</a><br/></td></tr>
116 <tr class="separator:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 <tr class="memitem:gaf6906b7344ee8d446594de08b4d065be"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput_device_config_tap_get_default_enabled</a> (struct libinput_device *device)</td></tr>
118 <tr class="memdesc:gaf6906b7344ee8d446594de08b4d065be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the default setting for whether tapping is enabled on this device. <a href="#gaf6906b7344ee8d446594de08b4d065be">More...</a><br/></td></tr>
119 <tr class="separator:gaf6906b7344ee8d446594de08b4d065be"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 </table>
121 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
122 <p>Enable, disable, change and/or check for device-specific features. </p>
123 <p>For all features, libinput assigns a default based on the hardware configuration. This default can be obtained with the respective get_default call.</p>
124 <p>Some configuration option may be dependent on or mutually exclusive with with other options. The behavior in those cases is implementation-defined, the caller must ensure that the options are set in the right order. </p>
125 <h2 class="groupheader">Enumeration Type Documentation</h2>
126 <a class="anchor" id="ga33ff306ed8505129adce4c092a3ed175"></a>
127 <div class="memitem">
128 <div class="memproto">
129 <table class="memname">
130 <tr>
131 <td class="memname">enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a></td>
132 </tr>
133 </table>
134 </div><div class="memdoc">
135
136 <p>Status codes returned when applying configuration settings. </p>
137 <table class="fieldtable">
138 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2"></a>LIBINPUT_CONFIG_STATUS_SUCCESS</em>&nbsp;</td><td class="fielddoc">
139 <p>Config applied successfully. </p>
140 </td></tr>
141 <tr><td class="fieldname"><em><a class="anchor" id="gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22"></a>LIBINPUT_CONFIG_STATUS_UNSUPPORTED</em>&nbsp;</td><td class="fielddoc">
142 <p>Configuration not available on this device. </p>
143 </td></tr>
144 <tr><td class="fieldname"><em><a class="anchor" id="gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c"></a>LIBINPUT_CONFIG_STATUS_INVALID</em>&nbsp;</td><td class="fielddoc">
145 <p>Invalid parameter range. </p>
146 </td></tr>
147 </table>
148
149 </div>
150 </div>
151 <a class="anchor" id="gaca4a3177736e6fd024cb77bc684857a1"></a>
152 <div class="memitem">
153 <div class="memproto">
154 <table class="memname">
155 <tr>
156 <td class="memname">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a></td>
157 </tr>
158 </table>
159 </div><div class="memdoc">
160 <table class="fieldtable">
161 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11"></a>LIBINPUT_CONFIG_TAP_DISABLED</em>&nbsp;</td><td class="fielddoc">
162 <p>Tapping is to be disabled, or is currently disabled. </p>
163 </td></tr>
164 <tr><td class="fieldname"><em><a class="anchor" id="ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a"></a>LIBINPUT_CONFIG_TAP_ENABLED</em>&nbsp;</td><td class="fielddoc">
165 <p>Tapping is to be enabled, or is currently enabled. </p>
166 </td></tr>
167 </table>
168
169 </div>
170 </div>
171 <h2 class="groupheader">Function Documentation</h2>
172 <a class="anchor" id="ga7eee5ba99988d80bb9dd744894c72e06"></a>
173 <div class="memitem">
174 <div class="memproto">
175 <table class="memname">
176 <tr>
177 <td class="memname">const char* libinput_config_status_to_str </td>
178 <td>(</td>
179 <td class="paramtype">enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a>&#160;</td>
180 <td class="paramname"><em>status</em></td><td>)</td>
181 <td></td>
182 </tr>
183 </table>
184 </div><div class="memdoc">
185
186 <p>Return a string describing the error. </p>
187 <dl class="params"><dt>Parameters</dt><dd>
188 <table class="params">
189 <tr><td class="paramname">status</td><td>The status to translate to a string </td></tr>
190 </table>
191 </dd>
192 </dl>
193 <dl class="section return"><dt>Returns</dt><dd>A human-readable string representing the error or NULL for an invalid status. </dd></dl>
194
195 </div>
196 </div>
197 <a class="anchor" id="gaf6906b7344ee8d446594de08b4d065be"></a>
198 <div class="memitem">
199 <div class="memproto">
200 <table class="memname">
201 <tr>
202 <td class="memname">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> libinput_device_config_tap_get_default_enabled </td>
203 <td>(</td>
204 <td class="paramtype">struct libinput_device *&#160;</td>
205 <td class="paramname"><em>device</em></td><td>)</td>
206 <td></td>
207 </tr>
208 </table>
209 </div><div class="memdoc">
210
211 <p>Return the default setting for whether tapping is enabled on this device. </p>
212 <dl class="params"><dt>Parameters</dt><dd>
213 <table class="params">
214 <tr><td class="paramname">device</td><td>The device to configure </td></tr>
215 </table>
216 </dd>
217 </dl>
218 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a> if tapping is enabled by default, or <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a> is disabled by default</dd></dl>
219 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1" title="Check if the device supports tap-to-click. ">libinput_device_config_tap_get_finger_count</a> </dd>
220 <dd>
221 <a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56" title="Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...">libinput_device_config_tap_set_enabled</a> </dd>
222 <dd>
223 <a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07" title="Check if tap-to-click is enabled on this device. ">libinput_device_config_tap_get_enabled</a> </dd></dl>
224
225 </div>
226 </div>
227 <a class="anchor" id="ga8bfe1d541dcadaedeedcd7a98d5b7e07"></a>
228 <div class="memitem">
229 <div class="memproto">
230 <table class="memname">
231 <tr>
232 <td class="memname">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> libinput_device_config_tap_get_enabled </td>
233 <td>(</td>
234 <td class="paramtype">struct libinput_device *&#160;</td>
235 <td class="paramname"><em>device</em></td><td>)</td>
236 <td></td>
237 </tr>
238 </table>
239 </div><div class="memdoc">
240
241 <p>Check if tap-to-click is enabled on this device. </p>
242 <p>If the device does not support tapping, this function always returns 0.</p>
243 <dl class="params"><dt>Parameters</dt><dd>
244 <table class="params">
245 <tr><td class="paramname">device</td><td>The device to configure</td></tr>
246 </table>
247 </dd>
248 </dl>
249 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a> if tapping is currently enabled, or <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a> is currently disabled</dd></dl>
250 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1" title="Check if the device supports tap-to-click. ">libinput_device_config_tap_get_finger_count</a> </dd>
251 <dd>
252 <a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56" title="Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...">libinput_device_config_tap_set_enabled</a> </dd>
253 <dd>
254 <a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be" title="Return the default setting for whether tapping is enabled on this device. ">libinput_device_config_tap_get_default_enabled</a> </dd></dl>
255
256 </div>
257 </div>
258 <a class="anchor" id="ga13973d6bd75a99708723e3c6684517c1"></a>
259 <div class="memitem">
260 <div class="memproto">
261 <table class="memname">
262 <tr>
263 <td class="memname">int libinput_device_config_tap_get_finger_count </td>
264 <td>(</td>
265 <td class="paramtype">struct libinput_device *&#160;</td>
266 <td class="paramname"><em>device</em></td><td>)</td>
267 <td></td>
268 </tr>
269 </table>
270 </div><div class="memdoc">
271
272 <p>Check if the device supports tap-to-click. </p>
273 <p>See <a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56" title="Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...">libinput_device_config_tap_set_enabled()</a> for more information.</p>
274 <dl class="params"><dt>Parameters</dt><dd>
275 <table class="params">
276 <tr><td class="paramname">device</td><td>The device to configure </td></tr>
277 </table>
278 </dd>
279 </dl>
280 <dl class="section return"><dt>Returns</dt><dd>The number of fingers that can generate a tap event, or 0 if the device does not support tapping.</dd></dl>
281 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56" title="Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...">libinput_device_config_tap_set_enabled</a> </dd>
282 <dd>
283 <a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07" title="Check if tap-to-click is enabled on this device. ">libinput_device_config_tap_get_enabled</a> </dd>
284 <dd>
285 libinput_device_config_tap_set_enabled_get_default </dd></dl>
286
287 </div>
288 </div>
289 <a class="anchor" id="ga3caf860883d4e2e42b7842599da03e56"></a>
290 <div class="memitem">
291 <div class="memproto">
292 <table class="memname">
293 <tr>
294 <td class="memname">enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> libinput_device_config_tap_set_enabled </td>
295 <td>(</td>
296 <td class="paramtype">struct libinput_device *&#160;</td>
297 <td class="paramname"><em>device</em>, </td>
298 </tr>
299 <tr>
300 <td class="paramkey"></td>
301 <td></td>
302 <td class="paramtype">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a>&#160;</td>
303 <td class="paramname"><em>enable</em>&#160;</td>
304 </tr>
305 <tr>
306 <td></td>
307 <td>)</td>
308 <td></td><td></td>
309 </tr>
310 </table>
311 </div><div class="memdoc">
312
313 <p>Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping to left, right, middle click, respectively. </p>
314 <p>Tapping is limited by the number of simultaneous touches supported by the device, see <a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1" title="Check if the device supports tap-to-click. ">libinput_device_config_tap_get_finger_count()</a>.</p>
315 <dl class="params"><dt>Parameters</dt><dd>
316 <table class="params">
317 <tr><td class="paramname">device</td><td>The device to configure </td></tr>
318 <tr><td class="paramname">enable</td><td><a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a> to enable tapping or <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a> to disable tapping</td></tr>
319 </table>
320 </dd>
321 </dl>
322 <dl class="section return"><dt>Returns</dt><dd>A config status code. Disabling tapping on a device that does not support tapping always succeeds.</dd></dl>
323 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1" title="Check if the device supports tap-to-click. ">libinput_device_config_tap_get_finger_count</a> </dd>
324 <dd>
325 <a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07" title="Check if tap-to-click is enabled on this device. ">libinput_device_config_tap_get_enabled</a> </dd>
326 <dd>
327 <a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be" title="Return the default setting for whether tapping is enabled on this device. ">libinput_device_config_tap_get_default_enabled</a> </dd></dl>
328
329 </div>
330 </div>
331 </div><!-- contents -->
332 <!-- start footer part -->
333 <hr class="footer"/><address class="footer"><small>
334 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
335 <img class="footer" src="doxygen.png" alt="doxygen"/>
336 </a> 1.8.5
337 </small></address>
338 </body>
339 </html>
+0
-735
doc/html/group__device.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Initialization and manipulation of input devices</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#enum-members">Enumerations</a> &#124;
81 <a href="#func-members">Functions</a> </div>
82 <div class="headertitle">
83 <div class="title">Initialization and manipulation of input devices</div> </div>
84 </div><!--header-->
85 <div class="contents">
86 <table class="memberdecls">
87 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
88 Enumerations</h2></td></tr>
89 <tr class="memitem:ga3110cdddce94a1df0b8a3306909c8f15"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> { <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">LIBINPUT_DEVICE_CAP_KEYBOARD</a>,
90 <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">LIBINPUT_DEVICE_CAP_POINTER</a>,
91 <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">LIBINPUT_DEVICE_CAP_TOUCH</a>
92 }</td></tr>
93 <tr class="memdesc:ga3110cdddce94a1df0b8a3306909c8f15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capabilities on a device. <a href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">More...</a><br/></td></tr>
94 <tr class="separator:ga3110cdddce94a1df0b8a3306909c8f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 <tr class="memitem:ga360bdea89a75606472a0b5d72678bd17"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a> { <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">LIBINPUT_KEY_STATE_RELEASED</a>,
96 <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">LIBINPUT_KEY_STATE_PRESSED</a>
97 }</td></tr>
98 <tr class="memdesc:ga360bdea89a75606472a0b5d72678bd17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical state of a key. <a href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">More...</a><br/></td></tr>
99 <tr class="separator:ga360bdea89a75606472a0b5d72678bd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:ga37ec9afaec2e5407e3c5248faedd1970"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> { <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">LIBINPUT_LED_NUM_LOCK</a>,
101 <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">LIBINPUT_LED_CAPS_LOCK</a>,
102 <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">LIBINPUT_LED_SCROLL_LOCK</a>
103 }</td></tr>
104 <tr class="memdesc:ga37ec9afaec2e5407e3c5248faedd1970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask reflecting LEDs on a device. <a href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">More...</a><br/></td></tr>
105 <tr class="separator:ga37ec9afaec2e5407e3c5248faedd1970"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a> { <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">LIBINPUT_BUTTON_STATE_RELEASED</a>,
107 <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">LIBINPUT_BUTTON_STATE_PRESSED</a>
108 }</td></tr>
109 <tr class="memdesc:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical state of a physical button. <a href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">More...</a><br/></td></tr>
110 <tr class="separator:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 <tr class="memitem:ga82cd15b9476a4a60f25470df8d67483c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a> { <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL</a>,
112 <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL</a>
113 }</td></tr>
114 <tr class="memdesc:ga82cd15b9476a4a60f25470df8d67483c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Axes on a device that are not x or y coordinates. <a href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">More...</a><br/></td></tr>
115 <tr class="separator:ga82cd15b9476a4a60f25470df8d67483c"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 </table><table class="memberdecls">
117 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
118 Functions</h2></td></tr>
119 <tr class="memitem:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput_device_ref</a> (struct libinput_device *device)</td></tr>
120 <tr class="memdesc:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the refcount of the input device. <a href="#ga3335d55a50f0c2fb0c5f496a3105d467">More...</a><br/></td></tr>
121 <tr class="separator:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:ga857340e2dab06c7f7d84173a5a1fa427"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput_device_unref</a> (struct libinput_device *device)</td></tr>
123 <tr class="memdesc:ga857340e2dab06c7f7d84173a5a1fa427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease the refcount of the input device. <a href="#ga857340e2dab06c7f7d84173a5a1fa427">More...</a><br/></td></tr>
124 <tr class="separator:ga857340e2dab06c7f7d84173a5a1fa427"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 <tr class="memitem:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput_device_set_user_data</a> (struct libinput_device *device, void *user_data)</td></tr>
126 <tr class="memdesc:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this input device. <a href="#ga6243ad6005b2ce2a5ecfd1b04787fe93">More...</a><br/></td></tr>
127 <tr class="separator:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 <tr class="memitem:gaf5c902f56206a5d441e50c3a95ec458b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput_device_get_user_data</a> (struct libinput_device *device)</td></tr>
129 <tr class="memdesc:gaf5c902f56206a5d441e50c3a95ec458b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this input device, if any. <a href="#gaf5c902f56206a5d441e50c3a95ec458b">More...</a><br/></td></tr>
130 <tr class="separator:gaf5c902f56206a5d441e50c3a95ec458b"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput_device_get_sysname</a> (struct libinput_device *device)</td></tr>
132 <tr class="memdesc:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the system name of the device. <a href="#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">More...</a><br/></td></tr>
133 <tr class="separator:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:ga31655d2c2f173d059b3f891801c0a429"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput_device_get_name</a> (struct libinput_device *device)</td></tr>
135 <tr class="memdesc:ga31655d2c2f173d059b3f891801c0a429"><td class="mdescLeft">&#160;</td><td class="mdescRight">The descriptive device name as advertised by the kernel and/or the hardware itself. <a href="#ga31655d2c2f173d059b3f891801c0a429">More...</a><br/></td></tr>
136 <tr class="separator:ga31655d2c2f173d059b3f891801c0a429"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:gae011910b4a673f1293a20a84be4e52e2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput_device_get_id_product</a> (struct libinput_device *device)</td></tr>
138 <tr class="memdesc:gae011910b4a673f1293a20a84be4e52e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the product ID for this device. <a href="#gae011910b4a673f1293a20a84be4e52e2">More...</a><br/></td></tr>
139 <tr class="separator:gae011910b4a673f1293a20a84be4e52e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:gad9e4c074b03da790de5e117c71ce8d50"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput_device_get_id_vendor</a> (struct libinput_device *device)</td></tr>
141 <tr class="memdesc:gad9e4c074b03da790de5e117c71ce8d50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the vendor ID for this device. <a href="#gad9e4c074b03da790de5e117c71ce8d50">More...</a><br/></td></tr>
142 <tr class="separator:gad9e4c074b03da790de5e117c71ce8d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 <tr class="memitem:gaf48626f6190e9c9bc14abb704e66cc22"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput_device_get_output_name</a> (struct libinput_device *device)</td></tr>
144 <tr class="memdesc:gaf48626f6190e9c9bc14abb704e66cc22"><td class="mdescLeft">&#160;</td><td class="mdescRight">A device may be mapped to a single output, or all available outputs. <a href="#gaf48626f6190e9c9bc14abb704e66cc22">More...</a><br/></td></tr>
145 <tr class="separator:gaf48626f6190e9c9bc14abb704e66cc22"><td class="memSeparator" colspan="2">&#160;</td></tr>
146 <tr class="memitem:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput_device_get_seat</a> (struct libinput_device *device)</td></tr>
147 <tr class="memdesc:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the seat associated with this input device. <a href="#ga27823edb40750992a1a05e7a9f5dc8f0">More...</a><br/></td></tr>
148 <tr class="separator:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 <tr class="memitem:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput_device_led_update</a> (struct libinput_device *device, enum <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> leds)</td></tr>
150 <tr class="memdesc:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the LEDs on the device, if any. <a href="#gafdb3ddfb91e6bd38b6356a5bb51547ad">More...</a><br/></td></tr>
151 <tr class="separator:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
152 <tr class="memitem:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput_device_get_keys</a> (struct libinput_device *device, char *keys, size_t size)</td></tr>
153 <tr class="memdesc:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the bitmask in keys to the bitmask of the keys present on the device (see linux/input.h), up to size characters. <a href="#ga4cfc6fad3e3fb3e13498575f580b0184">More...</a><br/></td></tr>
154 <tr class="separator:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput_device_calibrate</a> (struct libinput_device *device, float calibration[6])</td></tr>
156 <tr class="memdesc:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the 3x3 transformation matrix to absolute device coordinates. <a href="#ga3f2fd86e275a67fb192f89034ff5ee48">More...</a><br/></td></tr>
157 <tr class="separator:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <tr class="memitem:gaa32d887454e8baf8aaeeb635329aef89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput_device_has_capability</a> (struct libinput_device *device, enum <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> capability)</td></tr>
159 <tr class="memdesc:gaa32d887454e8baf8aaeeb635329aef89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given device has the specified capability. <a href="#gaa32d887454e8baf8aaeeb635329aef89">More...</a><br/></td></tr>
160 <tr class="separator:gaa32d887454e8baf8aaeeb635329aef89"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:gab91ae9014902fafe4f015e1f42233d27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput_device_get_size</a> (struct libinput_device *device, double *width, double *height)</td></tr>
162 <tr class="memdesc:gab91ae9014902fafe4f015e1f42233d27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the physical size of a device in mm, where meaningful. <a href="#gab91ae9014902fafe4f015e1f42233d27">More...</a><br/></td></tr>
163 <tr class="separator:gab91ae9014902fafe4f015e1f42233d27"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 </table>
165 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
166 <h2 class="groupheader">Enumeration Type Documentation</h2>
167 <a class="anchor" id="ga543a8bb3f2d7421f76e63bb4ee2fb5bf"></a>
168 <div class="memitem">
169 <div class="memproto">
170 <table class="memname">
171 <tr>
172 <td class="memname">enum <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a></td>
173 </tr>
174 </table>
175 </div><div class="memdoc">
176
177 <p>Logical state of a physical button. </p>
178 <p>Note that the logical state may not represent the physical state of the button. </p>
179 <table class="fieldtable">
180 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b"></a>LIBINPUT_BUTTON_STATE_RELEASED</em>&nbsp;</td><td class="fielddoc">
181 </td></tr>
182 <tr><td class="fieldname"><em><a class="anchor" id="gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4"></a>LIBINPUT_BUTTON_STATE_PRESSED</em>&nbsp;</td><td class="fielddoc">
183 </td></tr>
184 </table>
185
186 </div>
187 </div>
188 <a class="anchor" id="ga3110cdddce94a1df0b8a3306909c8f15"></a>
189 <div class="memitem">
190 <div class="memproto">
191 <table class="memname">
192 <tr>
193 <td class="memname">enum <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a></td>
194 </tr>
195 </table>
196 </div><div class="memdoc">
197
198 <p>Capabilities on a device. </p>
199 <p>A device may have one or more capabilities at a time, and capabilities may appear or disappear during the lifetime of the device. </p>
200 <table class="fieldtable">
201 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b"></a>LIBINPUT_DEVICE_CAP_KEYBOARD</em>&nbsp;</td><td class="fielddoc">
202 </td></tr>
203 <tr><td class="fieldname"><em><a class="anchor" id="gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f"></a>LIBINPUT_DEVICE_CAP_POINTER</em>&nbsp;</td><td class="fielddoc">
204 </td></tr>
205 <tr><td class="fieldname"><em><a class="anchor" id="gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa"></a>LIBINPUT_DEVICE_CAP_TOUCH</em>&nbsp;</td><td class="fielddoc">
206 </td></tr>
207 </table>
208
209 </div>
210 </div>
211 <a class="anchor" id="ga360bdea89a75606472a0b5d72678bd17"></a>
212 <div class="memitem">
213 <div class="memproto">
214 <table class="memname">
215 <tr>
216 <td class="memname">enum <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a></td>
217 </tr>
218 </table>
219 </div><div class="memdoc">
220
221 <p>Logical state of a key. </p>
222 <p>Note that the logical state may not represent the physical state of the key. </p>
223 <table class="fieldtable">
224 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c"></a>LIBINPUT_KEY_STATE_RELEASED</em>&nbsp;</td><td class="fielddoc">
225 </td></tr>
226 <tr><td class="fieldname"><em><a class="anchor" id="gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e"></a>LIBINPUT_KEY_STATE_PRESSED</em>&nbsp;</td><td class="fielddoc">
227 </td></tr>
228 </table>
229
230 </div>
231 </div>
232 <a class="anchor" id="ga37ec9afaec2e5407e3c5248faedd1970"></a>
233 <div class="memitem">
234 <div class="memproto">
235 <table class="memname">
236 <tr>
237 <td class="memname">enum <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a></td>
238 </tr>
239 </table>
240 </div><div class="memdoc">
241
242 <p>Mask reflecting LEDs on a device. </p>
243 <table class="fieldtable">
244 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a"></a>LIBINPUT_LED_NUM_LOCK</em>&nbsp;</td><td class="fielddoc">
245 </td></tr>
246 <tr><td class="fieldname"><em><a class="anchor" id="gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe"></a>LIBINPUT_LED_CAPS_LOCK</em>&nbsp;</td><td class="fielddoc">
247 </td></tr>
248 <tr><td class="fieldname"><em><a class="anchor" id="gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd"></a>LIBINPUT_LED_SCROLL_LOCK</em>&nbsp;</td><td class="fielddoc">
249 </td></tr>
250 </table>
251
252 </div>
253 </div>
254 <a class="anchor" id="ga82cd15b9476a4a60f25470df8d67483c"></a>
255 <div class="memitem">
256 <div class="memproto">
257 <table class="memname">
258 <tr>
259 <td class="memname">enum <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a></td>
260 </tr>
261 </table>
262 </div><div class="memdoc">
263
264 <p>Axes on a device that are not x or y coordinates. </p>
265 <table class="fieldtable">
266 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5"></a>LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL</em>&nbsp;</td><td class="fielddoc">
267 </td></tr>
268 <tr><td class="fieldname"><em><a class="anchor" id="gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852"></a>LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL</em>&nbsp;</td><td class="fielddoc">
269 </td></tr>
270 </table>
271
272 </div>
273 </div>
274 <h2 class="groupheader">Function Documentation</h2>
275 <a class="anchor" id="ga3f2fd86e275a67fb192f89034ff5ee48"></a>
276 <div class="memitem">
277 <div class="memproto">
278 <table class="memname">
279 <tr>
280 <td class="memname">void libinput_device_calibrate </td>
281 <td>(</td>
282 <td class="paramtype">struct libinput_device *&#160;</td>
283 <td class="paramname"><em>device</em>, </td>
284 </tr>
285 <tr>
286 <td class="paramkey"></td>
287 <td></td>
288 <td class="paramtype">float&#160;</td>
289 <td class="paramname"><em>calibration</em>[6]&#160;</td>
290 </tr>
291 <tr>
292 <td></td>
293 <td>)</td>
294 <td></td><td></td>
295 </tr>
296 </table>
297 </div><div class="memdoc">
298
299 <p>Apply the 3x3 transformation matrix to absolute device coordinates. </p>
300 <p>This matrix has no effect on relative events.</p>
301 <p>Given a 6-element array [a, b, c, d, e, f], the matrix is applied as </p>
302 <div class="fragment"><div class="line">* [ a b c ] [ x ]</div>
303 <div class="line">* [ d e f ] * [ y ]</div>
304 <div class="line">* [ 0 0 1 ] [ 1 ]</div>
305 <div class="line">* </div>
306 </div><!-- fragment -->
307 </div>
308 </div>
309 <a class="anchor" id="gae011910b4a673f1293a20a84be4e52e2"></a>
310 <div class="memitem">
311 <div class="memproto">
312 <table class="memname">
313 <tr>
314 <td class="memname">unsigned int libinput_device_get_id_product </td>
315 <td>(</td>
316 <td class="paramtype">struct libinput_device *&#160;</td>
317 <td class="paramname"><em>device</em></td><td>)</td>
318 <td></td>
319 </tr>
320 </table>
321 </div><div class="memdoc">
322
323 <p>Get the product ID for this device. </p>
324 <dl class="params"><dt>Parameters</dt><dd>
325 <table class="params">
326 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
327 </table>
328 </dd>
329 </dl>
330 <dl class="section return"><dt>Returns</dt><dd>The product ID of this device </dd></dl>
331
332 </div>
333 </div>
334 <a class="anchor" id="gad9e4c074b03da790de5e117c71ce8d50"></a>
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
338 <tr>
339 <td class="memname">unsigned int libinput_device_get_id_vendor </td>
340 <td>(</td>
341 <td class="paramtype">struct libinput_device *&#160;</td>
342 <td class="paramname"><em>device</em></td><td>)</td>
343 <td></td>
344 </tr>
345 </table>
346 </div><div class="memdoc">
347
348 <p>Get the vendor ID for this device. </p>
349 <dl class="params"><dt>Parameters</dt><dd>
350 <table class="params">
351 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
352 </table>
353 </dd>
354 </dl>
355 <dl class="section return"><dt>Returns</dt><dd>The vendor ID of this device </dd></dl>
356
357 </div>
358 </div>
359 <a class="anchor" id="ga4cfc6fad3e3fb3e13498575f580b0184"></a>
360 <div class="memitem">
361 <div class="memproto">
362 <table class="memname">
363 <tr>
364 <td class="memname">int libinput_device_get_keys </td>
365 <td>(</td>
366 <td class="paramtype">struct libinput_device *&#160;</td>
367 <td class="paramname"><em>device</em>, </td>
368 </tr>
369 <tr>
370 <td class="paramkey"></td>
371 <td></td>
372 <td class="paramtype">char *&#160;</td>
373 <td class="paramname"><em>keys</em>, </td>
374 </tr>
375 <tr>
376 <td class="paramkey"></td>
377 <td></td>
378 <td class="paramtype">size_t&#160;</td>
379 <td class="paramname"><em>size</em>&#160;</td>
380 </tr>
381 <tr>
382 <td></td>
383 <td>)</td>
384 <td></td><td></td>
385 </tr>
386 </table>
387 </div><div class="memdoc">
388
389 <p>Set the bitmask in keys to the bitmask of the keys present on the device (see linux/input.h), up to size characters. </p>
390 <dl class="params"><dt>Parameters</dt><dd>
391 <table class="params">
392 <tr><td class="paramname">device</td><td>A current input device </td></tr>
393 <tr><td class="paramname">keys</td><td>An array filled with the bitmask for the keys </td></tr>
394 <tr><td class="paramname">size</td><td>Size of the keys array</td></tr>
395 </table>
396 </dd>
397 </dl>
398 <dl class="section return"><dt>Returns</dt><dd>The number of valid bytes in keys, or a negative errno on failure </dd></dl>
399
400 </div>
401 </div>
402 <a class="anchor" id="ga31655d2c2f173d059b3f891801c0a429"></a>
403 <div class="memitem">
404 <div class="memproto">
405 <table class="memname">
406 <tr>
407 <td class="memname">const char* libinput_device_get_name </td>
408 <td>(</td>
409 <td class="paramtype">struct libinput_device *&#160;</td>
410 <td class="paramname"><em>device</em></td><td>)</td>
411 <td></td>
412 </tr>
413 </table>
414 </div><div class="memdoc">
415
416 <p>The descriptive device name as advertised by the kernel and/or the hardware itself. </p>
417 <p>To get the sysname for this device, use <a class="el" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6" title="Get the system name of the device. ">libinput_device_get_sysname()</a>.</p>
418 <p>The lifetime of the returned string is tied to the struct libinput_device. The string may be the empty string but is never NULL.</p>
419 <dl class="params"><dt>Parameters</dt><dd>
420 <table class="params">
421 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
422 </table>
423 </dd>
424 </dl>
425 <dl class="section return"><dt>Returns</dt><dd>The device name </dd></dl>
426
427 </div>
428 </div>
429 <a class="anchor" id="gaf48626f6190e9c9bc14abb704e66cc22"></a>
430 <div class="memitem">
431 <div class="memproto">
432 <table class="memname">
433 <tr>
434 <td class="memname">const char* libinput_device_get_output_name </td>
435 <td>(</td>
436 <td class="paramtype">struct libinput_device *&#160;</td>
437 <td class="paramname"><em>device</em></td><td>)</td>
438 <td></td>
439 </tr>
440 </table>
441 </div><div class="memdoc">
442
443 <p>A device may be mapped to a single output, or all available outputs. </p>
444 <p>If a device is mapped to a single output only, a relative device may not move beyond the boundaries of this output. An absolute device has its input coordinates mapped to the extents of this output.</p>
445 <dl class="section return"><dt>Returns</dt><dd>the name of the output this device is mapped to, or NULL if no output is set </dd></dl>
446
447 </div>
448 </div>
449 <a class="anchor" id="ga27823edb40750992a1a05e7a9f5dc8f0"></a>
450 <div class="memitem">
451 <div class="memproto">
452 <table class="memname">
453 <tr>
454 <td class="memname">struct libinput_seat* libinput_device_get_seat </td>
455 <td>(</td>
456 <td class="paramtype">struct libinput_device *&#160;</td>
457 <td class="paramname"><em>device</em></td><td>)</td>
458 <td></td>
459 </tr>
460 </table>
461 </div><div class="memdoc">
462
463 <p>Get the seat associated with this input device. </p>
464 <p>A seat can be uniquely identified by the physical and logical seat name. There will ever be only one seat instance with a given physical and logical seat name pair at any given time, but if no external reference is kept, it may be destroyed if no device belonging to it is left.</p>
465 <dl class="params"><dt>Parameters</dt><dd>
466 <table class="params">
467 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
468 </table>
469 </dd>
470 </dl>
471 <dl class="section return"><dt>Returns</dt><dd>The seat this input device belongs to </dd></dl>
472
473 </div>
474 </div>
475 <a class="anchor" id="gab91ae9014902fafe4f015e1f42233d27"></a>
476 <div class="memitem">
477 <div class="memproto">
478 <table class="memname">
479 <tr>
480 <td class="memname">int libinput_device_get_size </td>
481 <td>(</td>
482 <td class="paramtype">struct libinput_device *&#160;</td>
483 <td class="paramname"><em>device</em>, </td>
484 </tr>
485 <tr>
486 <td class="paramkey"></td>
487 <td></td>
488 <td class="paramtype">double *&#160;</td>
489 <td class="paramname"><em>width</em>, </td>
490 </tr>
491 <tr>
492 <td class="paramkey"></td>
493 <td></td>
494 <td class="paramtype">double *&#160;</td>
495 <td class="paramname"><em>height</em>&#160;</td>
496 </tr>
497 <tr>
498 <td></td>
499 <td>)</td>
500 <td></td><td></td>
501 </tr>
502 </table>
503 </div><div class="memdoc">
504
505 <p>Get the physical size of a device in mm, where meaningful. </p>
506 <p>This function only succeeds on devices with the required data, i.e. tablets, touchpads and touchscreens.</p>
507 <p>If this function returns nonzero, width and height are unmodified.</p>
508 <dl class="params"><dt>Parameters</dt><dd>
509 <table class="params">
510 <tr><td class="paramname">device</td><td>The device </td></tr>
511 <tr><td class="paramname">width</td><td>Set to the width of the device </td></tr>
512 <tr><td class="paramname">height</td><td>Set to the height of the device </td></tr>
513 </table>
514 </dd>
515 </dl>
516 <dl class="section return"><dt>Returns</dt><dd>0 on success, or nonzero otherwise </dd></dl>
517
518 </div>
519 </div>
520 <a class="anchor" id="ga106bbe58e6c3a6d1327c9bcbbf2a03f6"></a>
521 <div class="memitem">
522 <div class="memproto">
523 <table class="memname">
524 <tr>
525 <td class="memname">const char* libinput_device_get_sysname </td>
526 <td>(</td>
527 <td class="paramtype">struct libinput_device *&#160;</td>
528 <td class="paramname"><em>device</em></td><td>)</td>
529 <td></td>
530 </tr>
531 </table>
532 </div><div class="memdoc">
533
534 <p>Get the system name of the device. </p>
535 <p>To get the descriptive device name, use <a class="el" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429" title="The descriptive device name as advertised by the kernel and/or the hardware itself. ">libinput_device_get_name()</a>.</p>
536 <dl class="params"><dt>Parameters</dt><dd>
537 <table class="params">
538 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
539 </table>
540 </dd>
541 </dl>
542 <dl class="section return"><dt>Returns</dt><dd>System name of the device </dd></dl>
543
544 </div>
545 </div>
546 <a class="anchor" id="gaf5c902f56206a5d441e50c3a95ec458b"></a>
547 <div class="memitem">
548 <div class="memproto">
549 <table class="memname">
550 <tr>
551 <td class="memname">void* libinput_device_get_user_data </td>
552 <td>(</td>
553 <td class="paramtype">struct libinput_device *&#160;</td>
554 <td class="paramname"><em>device</em></td><td>)</td>
555 <td></td>
556 </tr>
557 </table>
558 </div><div class="memdoc">
559
560 <p>Get the caller-specific data associated with this input device, if any. </p>
561 <dl class="params"><dt>Parameters</dt><dd>
562 <table class="params">
563 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
564 </table>
565 </dd>
566 </dl>
567 <dl class="section return"><dt>Returns</dt><dd>Caller-specific data pointer or NULL if none was set </dd></dl>
568 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93" title="Set caller-specific data associated with this input device. ">libinput_device_set_user_data</a> </dd></dl>
569
570 </div>
571 </div>
572 <a class="anchor" id="gaa32d887454e8baf8aaeeb635329aef89"></a>
573 <div class="memitem">
574 <div class="memproto">
575 <table class="memname">
576 <tr>
577 <td class="memname">int libinput_device_has_capability </td>
578 <td>(</td>
579 <td class="paramtype">struct libinput_device *&#160;</td>
580 <td class="paramname"><em>device</em>, </td>
581 </tr>
582 <tr>
583 <td class="paramkey"></td>
584 <td></td>
585 <td class="paramtype">enum <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a>&#160;</td>
586 <td class="paramname"><em>capability</em>&#160;</td>
587 </tr>
588 <tr>
589 <td></td>
590 <td>)</td>
591 <td></td><td></td>
592 </tr>
593 </table>
594 </div><div class="memdoc">
595
596 <p>Check if the given device has the specified capability. </p>
597 <dl class="section return"><dt>Returns</dt><dd>1 if the given device has the capability or 0 if not </dd></dl>
598
599 </div>
600 </div>
601 <a class="anchor" id="gafdb3ddfb91e6bd38b6356a5bb51547ad"></a>
602 <div class="memitem">
603 <div class="memproto">
604 <table class="memname">
605 <tr>
606 <td class="memname">void libinput_device_led_update </td>
607 <td>(</td>
608 <td class="paramtype">struct libinput_device *&#160;</td>
609 <td class="paramname"><em>device</em>, </td>
610 </tr>
611 <tr>
612 <td class="paramkey"></td>
613 <td></td>
614 <td class="paramtype">enum <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a>&#160;</td>
615 <td class="paramname"><em>leds</em>&#160;</td>
616 </tr>
617 <tr>
618 <td></td>
619 <td>)</td>
620 <td></td><td></td>
621 </tr>
622 </table>
623 </div><div class="memdoc">
624
625 <p>Update the LEDs on the device, if any. </p>
626 <p>If the device does not have LEDs, or does not have one or more of the LEDs given in the mask, this function does nothing.</p>
627 <dl class="params"><dt>Parameters</dt><dd>
628 <table class="params">
629 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
630 <tr><td class="paramname">leds</td><td>A mask of the LEDs to set, or unset. </td></tr>
631 </table>
632 </dd>
633 </dl>
634
635 </div>
636 </div>
637 <a class="anchor" id="ga3335d55a50f0c2fb0c5f496a3105d467"></a>
638 <div class="memitem">
639 <div class="memproto">
640 <table class="memname">
641 <tr>
642 <td class="memname">struct libinput_device* libinput_device_ref </td>
643 <td>(</td>
644 <td class="paramtype">struct libinput_device *&#160;</td>
645 <td class="paramname"><em>device</em></td><td>)</td>
646 <td></td>
647 </tr>
648 </table>
649 </div><div class="memdoc">
650
651 <p>Increase the refcount of the input device. </p>
652 <p>An input device will be freed whenever the refcount reaches 0. This may happen during dispatch if the device was removed from the system. A caller must ensure to reference the device correctly to avoid dangling pointers.</p>
653 <dl class="params"><dt>Parameters</dt><dd>
654 <table class="params">
655 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
656 </table>
657 </dd>
658 </dl>
659 <dl class="section return"><dt>Returns</dt><dd>The passed device </dd></dl>
660
661 </div>
662 </div>
663 <a class="anchor" id="ga6243ad6005b2ce2a5ecfd1b04787fe93"></a>
664 <div class="memitem">
665 <div class="memproto">
666 <table class="memname">
667 <tr>
668 <td class="memname">void libinput_device_set_user_data </td>
669 <td>(</td>
670 <td class="paramtype">struct libinput_device *&#160;</td>
671 <td class="paramname"><em>device</em>, </td>
672 </tr>
673 <tr>
674 <td class="paramkey"></td>
675 <td></td>
676 <td class="paramtype">void *&#160;</td>
677 <td class="paramname"><em>user_data</em>&#160;</td>
678 </tr>
679 <tr>
680 <td></td>
681 <td>)</td>
682 <td></td><td></td>
683 </tr>
684 </table>
685 </div><div class="memdoc">
686
687 <p>Set caller-specific data associated with this input device. </p>
688 <p>libinput does not manage, look at, or modify this data. The caller must ensure the data is valid.</p>
689 <dl class="params"><dt>Parameters</dt><dd>
690 <table class="params">
691 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
692 <tr><td class="paramname">user_data</td><td>Caller-specific data pointer </td></tr>
693 </table>
694 </dd>
695 </dl>
696 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b" title="Get the caller-specific data associated with this input device, if any. ">libinput_device_get_user_data</a> </dd></dl>
697
698 </div>
699 </div>
700 <a class="anchor" id="ga857340e2dab06c7f7d84173a5a1fa427"></a>
701 <div class="memitem">
702 <div class="memproto">
703 <table class="memname">
704 <tr>
705 <td class="memname">struct libinput_device* libinput_device_unref </td>
706 <td>(</td>
707 <td class="paramtype">struct libinput_device *&#160;</td>
708 <td class="paramname"><em>device</em></td><td>)</td>
709 <td></td>
710 </tr>
711 </table>
712 </div><div class="memdoc">
713
714 <p>Decrease the refcount of the input device. </p>
715 <p>An input device will be freed whenever the refcount reaches 0. This may happen during dispatch if the device was removed from the system. A caller must ensure to reference the device correctly to avoid dangling pointers.</p>
716 <dl class="params"><dt>Parameters</dt><dd>
717 <table class="params">
718 <tr><td class="paramname">device</td><td>A previously obtained device </td></tr>
719 </table>
720 </dd>
721 </dl>
722 <dl class="section return"><dt>Returns</dt><dd>NULL if device was destroyed, otherwise the passed device </dd></dl>
723
724 </div>
725 </div>
726 </div><!-- contents -->
727 <!-- start footer part -->
728 <hr class="footer"/><address class="footer"><small>
729 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
730 <img class="footer" src="doxygen.png" alt="doxygen"/>
731 </a> 1.8.5
732 </small></address>
733 </body>
734 </html>
+0
-322
doc/html/group__event.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Accessing and destruction of events</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#func-members">Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">Accessing and destruction of events</div> </div>
83 </div><!--header-->
84 <div class="contents">
85 <table class="memberdecls">
86 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
87 Functions</h2></td></tr>
88 <tr class="memitem:ga1df956c16e26cbbd911e553ec081022a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput_event_destroy</a> (struct libinput_event *event)</td></tr>
89 <tr class="memdesc:ga1df956c16e26cbbd911e553ec081022a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the event. <a href="#ga1df956c16e26cbbd911e553ec081022a">More...</a><br/></td></tr>
90 <tr class="separator:ga1df956c16e26cbbd911e553ec081022a"><td class="memSeparator" colspan="2">&#160;</td></tr>
91 <tr class="memitem:ga430a3a7369afd6c5ff722179327df79a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput_event_get_type</a> (struct libinput_event *event)</td></tr>
92 <tr class="memdesc:ga430a3a7369afd6c5ff722179327df79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the event. <a href="#ga430a3a7369afd6c5ff722179327df79a">More...</a><br/></td></tr>
93 <tr class="separator:ga430a3a7369afd6c5ff722179327df79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 <tr class="memitem:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput_event_get_context</a> (struct libinput_event *event)</td></tr>
95 <tr class="memdesc:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the libinput context from the event. <a href="#ga28557ae0295f61c45f9b6e4ff7f86632">More...</a><br/></td></tr>
96 <tr class="separator:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 <tr class="memitem:ga8a49a089181960f7536344f7637ea777"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput_event_get_device</a> (struct libinput_event *event)</td></tr>
98 <tr class="memdesc:ga8a49a089181960f7536344f7637ea777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the device associated with this event, if applicable. <a href="#ga8a49a089181960f7536344f7637ea777">More...</a><br/></td></tr>
99 <tr class="separator:ga8a49a089181960f7536344f7637ea777"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:ga52acdc3afcf75efeb8153f50eef20615"><td class="memItemLeft" align="right" valign="top">struct libinput_event_pointer *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput_event_get_pointer_event</a> (struct libinput_event *event)</td></tr>
101 <tr class="memdesc:ga52acdc3afcf75efeb8153f50eef20615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pointer event that is this input event. <a href="#ga52acdc3afcf75efeb8153f50eef20615">More...</a><br/></td></tr>
102 <tr class="separator:ga52acdc3afcf75efeb8153f50eef20615"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 <tr class="memitem:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="memItemLeft" align="right" valign="top">struct libinput_event_keyboard *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput_event_get_keyboard_event</a> (struct libinput_event *event)</td></tr>
104 <tr class="memdesc:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the keyboard event that is this input event. <a href="#ga8378f8fdd01e8afbcea8ddbb5411570d">More...</a><br/></td></tr>
105 <tr class="separator:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:gad2cba8252024bdcc341499bedd3d0be7"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput_event_get_touch_event</a> (struct libinput_event *event)</td></tr>
107 <tr class="memdesc:gad2cba8252024bdcc341499bedd3d0be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the touch event that is this input event. <a href="#gad2cba8252024bdcc341499bedd3d0be7">More...</a><br/></td></tr>
108 <tr class="separator:gad2cba8252024bdcc341499bedd3d0be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
109 <tr class="memitem:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/>
110 libinput_event_device_notify *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput_event_get_device_notify_event</a> (struct libinput_event *event)</td></tr>
111 <tr class="memdesc:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the device event that is this input event. <a href="#ga2bbc1391a3397d57d37ae3e2f8175abc">More...</a><br/></td></tr>
112 <tr class="separator:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
113 <tr class="memitem:ga19d329b7685c3a994718cec3845db1a0"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput_event_device_notify_get_base_event</a> (struct libinput_event_device_notify *event)</td></tr>
114 <tr class="separator:ga19d329b7685c3a994718cec3845db1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
115 </table>
116 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
117 <h2 class="groupheader">Function Documentation</h2>
118 <a class="anchor" id="ga1df956c16e26cbbd911e553ec081022a"></a>
119 <div class="memitem">
120 <div class="memproto">
121 <table class="memname">
122 <tr>
123 <td class="memname">void libinput_event_destroy </td>
124 <td>(</td>
125 <td class="paramtype">struct libinput_event *&#160;</td>
126 <td class="paramname"><em>event</em></td><td>)</td>
127 <td></td>
128 </tr>
129 </table>
130 </div><div class="memdoc">
131
132 <p>Destroy the event. </p>
133 <dl class="params"><dt>Parameters</dt><dd>
134 <table class="params">
135 <tr><td class="paramname">event</td><td>An event retrieved by <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a>. </td></tr>
136 </table>
137 </dd>
138 </dl>
139
140 </div>
141 </div>
142 <a class="anchor" id="ga19d329b7685c3a994718cec3845db1a0"></a>
143 <div class="memitem">
144 <div class="memproto">
145 <table class="memname">
146 <tr>
147 <td class="memname">struct libinput_event* libinput_event_device_notify_get_base_event </td>
148 <td>(</td>
149 <td class="paramtype">struct libinput_event_device_notify *&#160;</td>
150 <td class="paramname"><em>event</em></td><td>)</td>
151 <td></td>
152 </tr>
153 </table>
154 </div><div class="memdoc">
155 <dl class="section return"><dt>Returns</dt><dd>The generic libinput_event of this event </dd></dl>
156
157 </div>
158 </div>
159 <a class="anchor" id="ga28557ae0295f61c45f9b6e4ff7f86632"></a>
160 <div class="memitem">
161 <div class="memproto">
162 <table class="memname">
163 <tr>
164 <td class="memname">struct libinput* libinput_event_get_context </td>
165 <td>(</td>
166 <td class="paramtype">struct libinput_event *&#160;</td>
167 <td class="paramname"><em>event</em></td><td>)</td>
168 <td></td>
169 </tr>
170 </table>
171 </div><div class="memdoc">
172
173 <p>Get the libinput context from the event. </p>
174 <dl class="params"><dt>Parameters</dt><dd>
175 <table class="params">
176 <tr><td class="paramname">event</td><td>The libinput event </td></tr>
177 </table>
178 </dd>
179 </dl>
180 <dl class="section return"><dt>Returns</dt><dd>The libinput context for this event. </dd></dl>
181
182 </div>
183 </div>
184 <a class="anchor" id="ga8a49a089181960f7536344f7637ea777"></a>
185 <div class="memitem">
186 <div class="memproto">
187 <table class="memname">
188 <tr>
189 <td class="memname">struct libinput_device* libinput_event_get_device </td>
190 <td>(</td>
191 <td class="paramtype">struct libinput_event *&#160;</td>
192 <td class="paramname"><em>event</em></td><td>)</td>
193 <td></td>
194 </tr>
195 </table>
196 </div><div class="memdoc">
197
198 <p>Return the device associated with this event, if applicable. </p>
199 <p>For device added/removed events this is the device added or removed. For all other device events, this is the device that generated the event.</p>
200 <p>This device is not refcounted and its lifetime is that of the event. Use <a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467" title="Increase the refcount of the input device. ">libinput_device_ref()</a> before using the device outside of this scope.</p>
201 <dl class="section return"><dt>Returns</dt><dd>The device associated with this event </dd></dl>
202
203 </div>
204 </div>
205 <a class="anchor" id="ga2bbc1391a3397d57d37ae3e2f8175abc"></a>
206 <div class="memitem">
207 <div class="memproto">
208 <table class="memname">
209 <tr>
210 <td class="memname">struct libinput_event_device_notify* libinput_event_get_device_notify_event </td>
211 <td>(</td>
212 <td class="paramtype">struct libinput_event *&#160;</td>
213 <td class="paramname"><em>event</em></td><td>)</td>
214 <td></td>
215 </tr>
216 </table>
217 </div><div class="memdoc">
218
219 <p>Return the device event that is this input event. </p>
220 <p>If the event type does not match the device event types, this function returns NULL.</p>
221 <p>The inverse of this function is <a class="el" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput_event_device_notify_get_base_event()</a>.</p>
222 <dl class="section return"><dt>Returns</dt><dd>A device event, or NULL for other events </dd></dl>
223
224 </div>
225 </div>
226 <a class="anchor" id="ga8378f8fdd01e8afbcea8ddbb5411570d"></a>
227 <div class="memitem">
228 <div class="memproto">
229 <table class="memname">
230 <tr>
231 <td class="memname">struct libinput_event_keyboard* libinput_event_get_keyboard_event </td>
232 <td>(</td>
233 <td class="paramtype">struct libinput_event *&#160;</td>
234 <td class="paramname"><em>event</em></td><td>)</td>
235 <td></td>
236 </tr>
237 </table>
238 </div><div class="memdoc">
239
240 <p>Return the keyboard event that is this input event. </p>
241 <p>If the event type does not match the keyboard event types, this function returns NULL.</p>
242 <p>The inverse of this function is <a class="el" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput_event_keyboard_get_base_event()</a>.</p>
243 <dl class="section return"><dt>Returns</dt><dd>A keyboard event, or NULL for other events </dd></dl>
244
245 </div>
246 </div>
247 <a class="anchor" id="ga52acdc3afcf75efeb8153f50eef20615"></a>
248 <div class="memitem">
249 <div class="memproto">
250 <table class="memname">
251 <tr>
252 <td class="memname">struct libinput_event_pointer* libinput_event_get_pointer_event </td>
253 <td>(</td>
254 <td class="paramtype">struct libinput_event *&#160;</td>
255 <td class="paramname"><em>event</em></td><td>)</td>
256 <td></td>
257 </tr>
258 </table>
259 </div><div class="memdoc">
260
261 <p>Return the pointer event that is this input event. </p>
262 <p>If the event type does not match the pointer event types, this function returns NULL.</p>
263 <p>The inverse of this function is <a class="el" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput_event_pointer_get_base_event()</a>.</p>
264 <dl class="section return"><dt>Returns</dt><dd>A pointer event, or NULL for other events </dd></dl>
265
266 </div>
267 </div>
268 <a class="anchor" id="gad2cba8252024bdcc341499bedd3d0be7"></a>
269 <div class="memitem">
270 <div class="memproto">
271 <table class="memname">
272 <tr>
273 <td class="memname">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a>* libinput_event_get_touch_event </td>
274 <td>(</td>
275 <td class="paramtype">struct libinput_event *&#160;</td>
276 <td class="paramname"><em>event</em></td><td>)</td>
277 <td></td>
278 </tr>
279 </table>
280 </div><div class="memdoc">
281
282 <p>Return the touch event that is this input event. </p>
283 <p>If the event type does not match the touch event types, this function returns NULL.</p>
284 <p>The inverse of this function is <a class="el" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput_event_touch_get_base_event()</a>.</p>
285 <dl class="section return"><dt>Returns</dt><dd>A touch event, or NULL for other events </dd></dl>
286
287 </div>
288 </div>
289 <a class="anchor" id="ga430a3a7369afd6c5ff722179327df79a"></a>
290 <div class="memitem">
291 <div class="memproto">
292 <table class="memname">
293 <tr>
294 <td class="memname">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a> libinput_event_get_type </td>
295 <td>(</td>
296 <td class="paramtype">struct libinput_event *&#160;</td>
297 <td class="paramname"><em>event</em></td><td>)</td>
298 <td></td>
299 </tr>
300 </table>
301 </div><div class="memdoc">
302
303 <p>Get the type of the event. </p>
304 <dl class="params"><dt>Parameters</dt><dd>
305 <table class="params">
306 <tr><td class="paramname">event</td><td>An event retrieved by <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a>. </td></tr>
307 </table>
308 </dd>
309 </dl>
310
311 </div>
312 </div>
313 </div><!-- contents -->
314 <!-- start footer part -->
315 <hr class="footer"/><address class="footer"><small>
316 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
317 <img class="footer" src="doxygen.png" alt="doxygen"/>
318 </a> 1.8.5
319 </small></address>
320 </body>
321 </html>
+0
-204
doc/html/group__event__keyboard.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Keyboard events</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#func-members">Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">Keyboard events</div> </div>
83 </div><!--header-->
84 <div class="contents">
85
86 <p>Key events are generated when a key changes its logical state, usually by being pressed or released.
87 <a href="#details">More...</a></p>
88 <table class="memberdecls">
89 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
90 Functions</h2></td></tr>
91 <tr class="memitem:ga0f1a7bb1016816a277b52705d6ef2d71"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput_event_keyboard_get_time</a> (struct libinput_event_keyboard *event)</td></tr>
92 <tr class="separator:ga0f1a7bb1016816a277b52705d6ef2d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <tr class="memitem:gad29cc9f276d9468463d01f65ccf8deaf"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput_event_keyboard_get_key</a> (struct libinput_event_keyboard *event)</td></tr>
94 <tr class="separator:gad29cc9f276d9468463d01f65ccf8deaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 <tr class="memitem:gaf7b018edbc264ba81a2d475d42ebbd98"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput_event_keyboard_get_key_state</a> (struct libinput_event_keyboard *event)</td></tr>
96 <tr class="separator:gaf7b018edbc264ba81a2d475d42ebbd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 <tr class="memitem:gae5a3b7e12e7e8b213b3da92a13adb88d"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput_event_keyboard_get_base_event</a> (struct libinput_event_keyboard *event)</td></tr>
98 <tr class="separator:gae5a3b7e12e7e8b213b3da92a13adb88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
99 <tr class="memitem:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput_event_keyboard_get_seat_key_count</a> (struct libinput_event_keyboard *event)</td></tr>
100 <tr class="memdesc:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="mdescLeft">&#160;</td><td class="mdescRight">For the key of a LIBINPUT_EVENT_KEYBOARD_KEY event, return the total number of keys pressed on all devices on the associated seat after the event was triggered. <a href="#ga75a647f08ef9df9db7a6ebb9b297add4">More...</a><br/></td></tr>
101 <tr class="separator:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 </table>
103 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
104 <p>Key events are generated when a key changes its logical state, usually by being pressed or released. </p>
105 <h2 class="groupheader">Function Documentation</h2>
106 <a class="anchor" id="gae5a3b7e12e7e8b213b3da92a13adb88d"></a>
107 <div class="memitem">
108 <div class="memproto">
109 <table class="memname">
110 <tr>
111 <td class="memname">struct libinput_event* libinput_event_keyboard_get_base_event </td>
112 <td>(</td>
113 <td class="paramtype">struct libinput_event_keyboard *&#160;</td>
114 <td class="paramname"><em>event</em></td><td>)</td>
115 <td></td>
116 </tr>
117 </table>
118 </div><div class="memdoc">
119 <dl class="section return"><dt>Returns</dt><dd>The generic libinput_event of this event </dd></dl>
120
121 </div>
122 </div>
123 <a class="anchor" id="gad29cc9f276d9468463d01f65ccf8deaf"></a>
124 <div class="memitem">
125 <div class="memproto">
126 <table class="memname">
127 <tr>
128 <td class="memname">uint32_t libinput_event_keyboard_get_key </td>
129 <td>(</td>
130 <td class="paramtype">struct libinput_event_keyboard *&#160;</td>
131 <td class="paramname"><em>event</em></td><td>)</td>
132 <td></td>
133 </tr>
134 </table>
135 </div><div class="memdoc">
136 <dl class="section return"><dt>Returns</dt><dd>The keycode that triggered this key event </dd></dl>
137
138 </div>
139 </div>
140 <a class="anchor" id="gaf7b018edbc264ba81a2d475d42ebbd98"></a>
141 <div class="memitem">
142 <div class="memproto">
143 <table class="memname">
144 <tr>
145 <td class="memname">enum <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a> libinput_event_keyboard_get_key_state </td>
146 <td>(</td>
147 <td class="paramtype">struct libinput_event_keyboard *&#160;</td>
148 <td class="paramname"><em>event</em></td><td>)</td>
149 <td></td>
150 </tr>
151 </table>
152 </div><div class="memdoc">
153 <dl class="section return"><dt>Returns</dt><dd>The state change of the key </dd></dl>
154
155 </div>
156 </div>
157 <a class="anchor" id="ga75a647f08ef9df9db7a6ebb9b297add4"></a>
158 <div class="memitem">
159 <div class="memproto">
160 <table class="memname">
161 <tr>
162 <td class="memname">uint32_t libinput_event_keyboard_get_seat_key_count </td>
163 <td>(</td>
164 <td class="paramtype">struct libinput_event_keyboard *&#160;</td>
165 <td class="paramname"><em>event</em></td><td>)</td>
166 <td></td>
167 </tr>
168 </table>
169 </div><div class="memdoc">
170
171 <p>For the key of a LIBINPUT_EVENT_KEYBOARD_KEY event, return the total number of keys pressed on all devices on the associated seat after the event was triggered. </p>
172 <p>" </p>
173 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_KEYBOARD_KEY. For other events, this function returns 0.</dd></dl>
174 <dl class="section return"><dt>Returns</dt><dd>the seat wide pressed key count for the key of this event </dd></dl>
175
176 </div>
177 </div>
178 <a class="anchor" id="ga0f1a7bb1016816a277b52705d6ef2d71"></a>
179 <div class="memitem">
180 <div class="memproto">
181 <table class="memname">
182 <tr>
183 <td class="memname">uint32_t libinput_event_keyboard_get_time </td>
184 <td>(</td>
185 <td class="paramtype">struct libinput_event_keyboard *&#160;</td>
186 <td class="paramname"><em>event</em></td><td>)</td>
187 <td></td>
188 </tr>
189 </table>
190 </div><div class="memdoc">
191 <dl class="section return"><dt>Returns</dt><dd>The event time for this event </dd></dl>
192
193 </div>
194 </div>
195 </div><!-- contents -->
196 <!-- start footer part -->
197 <hr class="footer"/><address class="footer"><small>
198 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
199 <img class="footer" src="doxygen.png" alt="doxygen"/>
200 </a> 1.8.5
201 </small></address>
202 </body>
203 </html>
+0
-443
doc/html/group__event__pointer.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Pointer events</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#func-members">Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">Pointer events</div> </div>
83 </div><!--header-->
84 <div class="contents">
85
86 <p>Pointer events reflect motion, button and scroll events, as well as events from other axes.
87 <a href="#details">More...</a></p>
88 <table class="memberdecls">
89 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
90 Functions</h2></td></tr>
91 <tr class="memitem:gac42d0e19d076f4e1fca15f1ec42510d5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput_event_pointer_get_time</a> (struct libinput_event_pointer *event)</td></tr>
92 <tr class="separator:gac42d0e19d076f4e1fca15f1ec42510d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <tr class="memitem:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput_event_pointer_get_dx</a> (struct libinput_event_pointer *event)</td></tr>
94 <tr class="memdesc:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the delta between the last event and the current event. <a href="#ga29aaf86185a4c9dfa38d98b1fd4dba53">More...</a><br/></td></tr>
95 <tr class="separator:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="memSeparator" colspan="2">&#160;</td></tr>
96 <tr class="memitem:ga8bb38bb120bbc0ad569c701a6e622612"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput_event_pointer_get_dy</a> (struct libinput_event_pointer *event)</td></tr>
97 <tr class="memdesc:ga8bb38bb120bbc0ad569c701a6e622612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the delta between the last event and the current event. <a href="#ga8bb38bb120bbc0ad569c701a6e622612">More...</a><br/></td></tr>
98 <tr class="separator:ga8bb38bb120bbc0ad569c701a6e622612"><td class="memSeparator" colspan="2">&#160;</td></tr>
99 <tr class="memitem:gac221536b90c7beb70b70b52e710291b5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput_event_pointer_get_absolute_x</a> (struct libinput_event_pointer *event)</td></tr>
100 <tr class="memdesc:gac221536b90c7beb70b70b52e710291b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the pointer event, in mm from the top left corner of the device. <a href="#gac221536b90c7beb70b70b52e710291b5">More...</a><br/></td></tr>
101 <tr class="separator:gac221536b90c7beb70b70b52e710291b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 <tr class="memitem:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput_event_pointer_get_absolute_y</a> (struct libinput_event_pointer *event)</td></tr>
103 <tr class="memdesc:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the pointer event, in mm from the top left corner of the device. <a href="#ga3e097a9bc6dbbb355fb1982912f72d4c">More...</a><br/></td></tr>
104 <tr class="separator:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 <tr class="memitem:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput_event_pointer_get_absolute_x_transformed</a> (struct libinput_event_pointer *event, uint32_t width)</td></tr>
106 <tr class="memdesc:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the pointer event, transformed to screen coordinates. <a href="#ga26fa3d0b2bcc7f0a7939b84dc8207021">More...</a><br/></td></tr>
107 <tr class="separator:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="memSeparator" colspan="2">&#160;</td></tr>
108 <tr class="memitem:gaa48effb21f132f05f280859f3d2a9f23"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput_event_pointer_get_absolute_y_transformed</a> (struct libinput_event_pointer *event, uint32_t height)</td></tr>
109 <tr class="memdesc:gaa48effb21f132f05f280859f3d2a9f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the pointer event, transformed to screen coordinates. <a href="#gaa48effb21f132f05f280859f3d2a9f23">More...</a><br/></td></tr>
110 <tr class="separator:gaa48effb21f132f05f280859f3d2a9f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 <tr class="memitem:ga6dc942e706a29d342a2021afaa49548b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput_event_pointer_get_button</a> (struct libinput_event_pointer *event)</td></tr>
112 <tr class="memdesc:ga6dc942e706a29d342a2021afaa49548b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the button that triggered this event. <a href="#ga6dc942e706a29d342a2021afaa49548b">More...</a><br/></td></tr>
113 <tr class="separator:ga6dc942e706a29d342a2021afaa49548b"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <tr class="memitem:ga41e87521ab2a8b7783cb47a63d71da18"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput_event_pointer_get_button_state</a> (struct libinput_event_pointer *event)</td></tr>
115 <tr class="memdesc:ga41e87521ab2a8b7783cb47a63d71da18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the button state that triggered this event. <a href="#ga41e87521ab2a8b7783cb47a63d71da18">More...</a><br/></td></tr>
116 <tr class="separator:ga41e87521ab2a8b7783cb47a63d71da18"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 <tr class="memitem:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput_event_pointer_get_seat_button_count</a> (struct libinput_event_pointer *event)</td></tr>
118 <tr class="memdesc:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">For the button of a LIBINPUT_EVENT_POINTER_BUTTON event, return the total number of buttons pressed on all devices on the associated seat after the the event was triggered. <a href="#ga1990b268bdc42ff3277bc43dbb3102ea">More...</a><br/></td></tr>
119 <tr class="separator:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 <tr class="memitem:gace6f44c48d7696d989d5be38afaba817"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput_event_pointer_get_axis</a> (struct libinput_event_pointer *event)</td></tr>
121 <tr class="memdesc:gace6f44c48d7696d989d5be38afaba817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the axis that triggered this event. <a href="#gace6f44c48d7696d989d5be38afaba817">More...</a><br/></td></tr>
122 <tr class="separator:gace6f44c48d7696d989d5be38afaba817"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <tr class="memitem:gaba288dcf55de6e2691fd75f31229f969"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput_event_pointer_get_axis_value</a> (struct libinput_event_pointer *event)</td></tr>
124 <tr class="memdesc:gaba288dcf55de6e2691fd75f31229f969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the axis value of the given axis. <a href="#gaba288dcf55de6e2691fd75f31229f969">More...</a><br/></td></tr>
125 <tr class="separator:gaba288dcf55de6e2691fd75f31229f969"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:ga4d4f75669001c323dcdc3cc9aec1574a"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput_event_pointer_get_base_event</a> (struct libinput_event_pointer *event)</td></tr>
127 <tr class="separator:ga4d4f75669001c323dcdc3cc9aec1574a"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 </table>
129 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
130 <p>Pointer events reflect motion, button and scroll events, as well as events from other axes. </p>
131 <h2 class="groupheader">Function Documentation</h2>
132 <a class="anchor" id="gac221536b90c7beb70b70b52e710291b5"></a>
133 <div class="memitem">
134 <div class="memproto">
135 <table class="memname">
136 <tr>
137 <td class="memname">double libinput_event_pointer_get_absolute_x </td>
138 <td>(</td>
139 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
140 <td class="paramname"><em>event</em></td><td>)</td>
141 <td></td>
142 </tr>
143 </table>
144 </div><div class="memdoc">
145
146 <p>Return the current absolute x coordinate of the pointer event, in mm from the top left corner of the device. </p>
147 <p>To get the corresponding output screen coordinate, use <a class="el" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021" title="Return the current absolute x coordinate of the pointer event, transformed to screen coordinates...">libinput_event_pointer_get_absolute_x_transformed()</a>.</p>
148 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE, this function returns 0.</p>
149 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE.</dd></dl>
150 <dl class="section return"><dt>Returns</dt><dd>the current absolute x coordinate </dd></dl>
151
152 </div>
153 </div>
154 <a class="anchor" id="ga26fa3d0b2bcc7f0a7939b84dc8207021"></a>
155 <div class="memitem">
156 <div class="memproto">
157 <table class="memname">
158 <tr>
159 <td class="memname">double libinput_event_pointer_get_absolute_x_transformed </td>
160 <td>(</td>
161 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
162 <td class="paramname"><em>event</em>, </td>
163 </tr>
164 <tr>
165 <td class="paramkey"></td>
166 <td></td>
167 <td class="paramtype">uint32_t&#160;</td>
168 <td class="paramname"><em>width</em>&#160;</td>
169 </tr>
170 <tr>
171 <td></td>
172 <td>)</td>
173 <td></td><td></td>
174 </tr>
175 </table>
176 </div><div class="memdoc">
177
178 <p>Return the current absolute x coordinate of the pointer event, transformed to screen coordinates. </p>
179 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE, the return value of this function is undefined.</p>
180 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE.</dd></dl>
181 <dl class="params"><dt>Parameters</dt><dd>
182 <table class="params">
183 <tr><td class="paramname">event</td><td>The libinput pointer event </td></tr>
184 <tr><td class="paramname">width</td><td>The current output screen width </td></tr>
185 </table>
186 </dd>
187 </dl>
188 <dl class="section return"><dt>Returns</dt><dd>the current absolute x coordinate transformed to a screen coordinate </dd></dl>
189
190 </div>
191 </div>
192 <a class="anchor" id="ga3e097a9bc6dbbb355fb1982912f72d4c"></a>
193 <div class="memitem">
194 <div class="memproto">
195 <table class="memname">
196 <tr>
197 <td class="memname">double libinput_event_pointer_get_absolute_y </td>
198 <td>(</td>
199 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
200 <td class="paramname"><em>event</em></td><td>)</td>
201 <td></td>
202 </tr>
203 </table>
204 </div><div class="memdoc">
205
206 <p>Return the current absolute y coordinate of the pointer event, in mm from the top left corner of the device. </p>
207 <p>To get the corresponding output screen coordinate, use <a class="el" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23" title="Return the current absolute y coordinate of the pointer event, transformed to screen coordinates...">libinput_event_pointer_get_absolute_y_transformed()</a>.</p>
208 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE, this function returns 0.</p>
209 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE.</dd></dl>
210 <dl class="section return"><dt>Returns</dt><dd>the current absolute y coordinate </dd></dl>
211
212 </div>
213 </div>
214 <a class="anchor" id="gaa48effb21f132f05f280859f3d2a9f23"></a>
215 <div class="memitem">
216 <div class="memproto">
217 <table class="memname">
218 <tr>
219 <td class="memname">double libinput_event_pointer_get_absolute_y_transformed </td>
220 <td>(</td>
221 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
222 <td class="paramname"><em>event</em>, </td>
223 </tr>
224 <tr>
225 <td class="paramkey"></td>
226 <td></td>
227 <td class="paramtype">uint32_t&#160;</td>
228 <td class="paramname"><em>height</em>&#160;</td>
229 </tr>
230 <tr>
231 <td></td>
232 <td>)</td>
233 <td></td><td></td>
234 </tr>
235 </table>
236 </div><div class="memdoc">
237
238 <p>Return the current absolute y coordinate of the pointer event, transformed to screen coordinates. </p>
239 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE, the return value of this function is undefined.</p>
240 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE.</dd></dl>
241 <dl class="params"><dt>Parameters</dt><dd>
242 <table class="params">
243 <tr><td class="paramname">event</td><td>The libinput pointer event </td></tr>
244 <tr><td class="paramname">height</td><td>The current output screen height </td></tr>
245 </table>
246 </dd>
247 </dl>
248 <dl class="section return"><dt>Returns</dt><dd>the current absolute y coordinate transformed to a screen coordinate </dd></dl>
249
250 </div>
251 </div>
252 <a class="anchor" id="gace6f44c48d7696d989d5be38afaba817"></a>
253 <div class="memitem">
254 <div class="memproto">
255 <table class="memname">
256 <tr>
257 <td class="memname">enum <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a> libinput_event_pointer_get_axis </td>
258 <td>(</td>
259 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
260 <td class="paramname"><em>event</em></td><td>)</td>
261 <td></td>
262 </tr>
263 </table>
264 </div><div class="memdoc">
265
266 <p>Return the axis that triggered this event. </p>
267 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_AXIS, this function returns 0.</p>
268 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_AXIS.</dd></dl>
269 <dl class="section return"><dt>Returns</dt><dd>the axis triggering this event </dd></dl>
270
271 </div>
272 </div>
273 <a class="anchor" id="gaba288dcf55de6e2691fd75f31229f969"></a>
274 <div class="memitem">
275 <div class="memproto">
276 <table class="memname">
277 <tr>
278 <td class="memname">double libinput_event_pointer_get_axis_value </td>
279 <td>(</td>
280 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
281 <td class="paramname"><em>event</em></td><td>)</td>
282 <td></td>
283 </tr>
284 </table>
285 </div><div class="memdoc">
286
287 <p>Return the axis value of the given axis. </p>
288 <p>The interpretation of the value is dependent on the axis. For the two scrolling axes LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL and LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, the value of the event is in relative scroll units, with the positive direction being down or right, respectively. The dimension of a scroll unit is equal to one unit of motion in the respective axis, where applicable (e.g. touchpad two-finger scrolling).</p>
289 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_AXIS, this function returns 0.</p>
290 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_AXIS.</dd></dl>
291 <dl class="section return"><dt>Returns</dt><dd>the axis value of this event </dd></dl>
292
293 </div>
294 </div>
295 <a class="anchor" id="ga4d4f75669001c323dcdc3cc9aec1574a"></a>
296 <div class="memitem">
297 <div class="memproto">
298 <table class="memname">
299 <tr>
300 <td class="memname">struct libinput_event* libinput_event_pointer_get_base_event </td>
301 <td>(</td>
302 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
303 <td class="paramname"><em>event</em></td><td>)</td>
304 <td></td>
305 </tr>
306 </table>
307 </div><div class="memdoc">
308 <dl class="section return"><dt>Returns</dt><dd>The generic libinput_event of this event </dd></dl>
309
310 </div>
311 </div>
312 <a class="anchor" id="ga6dc942e706a29d342a2021afaa49548b"></a>
313 <div class="memitem">
314 <div class="memproto">
315 <table class="memname">
316 <tr>
317 <td class="memname">uint32_t libinput_event_pointer_get_button </td>
318 <td>(</td>
319 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
320 <td class="paramname"><em>event</em></td><td>)</td>
321 <td></td>
322 </tr>
323 </table>
324 </div><div class="memdoc">
325
326 <p>Return the button that triggered this event. </p>
327 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_BUTTON, this function returns 0.</p>
328 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_BUTTON.</dd></dl>
329 <dl class="section return"><dt>Returns</dt><dd>the button triggering this event </dd></dl>
330
331 </div>
332 </div>
333 <a class="anchor" id="ga41e87521ab2a8b7783cb47a63d71da18"></a>
334 <div class="memitem">
335 <div class="memproto">
336 <table class="memname">
337 <tr>
338 <td class="memname">enum <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a> libinput_event_pointer_get_button_state </td>
339 <td>(</td>
340 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
341 <td class="paramname"><em>event</em></td><td>)</td>
342 <td></td>
343 </tr>
344 </table>
345 </div><div class="memdoc">
346
347 <p>Return the button state that triggered this event. </p>
348 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_BUTTON, this function returns 0.</p>
349 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_BUTTON.</dd></dl>
350 <dl class="section return"><dt>Returns</dt><dd>the button state triggering this event </dd></dl>
351
352 </div>
353 </div>
354 <a class="anchor" id="ga29aaf86185a4c9dfa38d98b1fd4dba53"></a>
355 <div class="memitem">
356 <div class="memproto">
357 <table class="memname">
358 <tr>
359 <td class="memname">double libinput_event_pointer_get_dx </td>
360 <td>(</td>
361 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
362 <td class="paramname"><em>event</em></td><td>)</td>
363 <td></td>
364 </tr>
365 </table>
366 </div><div class="memdoc">
367
368 <p>Return the delta between the last event and the current event. </p>
369 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION, this function returns 0.</p>
370 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION.</dd></dl>
371 <dl class="section return"><dt>Returns</dt><dd>the relative x movement since the last event </dd></dl>
372
373 </div>
374 </div>
375 <a class="anchor" id="ga8bb38bb120bbc0ad569c701a6e622612"></a>
376 <div class="memitem">
377 <div class="memproto">
378 <table class="memname">
379 <tr>
380 <td class="memname">double libinput_event_pointer_get_dy </td>
381 <td>(</td>
382 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
383 <td class="paramname"><em>event</em></td><td>)</td>
384 <td></td>
385 </tr>
386 </table>
387 </div><div class="memdoc">
388
389 <p>Return the delta between the last event and the current event. </p>
390 <p>For pointer events that are not of type LIBINPUT_EVENT_POINTER_MOTION, this function returns 0.</p>
391 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_MOTION.</dd></dl>
392 <dl class="section return"><dt>Returns</dt><dd>the relative y movement since the last event </dd></dl>
393
394 </div>
395 </div>
396 <a class="anchor" id="ga1990b268bdc42ff3277bc43dbb3102ea"></a>
397 <div class="memitem">
398 <div class="memproto">
399 <table class="memname">
400 <tr>
401 <td class="memname">uint32_t libinput_event_pointer_get_seat_button_count </td>
402 <td>(</td>
403 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
404 <td class="paramname"><em>event</em></td><td>)</td>
405 <td></td>
406 </tr>
407 </table>
408 </div><div class="memdoc">
409
410 <p>For the button of a LIBINPUT_EVENT_POINTER_BUTTON event, return the total number of buttons pressed on all devices on the associated seat after the the event was triggered. </p>
411 <p>" </p>
412 <dl class="section note"><dt>Note</dt><dd>It is an application bug to call this function for events other than LIBINPUT_EVENT_POINTER_BUTTON. For other events, this function returns 0.</dd></dl>
413 <dl class="section return"><dt>Returns</dt><dd>the seat wide pressed button count for the key of this event </dd></dl>
414
415 </div>
416 </div>
417 <a class="anchor" id="gac42d0e19d076f4e1fca15f1ec42510d5"></a>
418 <div class="memitem">
419 <div class="memproto">
420 <table class="memname">
421 <tr>
422 <td class="memname">uint32_t libinput_event_pointer_get_time </td>
423 <td>(</td>
424 <td class="paramtype">struct libinput_event_pointer *&#160;</td>
425 <td class="paramname"><em>event</em></td><td>)</td>
426 <td></td>
427 </tr>
428 </table>
429 </div><div class="memdoc">
430 <dl class="section return"><dt>Returns</dt><dd>The event time for this event </dd></dl>
431
432 </div>
433 </div>
434 </div><!-- contents -->
435 <!-- start footer part -->
436 <hr class="footer"/><address class="footer"><small>
437 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
438 <img class="footer" src="doxygen.png" alt="doxygen"/>
439 </a> 1.8.5
440 </small></address>
441 </body>
442 </html>
+0
-340
doc/html/group__event__touch.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Touch events</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#nested-classes">Data Structures</a> &#124;
81 <a href="#func-members">Functions</a> </div>
82 <div class="headertitle">
83 <div class="title">Touch events</div> </div>
84 </div><!--header-->
85 <div class="contents">
86
87 <p>Events from absolute touch devices.
88 <a href="#details">More...</a></p>
89 <table class="memberdecls">
90 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
91 Data Structures</h2></td></tr>
92 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a></td></tr>
93 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events. <a href="structlibinput__event__touch.html#details">More...</a><br/></td></tr>
94 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 </table><table class="memberdecls">
96 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
97 Functions</h2></td></tr>
98 <tr class="memitem:ga5d13da5020c6aff78604943690f8cbe9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput_event_touch_get_time</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
99 <tr class="separator:ga5d13da5020c6aff78604943690f8cbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:gaf5294eab86b9125b7fb607049ff9ef09"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput_event_touch_get_slot</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
101 <tr class="memdesc:gaf5294eab86b9125b7fb607049ff9ef09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the slot of this touch event. <a href="#gaf5294eab86b9125b7fb607049ff9ef09">More...</a><br/></td></tr>
102 <tr class="separator:gaf5294eab86b9125b7fb607049ff9ef09"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 <tr class="memitem:gabac75c78a0a360995e1a521edb38c4da"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput_event_touch_get_seat_slot</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
104 <tr class="memdesc:gabac75c78a0a360995e1a521edb38c4da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the seat slot of the touch event. <a href="#gabac75c78a0a360995e1a521edb38c4da">More...</a><br/></td></tr>
105 <tr class="separator:gabac75c78a0a360995e1a521edb38c4da"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:gac42d0e070811c360cf8ec784349954ba"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput_event_touch_get_x</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
107 <tr class="memdesc:gac42d0e070811c360cf8ec784349954ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the touch event, in mm from the top left corner of the device. <a href="#gac42d0e070811c360cf8ec784349954ba">More...</a><br/></td></tr>
108 <tr class="separator:gac42d0e070811c360cf8ec784349954ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
109 <tr class="memitem:ga30711113bcef4bc02eda7878a054351c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput_event_touch_get_y</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
110 <tr class="memdesc:ga30711113bcef4bc02eda7878a054351c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the touch event, in mm from the top left corner of the device. <a href="#ga30711113bcef4bc02eda7878a054351c">More...</a><br/></td></tr>
111 <tr class="separator:ga30711113bcef4bc02eda7878a054351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
112 <tr class="memitem:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput_event_touch_get_x_transformed</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event, uint32_t width)</td></tr>
113 <tr class="memdesc:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the touch event, transformed to screen coordinates. <a href="#gadd04ccc3a7b4564e5aca3c8592f090fe">More...</a><br/></td></tr>
114 <tr class="separator:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
115 <tr class="memitem:ga36af95f47b6d69b581eaeee69927af6f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput_event_touch_get_y_transformed</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event, uint32_t height)</td></tr>
116 <tr class="memdesc:ga36af95f47b6d69b581eaeee69927af6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the touch event, transformed to screen coordinates. <a href="#ga36af95f47b6d69b581eaeee69927af6f">More...</a><br/></td></tr>
117 <tr class="separator:ga36af95f47b6d69b581eaeee69927af6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
118 <tr class="memitem:gacb2cd144a719c9873cd4621db278e92c"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput_event_touch_get_base_event</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
119 <tr class="separator:gacb2cd144a719c9873cd4621db278e92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 </table>
121 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
122 <p>Events from absolute touch devices. </p>
123 <h2 class="groupheader">Function Documentation</h2>
124 <a class="anchor" id="gacb2cd144a719c9873cd4621db278e92c"></a>
125 <div class="memitem">
126 <div class="memproto">
127 <table class="memname">
128 <tr>
129 <td class="memname">struct libinput_event* libinput_event_touch_get_base_event </td>
130 <td>(</td>
131 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
132 <td class="paramname"><em>event</em></td><td>)</td>
133 <td></td>
134 </tr>
135 </table>
136 </div><div class="memdoc">
137 <dl class="section return"><dt>Returns</dt><dd>The generic libinput_event of this event </dd></dl>
138
139 </div>
140 </div>
141 <a class="anchor" id="gabac75c78a0a360995e1a521edb38c4da"></a>
142 <div class="memitem">
143 <div class="memproto">
144 <table class="memname">
145 <tr>
146 <td class="memname">int32_t libinput_event_touch_get_seat_slot </td>
147 <td>(</td>
148 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
149 <td class="paramname"><em>event</em></td><td>)</td>
150 <td></td>
151 </tr>
152 </table>
153 </div><div class="memdoc">
154
155 <p>Get the seat slot of the touch event. </p>
156 <p>A seat slot is a non-negative seat wide unique identifier of an active touch point.</p>
157 <p>Events from single touch devices will be represented as one individual touch point per device.</p>
158 <dl class="section note"><dt>Note</dt><dd>this function should not be called for LIBINPUT_EVENT_TOUCH_CANCEL or LIBINPUT_EVENT_TOUCH_FRAME.</dd></dl>
159 <dl class="section return"><dt>Returns</dt><dd>The seat slot of the touch event </dd></dl>
160
161 </div>
162 </div>
163 <a class="anchor" id="gaf5294eab86b9125b7fb607049ff9ef09"></a>
164 <div class="memitem">
165 <div class="memproto">
166 <table class="memname">
167 <tr>
168 <td class="memname">int32_t libinput_event_touch_get_slot </td>
169 <td>(</td>
170 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
171 <td class="paramname"><em>event</em></td><td>)</td>
172 <td></td>
173 </tr>
174 </table>
175 </div><div class="memdoc">
176
177 <p>Get the slot of this touch event. </p>
178 <p>See the kernel's multitouch protocol B documentation for more information.</p>
179 <p>If the touch event has no assigned slot, for example if it is from a single touch device, this function returns -1.</p>
180 <dl class="section note"><dt>Note</dt><dd>this function should not be called for LIBINPUT_EVENT_TOUCH_CANCEL or LIBINPUT_EVENT_TOUCH_FRAME.</dd></dl>
181 <dl class="section return"><dt>Returns</dt><dd>The slot of this touch event </dd></dl>
182
183 </div>
184 </div>
185 <a class="anchor" id="ga5d13da5020c6aff78604943690f8cbe9"></a>
186 <div class="memitem">
187 <div class="memproto">
188 <table class="memname">
189 <tr>
190 <td class="memname">uint32_t libinput_event_touch_get_time </td>
191 <td>(</td>
192 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
193 <td class="paramname"><em>event</em></td><td>)</td>
194 <td></td>
195 </tr>
196 </table>
197 </div><div class="memdoc">
198 <dl class="section return"><dt>Returns</dt><dd>The event time for this event </dd></dl>
199
200 </div>
201 </div>
202 <a class="anchor" id="gac42d0e070811c360cf8ec784349954ba"></a>
203 <div class="memitem">
204 <div class="memproto">
205 <table class="memname">
206 <tr>
207 <td class="memname">double libinput_event_touch_get_x </td>
208 <td>(</td>
209 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
210 <td class="paramname"><em>event</em></td><td>)</td>
211 <td></td>
212 </tr>
213 </table>
214 </div><div class="memdoc">
215
216 <p>Return the current absolute x coordinate of the touch event, in mm from the top left corner of the device. </p>
217 <p>To get the corresponding output screen coordinate, use <a class="el" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe" title="Return the current absolute x coordinate of the touch event, transformed to screen coordinates...">libinput_event_touch_get_x_transformed()</a>.</p>
218 <dl class="section note"><dt>Note</dt><dd>this function should only be called for LIBINPUT_EVENT_TOUCH_DOWN and LIBINPUT_EVENT_TOUCH_MOTION.</dd></dl>
219 <dl class="params"><dt>Parameters</dt><dd>
220 <table class="params">
221 <tr><td class="paramname">event</td><td>The libinput touch event </td></tr>
222 </table>
223 </dd>
224 </dl>
225 <dl class="section return"><dt>Returns</dt><dd>the current absolute x coordinate </dd></dl>
226
227 </div>
228 </div>
229 <a class="anchor" id="gadd04ccc3a7b4564e5aca3c8592f090fe"></a>
230 <div class="memitem">
231 <div class="memproto">
232 <table class="memname">
233 <tr>
234 <td class="memname">double libinput_event_touch_get_x_transformed </td>
235 <td>(</td>
236 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
237 <td class="paramname"><em>event</em>, </td>
238 </tr>
239 <tr>
240 <td class="paramkey"></td>
241 <td></td>
242 <td class="paramtype">uint32_t&#160;</td>
243 <td class="paramname"><em>width</em>&#160;</td>
244 </tr>
245 <tr>
246 <td></td>
247 <td>)</td>
248 <td></td><td></td>
249 </tr>
250 </table>
251 </div><div class="memdoc">
252
253 <p>Return the current absolute x coordinate of the touch event, transformed to screen coordinates. </p>
254 <dl class="section note"><dt>Note</dt><dd>this function should only be called for LIBINPUT_EVENT_TOUCH_DOWN and LIBINPUT_EVENT_TOUCH_MOTION.</dd></dl>
255 <dl class="params"><dt>Parameters</dt><dd>
256 <table class="params">
257 <tr><td class="paramname">event</td><td>The libinput touch event </td></tr>
258 <tr><td class="paramname">width</td><td>The current output screen width </td></tr>
259 </table>
260 </dd>
261 </dl>
262 <dl class="section return"><dt>Returns</dt><dd>the current absolute x coordinate transformed to a screen coordinate </dd></dl>
263
264 </div>
265 </div>
266 <a class="anchor" id="ga30711113bcef4bc02eda7878a054351c"></a>
267 <div class="memitem">
268 <div class="memproto">
269 <table class="memname">
270 <tr>
271 <td class="memname">double libinput_event_touch_get_y </td>
272 <td>(</td>
273 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
274 <td class="paramname"><em>event</em></td><td>)</td>
275 <td></td>
276 </tr>
277 </table>
278 </div><div class="memdoc">
279
280 <p>Return the current absolute y coordinate of the touch event, in mm from the top left corner of the device. </p>
281 <p>To get the corresponding output screen coordinate, use <a class="el" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f" title="Return the current absolute y coordinate of the touch event, transformed to screen coordinates...">libinput_event_touch_get_y_transformed()</a>.</p>
282 <p>For LIBINPUT_EVENT_TOUCH_UP 0 is returned.</p>
283 <dl class="section note"><dt>Note</dt><dd>this function should only be called for LIBINPUT_EVENT_TOUCH_DOWN and LIBINPUT_EVENT_TOUCH_MOTION.</dd></dl>
284 <dl class="params"><dt>Parameters</dt><dd>
285 <table class="params">
286 <tr><td class="paramname">event</td><td>The libinput touch event </td></tr>
287 </table>
288 </dd>
289 </dl>
290 <dl class="section return"><dt>Returns</dt><dd>the current absolute y coordinate </dd></dl>
291
292 </div>
293 </div>
294 <a class="anchor" id="ga36af95f47b6d69b581eaeee69927af6f"></a>
295 <div class="memitem">
296 <div class="memproto">
297 <table class="memname">
298 <tr>
299 <td class="memname">double libinput_event_touch_get_y_transformed </td>
300 <td>(</td>
301 <td class="paramtype">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td>
302 <td class="paramname"><em>event</em>, </td>
303 </tr>
304 <tr>
305 <td class="paramkey"></td>
306 <td></td>
307 <td class="paramtype">uint32_t&#160;</td>
308 <td class="paramname"><em>height</em>&#160;</td>
309 </tr>
310 <tr>
311 <td></td>
312 <td>)</td>
313 <td></td><td></td>
314 </tr>
315 </table>
316 </div><div class="memdoc">
317
318 <p>Return the current absolute y coordinate of the touch event, transformed to screen coordinates. </p>
319 <dl class="section note"><dt>Note</dt><dd>this function should only be called for LIBINPUT_EVENT_TOUCH_DOWN and LIBINPUT_EVENT_TOUCH_MOTION.</dd></dl>
320 <dl class="params"><dt>Parameters</dt><dd>
321 <table class="params">
322 <tr><td class="paramname">event</td><td>The libinput touch event </td></tr>
323 <tr><td class="paramname">height</td><td>The current output screen height </td></tr>
324 </table>
325 </dd>
326 </dl>
327 <dl class="section return"><dt>Returns</dt><dd>the current absolute y coordinate transformed to a screen coordinate </dd></dl>
328
329 </div>
330 </div>
331 </div><!-- contents -->
332 <!-- start footer part -->
333 <hr class="footer"/><address class="footer"><small>
334 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
335 <img class="footer" src="doxygen.png" alt="doxygen"/>
336 </a> 1.8.5
337 </small></address>
338 </body>
339 </html>
+0
-302
doc/html/group__seat.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Initialization and manipulation of seats</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="summary">
80 <a href="#func-members">Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">Initialization and manipulation of seats</div> </div>
83 </div><!--header-->
84 <div class="contents">
85
86 <p>A seat has two identifiers, the physical name and the logical name.
87 <a href="#details">More...</a></p>
88 <table class="memberdecls">
89 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
90 Functions</h2></td></tr>
91 <tr class="memitem:ga60445ab81e8ee3a10b85e88617231069"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput_seat_ref</a> (struct libinput_seat *seat)</td></tr>
92 <tr class="memdesc:ga60445ab81e8ee3a10b85e88617231069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the refcount of the seat. <a href="#ga60445ab81e8ee3a10b85e88617231069">More...</a><br/></td></tr>
93 <tr class="separator:ga60445ab81e8ee3a10b85e88617231069"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 <tr class="memitem:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput_seat_unref</a> (struct libinput_seat *seat)</td></tr>
95 <tr class="memdesc:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease the refcount of the seat. <a href="#ga81d52d0e9332f07c39a899c8c2fd3400">More...</a><br/></td></tr>
96 <tr class="separator:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 <tr class="memitem:ga669ed8a095445e9537deef8a9880587b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput_seat_set_user_data</a> (struct libinput_seat *seat, void *user_data)</td></tr>
98 <tr class="memdesc:ga669ed8a095445e9537deef8a9880587b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this seat. <a href="#ga669ed8a095445e9537deef8a9880587b">More...</a><br/></td></tr>
99 <tr class="separator:ga669ed8a095445e9537deef8a9880587b"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:gac7af04e67fc803f1f7756d02e5372e91"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput_seat_get_user_data</a> (struct libinput_seat *seat)</td></tr>
101 <tr class="memdesc:gac7af04e67fc803f1f7756d02e5372e91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this seat, if any. <a href="#gac7af04e67fc803f1f7756d02e5372e91">More...</a><br/></td></tr>
102 <tr class="separator:gac7af04e67fc803f1f7756d02e5372e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 <tr class="memitem:gac881036869846ad87eb7814fbf308251"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput_seat_get_physical_name</a> (struct libinput_seat *seat)</td></tr>
104 <tr class="memdesc:gac881036869846ad87eb7814fbf308251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the physical name of the seat. <a href="#gac881036869846ad87eb7814fbf308251">More...</a><br/></td></tr>
105 <tr class="separator:gac881036869846ad87eb7814fbf308251"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:ga61e477120d5f0cc67a06d04575186948"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput_seat_get_logical_name</a> (struct libinput_seat *seat)</td></tr>
107 <tr class="memdesc:ga61e477120d5f0cc67a06d04575186948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the logical name of the seat. <a href="#ga61e477120d5f0cc67a06d04575186948">More...</a><br/></td></tr>
108 <tr class="separator:ga61e477120d5f0cc67a06d04575186948"><td class="memSeparator" colspan="2">&#160;</td></tr>
109 </table>
110 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
111 <p>A seat has two identifiers, the physical name and the logical name. </p>
112 <p>The physical name is summarized as the list of devices a process on the same physical seat has access to.</p>
113 <p>The logical seat name is the seat name for a logical group of devices. A compositor may use that to create additonal seats as independent device sets. Alternatively, a compositor may limit itself to a single logical seat, leaving a second compositor to manage devices on the other logical seats.</p>
114 <div class="fragment"><div class="line">* +---+--------+------------+------------------------+------------+</div>
115 <div class="line">* | | event0 | | | log seat A |</div>
116 <div class="line">* | K +--------+ | +------------+</div>
117 <div class="line">* | e | event1 | phys seat0 | libinput context 1 | |</div>
118 <div class="line">* | r +--------+ | | log seat B |</div>
119 <div class="line">* | n | event2 | | | |</div>
120 <div class="line">* | e +--------+------------+------------------------+------------+</div>
121 <div class="line">* | l | event3 | phys seat1 | libinput context 2 | log seat C |</div>
122 <div class="line">* +---+--------+------------+------------------------+------------+</div>
123 <div class="line">* </div>
124 </div><!-- fragment --> <h2 class="groupheader">Function Documentation</h2>
125 <a class="anchor" id="ga61e477120d5f0cc67a06d04575186948"></a>
126 <div class="memitem">
127 <div class="memproto">
128 <table class="memname">
129 <tr>
130 <td class="memname">const char* libinput_seat_get_logical_name </td>
131 <td>(</td>
132 <td class="paramtype">struct libinput_seat *&#160;</td>
133 <td class="paramname"><em>seat</em></td><td>)</td>
134 <td></td>
135 </tr>
136 </table>
137 </div><div class="memdoc">
138
139 <p>Return the logical name of the seat. </p>
140 <p>This is an identifier to group sets of devices within the compositor.</p>
141 <dl class="params"><dt>Parameters</dt><dd>
142 <table class="params">
143 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
144 </table>
145 </dd>
146 </dl>
147 <dl class="section return"><dt>Returns</dt><dd>the logical name of this seat </dd></dl>
148
149 </div>
150 </div>
151 <a class="anchor" id="gac881036869846ad87eb7814fbf308251"></a>
152 <div class="memitem">
153 <div class="memproto">
154 <table class="memname">
155 <tr>
156 <td class="memname">const char* libinput_seat_get_physical_name </td>
157 <td>(</td>
158 <td class="paramtype">struct libinput_seat *&#160;</td>
159 <td class="paramname"><em>seat</em></td><td>)</td>
160 <td></td>
161 </tr>
162 </table>
163 </div><div class="memdoc">
164
165 <p>Return the physical name of the seat. </p>
166 <p>For libinput contexts created from udev, this is always the same value as passed into <a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144" title="Assign a seat to this libinput context. ">libinput_udev_assign_seat()</a> and all seats from that context will have the same physical name.</p>
167 <p>The physical name of the seat is one that is usually set by the system or lower levels of the stack. In most cases, this is the base filter for devices - devices assigned to seats outside the current seat will not be available to the caller.</p>
168 <dl class="params"><dt>Parameters</dt><dd>
169 <table class="params">
170 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
171 </table>
172 </dd>
173 </dl>
174 <dl class="section return"><dt>Returns</dt><dd>the physical name of this seat </dd></dl>
175
176 </div>
177 </div>
178 <a class="anchor" id="gac7af04e67fc803f1f7756d02e5372e91"></a>
179 <div class="memitem">
180 <div class="memproto">
181 <table class="memname">
182 <tr>
183 <td class="memname">void* libinput_seat_get_user_data </td>
184 <td>(</td>
185 <td class="paramtype">struct libinput_seat *&#160;</td>
186 <td class="paramname"><em>seat</em></td><td>)</td>
187 <td></td>
188 </tr>
189 </table>
190 </div><div class="memdoc">
191
192 <p>Get the caller-specific data associated with this seat, if any. </p>
193 <dl class="params"><dt>Parameters</dt><dd>
194 <table class="params">
195 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
196 </table>
197 </dd>
198 </dl>
199 <dl class="section return"><dt>Returns</dt><dd>Caller-specific data pointer or NULL if none was set </dd></dl>
200 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b" title="Set caller-specific data associated with this seat. ">libinput_seat_set_user_data</a> </dd></dl>
201
202 </div>
203 </div>
204 <a class="anchor" id="ga60445ab81e8ee3a10b85e88617231069"></a>
205 <div class="memitem">
206 <div class="memproto">
207 <table class="memname">
208 <tr>
209 <td class="memname">struct libinput_seat* libinput_seat_ref </td>
210 <td>(</td>
211 <td class="paramtype">struct libinput_seat *&#160;</td>
212 <td class="paramname"><em>seat</em></td><td>)</td>
213 <td></td>
214 </tr>
215 </table>
216 </div><div class="memdoc">
217
218 <p>Increase the refcount of the seat. </p>
219 <p>A seat will be freed whenever the refcount reaches 0. This may happen during dispatch if the seat was removed from the system. A caller must ensure to reference the seat correctly to avoid dangling pointers.</p>
220 <dl class="params"><dt>Parameters</dt><dd>
221 <table class="params">
222 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
223 </table>
224 </dd>
225 </dl>
226 <dl class="section return"><dt>Returns</dt><dd>The passed seat </dd></dl>
227
228 </div>
229 </div>
230 <a class="anchor" id="ga669ed8a095445e9537deef8a9880587b"></a>
231 <div class="memitem">
232 <div class="memproto">
233 <table class="memname">
234 <tr>
235 <td class="memname">void libinput_seat_set_user_data </td>
236 <td>(</td>
237 <td class="paramtype">struct libinput_seat *&#160;</td>
238 <td class="paramname"><em>seat</em>, </td>
239 </tr>
240 <tr>
241 <td class="paramkey"></td>
242 <td></td>
243 <td class="paramtype">void *&#160;</td>
244 <td class="paramname"><em>user_data</em>&#160;</td>
245 </tr>
246 <tr>
247 <td></td>
248 <td>)</td>
249 <td></td><td></td>
250 </tr>
251 </table>
252 </div><div class="memdoc">
253
254 <p>Set caller-specific data associated with this seat. </p>
255 <p>libinput does not manage, look at, or modify this data. The caller must ensure the data is valid.</p>
256 <dl class="params"><dt>Parameters</dt><dd>
257 <table class="params">
258 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
259 <tr><td class="paramname">user_data</td><td>Caller-specific data pointer </td></tr>
260 </table>
261 </dd>
262 </dl>
263 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91" title="Get the caller-specific data associated with this seat, if any. ">libinput_seat_get_user_data</a> </dd></dl>
264
265 </div>
266 </div>
267 <a class="anchor" id="ga81d52d0e9332f07c39a899c8c2fd3400"></a>
268 <div class="memitem">
269 <div class="memproto">
270 <table class="memname">
271 <tr>
272 <td class="memname">struct libinput_seat* libinput_seat_unref </td>
273 <td>(</td>
274 <td class="paramtype">struct libinput_seat *&#160;</td>
275 <td class="paramname"><em>seat</em></td><td>)</td>
276 <td></td>
277 </tr>
278 </table>
279 </div><div class="memdoc">
280
281 <p>Decrease the refcount of the seat. </p>
282 <p>A seat will be freed whenever the refcount reaches 0. This may happen during dispatch if the seat was removed from the system. A caller must ensure to reference the seat correctly to avoid dangling pointers.</p>
283 <dl class="params"><dt>Parameters</dt><dd>
284 <table class="params">
285 <tr><td class="paramname">seat</td><td>A previously obtained seat </td></tr>
286 </table>
287 </dd>
288 </dl>
289 <dl class="section return"><dt>Returns</dt><dd>NULL if seat was destroyed, otherwise the passed seat </dd></dl>
290
291 </div>
292 </div>
293 </div><!-- contents -->
294 <!-- start footer part -->
295 <hr class="footer"/><address class="footer"><small>
296 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
297 <img class="footer" src="doxygen.png" alt="doxygen"/>
298 </a> 1.8.5
299 </small></address>
300 </body>
301 </html>
+0
-93
doc/html/index.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Main Page</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="headertitle">
80 <div class="title">libinput Documentation</div> </div>
81 </div><!--header-->
82 <div class="contents">
83 <div class="textblock"><p>libinput is a generic input device handling library. It abstracts commonly-used concepts such as keyboard, pointer and touchpad handling behind an API. </p>
84 </div></div><!-- contents -->
85 <!-- start footer part -->
86 <hr class="footer"/><address class="footer"><small>
87 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
88 <img class="footer" src="doxygen.png" alt="doxygen"/>
89 </a> 1.8.5
90 </small></address>
91 </body>
92 </html>
+0
-31
doc/html/jquery.js less more
0 /*!
1 * jQuery JavaScript Library v1.7.1
2 * http://jquery.com/
3 *
4 * Copyright 2011, John Resig
5 * Dual licensed under the MIT or GPL Version 2 licenses.
6 * http://jquery.org/license
7 *
8 * Includes Sizzle.js
9 * http://sizzlejs.com/
10 * Copyright 2011, The Dojo Foundation
11 * Released under the MIT, BSD, and GPL Licenses.
12 *
13 * Date: Mon Nov 21 21:11:03 2011 -0500
14 */
15 (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
16 }else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
17 if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
18 }b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
19 /*!
20 * Sizzle CSS Selector Engine
21 * Copyright 2011, The Dojo Foundation
22 * Released under the MIT, BSD, and GPL Licenses.
23 * More information: http://sizzlejs.com/
24 */
25 (function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
26 },lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);
27 ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
28 if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
29 }}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
30 })}})(window);
+0
-489
doc/html/libinput_8h.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: /home/jonas/Dev/wayland/libinput/src/libinput.h File Reference</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <!-- window showing the filter options -->
70 <div id="MSearchSelectWindow"
71 onmouseover="return searchBox.OnSearchSelectShow()"
72 onmouseout="return searchBox.OnSearchSelectHide()"
73 onkeydown="return searchBox.OnSearchSelectKey(event)">
74 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
75
76 <!-- iframe showing the search results (closed by default) -->
77 <div id="MSearchResultsWindow">
78 <iframe src="javascript:void(0)" frameborder="0"
79 name="MSearchResults" id="MSearchResults">
80 </iframe>
81 </div>
82
83 <div id="nav-path" class="navpath">
84 <ul>
85 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
86 </div>
87 </div><!-- top -->
88 <div class="header">
89 <div class="summary">
90 <a href="#nested-classes">Data Structures</a> &#124;
91 <a href="#define-members">Macros</a> &#124;
92 <a href="#typedef-members">Typedefs</a> &#124;
93 <a href="#enum-members">Enumerations</a> &#124;
94 <a href="#func-members">Functions</a> </div>
95 <div class="headertitle">
96 <div class="title">libinput.h File Reference</div> </div>
97 </div><!--header-->
98 <div class="contents">
99 <div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
100 <code>#include &lt;stdint.h&gt;</code><br/>
101 <code>#include &lt;libudev.h&gt;</code><br/>
102 </div>
103 <p><a href="libinput_8h_source.html">Go to the source code of this file.</a></p>
104 <table class="memberdecls">
105 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
106 Data Structures</h2></td></tr>
107 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibinput__interface.html">libinput_interface</a></td></tr>
108 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
109 </table><table class="memberdecls">
110 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
111 Macros</h2></td></tr>
112 <tr class="memitem:a7de828556e8e12b23e4c5acec1581780"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a>(_format, _args)</td></tr>
113 <tr class="separator:a7de828556e8e12b23e4c5acec1581780"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <tr class="memitem:a765fe0783fd8cd83a82ecfe910780901"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901">LIBINPUT_ATTRIBUTE_DEPRECATED</a></td></tr>
115 <tr class="separator:a765fe0783fd8cd83a82ecfe910780901"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 </table><table class="memberdecls">
117 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
118 Typedefs</h2></td></tr>
119 <tr class="memitem:ga387f6d09ed8548128a68f1d19ea675c2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> )(struct libinput *libinput, enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority, const char *format, va_list args) <a class="el" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a>(3</td></tr>
120 <tr class="memdesc:ga387f6d09ed8548128a68f1d19ea675c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log handler type for custom logging. <a href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">More...</a><br/></td></tr>
121 <tr class="separator:ga387f6d09ed8548128a68f1d19ea675c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="memItemLeft" align="right" valign="top">typedef void(*) voi&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput_log_set_handler</a> )(struct libinput *libinput, <a class="el" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> log_handler)</td></tr>
123 <tr class="memdesc:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global log handler. <a href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">More...</a><br/></td></tr>
124 <tr class="separator:gae1e6fac5e7d48904140eeb467d2ca9f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 </table><table class="memberdecls">
126 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
127 Enumerations</h2></td></tr>
128 <tr class="memitem:aa7e9ebbd1a13fe2ed6f44e69df3216e1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> { <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8">LIBINPUT_LOG_PRIORITY_DEBUG</a>,
129 <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500">LIBINPUT_LOG_PRIORITY_INFO</a>,
130 <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d">LIBINPUT_LOG_PRIORITY_ERROR</a>
131 }</td></tr>
132 <tr class="memdesc:aa7e9ebbd1a13fe2ed6f44e69df3216e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log priority for internal logging messages. <a href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">More...</a><br/></td></tr>
133 <tr class="separator:aa7e9ebbd1a13fe2ed6f44e69df3216e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:ga3110cdddce94a1df0b8a3306909c8f15"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> { <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">LIBINPUT_DEVICE_CAP_KEYBOARD</a>,
135 <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">LIBINPUT_DEVICE_CAP_POINTER</a>,
136 <a class="el" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">LIBINPUT_DEVICE_CAP_TOUCH</a>
137 }</td></tr>
138 <tr class="memdesc:ga3110cdddce94a1df0b8a3306909c8f15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capabilities on a device. <a href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">More...</a><br/></td></tr>
139 <tr class="separator:ga3110cdddce94a1df0b8a3306909c8f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:ga360bdea89a75606472a0b5d72678bd17"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a> { <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">LIBINPUT_KEY_STATE_RELEASED</a>,
141 <a class="el" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">LIBINPUT_KEY_STATE_PRESSED</a>
142 }</td></tr>
143 <tr class="memdesc:ga360bdea89a75606472a0b5d72678bd17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical state of a key. <a href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">More...</a><br/></td></tr>
144 <tr class="separator:ga360bdea89a75606472a0b5d72678bd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:ga37ec9afaec2e5407e3c5248faedd1970"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> { <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">LIBINPUT_LED_NUM_LOCK</a>,
146 <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">LIBINPUT_LED_CAPS_LOCK</a>,
147 <a class="el" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">LIBINPUT_LED_SCROLL_LOCK</a>
148 }</td></tr>
149 <tr class="memdesc:ga37ec9afaec2e5407e3c5248faedd1970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask reflecting LEDs on a device. <a href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">More...</a><br/></td></tr>
150 <tr class="separator:ga37ec9afaec2e5407e3c5248faedd1970"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a> { <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">LIBINPUT_BUTTON_STATE_RELEASED</a>,
152 <a class="el" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">LIBINPUT_BUTTON_STATE_PRESSED</a>
153 }</td></tr>
154 <tr class="memdesc:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical state of a physical button. <a href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">More...</a><br/></td></tr>
155 <tr class="separator:ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:ga82cd15b9476a4a60f25470df8d67483c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a> { <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL</a>,
157 <a class="el" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL</a>
158 }</td></tr>
159 <tr class="memdesc:ga82cd15b9476a4a60f25470df8d67483c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Axes on a device that are not x or y coordinates. <a href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">More...</a><br/></td></tr>
160 <tr class="separator:ga82cd15b9476a4a60f25470df8d67483c"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:gac30276a06e8b1434b959f2c8dde74f7c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a> { <br/>
162 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">LIBINPUT_EVENT_NONE</a>,
163 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">LIBINPUT_EVENT_DEVICE_ADDED</a>,
164 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">LIBINPUT_EVENT_DEVICE_REMOVED</a>,
165 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">LIBINPUT_EVENT_KEYBOARD_KEY</a>,
166 <br/>
167 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">LIBINPUT_EVENT_POINTER_MOTION</a>,
168 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE</a>,
169 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">LIBINPUT_EVENT_POINTER_BUTTON</a>,
170 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">LIBINPUT_EVENT_POINTER_AXIS</a>,
171 <br/>
172 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">LIBINPUT_EVENT_TOUCH_DOWN</a>,
173 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">LIBINPUT_EVENT_TOUCH_UP</a>,
174 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">LIBINPUT_EVENT_TOUCH_MOTION</a>,
175 <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">LIBINPUT_EVENT_TOUCH_CANCEL</a>,
176 <br/>
177 &#160;&#160;<a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">LIBINPUT_EVENT_TOUCH_FRAME</a>
178 <br/>
179 }</td></tr>
180 <tr class="memdesc:gac30276a06e8b1434b959f2c8dde74f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event type for events returned by <a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630" title="Retrieve the next event from libinput&#39;s internal event queue. ">libinput_get_event()</a>. <a href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">More...</a><br/></td></tr>
181 <tr class="separator:gac30276a06e8b1434b959f2c8dde74f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
182 <tr class="memitem:ga33ff306ed8505129adce4c092a3ed175"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> { <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">LIBINPUT_CONFIG_STATUS_SUCCESS</a>,
183 <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">LIBINPUT_CONFIG_STATUS_UNSUPPORTED</a>,
184 <a class="el" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">LIBINPUT_CONFIG_STATUS_INVALID</a>
185 }</td></tr>
186 <tr class="memdesc:ga33ff306ed8505129adce4c092a3ed175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status codes returned when applying configuration settings. <a href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">More...</a><br/></td></tr>
187 <tr class="separator:ga33ff306ed8505129adce4c092a3ed175"><td class="memSeparator" colspan="2">&#160;</td></tr>
188 <tr class="memitem:gaca4a3177736e6fd024cb77bc684857a1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> { <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a>,
189 <a class="el" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a>
190 }</td></tr>
191 <tr class="separator:gaca4a3177736e6fd024cb77bc684857a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
192 </table><table class="memberdecls">
193 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
194 Functions</h2></td></tr>
195 <tr class="memitem:ga1df956c16e26cbbd911e553ec081022a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput_event_destroy</a> (struct libinput_event *event)</td></tr>
196 <tr class="memdesc:ga1df956c16e26cbbd911e553ec081022a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the event. <a href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">More...</a><br/></td></tr>
197 <tr class="separator:ga1df956c16e26cbbd911e553ec081022a"><td class="memSeparator" colspan="2">&#160;</td></tr>
198 <tr class="memitem:ga430a3a7369afd6c5ff722179327df79a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput_event_get_type</a> (struct libinput_event *event)</td></tr>
199 <tr class="memdesc:ga430a3a7369afd6c5ff722179327df79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the event. <a href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">More...</a><br/></td></tr>
200 <tr class="separator:ga430a3a7369afd6c5ff722179327df79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
201 <tr class="memitem:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput_event_get_context</a> (struct libinput_event *event)</td></tr>
202 <tr class="memdesc:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the libinput context from the event. <a href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">More...</a><br/></td></tr>
203 <tr class="separator:ga28557ae0295f61c45f9b6e4ff7f86632"><td class="memSeparator" colspan="2">&#160;</td></tr>
204 <tr class="memitem:ga8a49a089181960f7536344f7637ea777"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput_event_get_device</a> (struct libinput_event *event)</td></tr>
205 <tr class="memdesc:ga8a49a089181960f7536344f7637ea777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the device associated with this event, if applicable. <a href="group__event.html#ga8a49a089181960f7536344f7637ea777">More...</a><br/></td></tr>
206 <tr class="separator:ga8a49a089181960f7536344f7637ea777"><td class="memSeparator" colspan="2">&#160;</td></tr>
207 <tr class="memitem:ga52acdc3afcf75efeb8153f50eef20615"><td class="memItemLeft" align="right" valign="top">struct libinput_event_pointer *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput_event_get_pointer_event</a> (struct libinput_event *event)</td></tr>
208 <tr class="memdesc:ga52acdc3afcf75efeb8153f50eef20615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pointer event that is this input event. <a href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">More...</a><br/></td></tr>
209 <tr class="separator:ga52acdc3afcf75efeb8153f50eef20615"><td class="memSeparator" colspan="2">&#160;</td></tr>
210 <tr class="memitem:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="memItemLeft" align="right" valign="top">struct libinput_event_keyboard *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput_event_get_keyboard_event</a> (struct libinput_event *event)</td></tr>
211 <tr class="memdesc:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the keyboard event that is this input event. <a href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">More...</a><br/></td></tr>
212 <tr class="separator:ga8378f8fdd01e8afbcea8ddbb5411570d"><td class="memSeparator" colspan="2">&#160;</td></tr>
213 <tr class="memitem:gad2cba8252024bdcc341499bedd3d0be7"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput_event_get_touch_event</a> (struct libinput_event *event)</td></tr>
214 <tr class="memdesc:gad2cba8252024bdcc341499bedd3d0be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the touch event that is this input event. <a href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">More...</a><br/></td></tr>
215 <tr class="separator:gad2cba8252024bdcc341499bedd3d0be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
216 <tr class="memitem:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/>
217 libinput_event_device_notify *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput_event_get_device_notify_event</a> (struct libinput_event *event)</td></tr>
218 <tr class="memdesc:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the device event that is this input event. <a href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">More...</a><br/></td></tr>
219 <tr class="separator:ga2bbc1391a3397d57d37ae3e2f8175abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
220 <tr class="memitem:ga19d329b7685c3a994718cec3845db1a0"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput_event_device_notify_get_base_event</a> (struct libinput_event_device_notify *event)</td></tr>
221 <tr class="separator:ga19d329b7685c3a994718cec3845db1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
222 <tr class="memitem:ga0f1a7bb1016816a277b52705d6ef2d71"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput_event_keyboard_get_time</a> (struct libinput_event_keyboard *event)</td></tr>
223 <tr class="separator:ga0f1a7bb1016816a277b52705d6ef2d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
224 <tr class="memitem:gad29cc9f276d9468463d01f65ccf8deaf"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput_event_keyboard_get_key</a> (struct libinput_event_keyboard *event)</td></tr>
225 <tr class="separator:gad29cc9f276d9468463d01f65ccf8deaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
226 <tr class="memitem:gaf7b018edbc264ba81a2d475d42ebbd98"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput_event_keyboard_get_key_state</a> (struct libinput_event_keyboard *event)</td></tr>
227 <tr class="separator:gaf7b018edbc264ba81a2d475d42ebbd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
228 <tr class="memitem:gae5a3b7e12e7e8b213b3da92a13adb88d"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput_event_keyboard_get_base_event</a> (struct libinput_event_keyboard *event)</td></tr>
229 <tr class="separator:gae5a3b7e12e7e8b213b3da92a13adb88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
230 <tr class="memitem:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput_event_keyboard_get_seat_key_count</a> (struct libinput_event_keyboard *event)</td></tr>
231 <tr class="memdesc:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="mdescLeft">&#160;</td><td class="mdescRight">For the key of a LIBINPUT_EVENT_KEYBOARD_KEY event, return the total number of keys pressed on all devices on the associated seat after the event was triggered. <a href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">More...</a><br/></td></tr>
232 <tr class="separator:ga75a647f08ef9df9db7a6ebb9b297add4"><td class="memSeparator" colspan="2">&#160;</td></tr>
233 <tr class="memitem:gac42d0e19d076f4e1fca15f1ec42510d5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput_event_pointer_get_time</a> (struct libinput_event_pointer *event)</td></tr>
234 <tr class="separator:gac42d0e19d076f4e1fca15f1ec42510d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
235 <tr class="memitem:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput_event_pointer_get_dx</a> (struct libinput_event_pointer *event)</td></tr>
236 <tr class="memdesc:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the delta between the last event and the current event. <a href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">More...</a><br/></td></tr>
237 <tr class="separator:ga29aaf86185a4c9dfa38d98b1fd4dba53"><td class="memSeparator" colspan="2">&#160;</td></tr>
238 <tr class="memitem:ga8bb38bb120bbc0ad569c701a6e622612"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput_event_pointer_get_dy</a> (struct libinput_event_pointer *event)</td></tr>
239 <tr class="memdesc:ga8bb38bb120bbc0ad569c701a6e622612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the delta between the last event and the current event. <a href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">More...</a><br/></td></tr>
240 <tr class="separator:ga8bb38bb120bbc0ad569c701a6e622612"><td class="memSeparator" colspan="2">&#160;</td></tr>
241 <tr class="memitem:gac221536b90c7beb70b70b52e710291b5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput_event_pointer_get_absolute_x</a> (struct libinput_event_pointer *event)</td></tr>
242 <tr class="memdesc:gac221536b90c7beb70b70b52e710291b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the pointer event, in mm from the top left corner of the device. <a href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">More...</a><br/></td></tr>
243 <tr class="separator:gac221536b90c7beb70b70b52e710291b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
244 <tr class="memitem:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput_event_pointer_get_absolute_y</a> (struct libinput_event_pointer *event)</td></tr>
245 <tr class="memdesc:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the pointer event, in mm from the top left corner of the device. <a href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">More...</a><br/></td></tr>
246 <tr class="separator:ga3e097a9bc6dbbb355fb1982912f72d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
247 <tr class="memitem:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput_event_pointer_get_absolute_x_transformed</a> (struct libinput_event_pointer *event, uint32_t width)</td></tr>
248 <tr class="memdesc:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the pointer event, transformed to screen coordinates. <a href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">More...</a><br/></td></tr>
249 <tr class="separator:ga26fa3d0b2bcc7f0a7939b84dc8207021"><td class="memSeparator" colspan="2">&#160;</td></tr>
250 <tr class="memitem:gaa48effb21f132f05f280859f3d2a9f23"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput_event_pointer_get_absolute_y_transformed</a> (struct libinput_event_pointer *event, uint32_t height)</td></tr>
251 <tr class="memdesc:gaa48effb21f132f05f280859f3d2a9f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the pointer event, transformed to screen coordinates. <a href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">More...</a><br/></td></tr>
252 <tr class="separator:gaa48effb21f132f05f280859f3d2a9f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
253 <tr class="memitem:ga6dc942e706a29d342a2021afaa49548b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput_event_pointer_get_button</a> (struct libinput_event_pointer *event)</td></tr>
254 <tr class="memdesc:ga6dc942e706a29d342a2021afaa49548b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the button that triggered this event. <a href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">More...</a><br/></td></tr>
255 <tr class="separator:ga6dc942e706a29d342a2021afaa49548b"><td class="memSeparator" colspan="2">&#160;</td></tr>
256 <tr class="memitem:ga41e87521ab2a8b7783cb47a63d71da18"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput_event_pointer_get_button_state</a> (struct libinput_event_pointer *event)</td></tr>
257 <tr class="memdesc:ga41e87521ab2a8b7783cb47a63d71da18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the button state that triggered this event. <a href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">More...</a><br/></td></tr>
258 <tr class="separator:ga41e87521ab2a8b7783cb47a63d71da18"><td class="memSeparator" colspan="2">&#160;</td></tr>
259 <tr class="memitem:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput_event_pointer_get_seat_button_count</a> (struct libinput_event_pointer *event)</td></tr>
260 <tr class="memdesc:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">For the button of a LIBINPUT_EVENT_POINTER_BUTTON event, return the total number of buttons pressed on all devices on the associated seat after the the event was triggered. <a href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">More...</a><br/></td></tr>
261 <tr class="separator:ga1990b268bdc42ff3277bc43dbb3102ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
262 <tr class="memitem:gace6f44c48d7696d989d5be38afaba817"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput_event_pointer_get_axis</a> (struct libinput_event_pointer *event)</td></tr>
263 <tr class="memdesc:gace6f44c48d7696d989d5be38afaba817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the axis that triggered this event. <a href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">More...</a><br/></td></tr>
264 <tr class="separator:gace6f44c48d7696d989d5be38afaba817"><td class="memSeparator" colspan="2">&#160;</td></tr>
265 <tr class="memitem:gaba288dcf55de6e2691fd75f31229f969"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput_event_pointer_get_axis_value</a> (struct libinput_event_pointer *event)</td></tr>
266 <tr class="memdesc:gaba288dcf55de6e2691fd75f31229f969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the axis value of the given axis. <a href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">More...</a><br/></td></tr>
267 <tr class="separator:gaba288dcf55de6e2691fd75f31229f969"><td class="memSeparator" colspan="2">&#160;</td></tr>
268 <tr class="memitem:ga4d4f75669001c323dcdc3cc9aec1574a"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput_event_pointer_get_base_event</a> (struct libinput_event_pointer *event)</td></tr>
269 <tr class="separator:ga4d4f75669001c323dcdc3cc9aec1574a"><td class="memSeparator" colspan="2">&#160;</td></tr>
270 <tr class="memitem:ga5d13da5020c6aff78604943690f8cbe9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput_event_touch_get_time</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
271 <tr class="separator:ga5d13da5020c6aff78604943690f8cbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
272 <tr class="memitem:gaf5294eab86b9125b7fb607049ff9ef09"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput_event_touch_get_slot</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
273 <tr class="memdesc:gaf5294eab86b9125b7fb607049ff9ef09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the slot of this touch event. <a href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">More...</a><br/></td></tr>
274 <tr class="separator:gaf5294eab86b9125b7fb607049ff9ef09"><td class="memSeparator" colspan="2">&#160;</td></tr>
275 <tr class="memitem:gabac75c78a0a360995e1a521edb38c4da"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput_event_touch_get_seat_slot</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
276 <tr class="memdesc:gabac75c78a0a360995e1a521edb38c4da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the seat slot of the touch event. <a href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">More...</a><br/></td></tr>
277 <tr class="separator:gabac75c78a0a360995e1a521edb38c4da"><td class="memSeparator" colspan="2">&#160;</td></tr>
278 <tr class="memitem:gac42d0e070811c360cf8ec784349954ba"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput_event_touch_get_x</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
279 <tr class="memdesc:gac42d0e070811c360cf8ec784349954ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the touch event, in mm from the top left corner of the device. <a href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">More...</a><br/></td></tr>
280 <tr class="separator:gac42d0e070811c360cf8ec784349954ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
281 <tr class="memitem:ga30711113bcef4bc02eda7878a054351c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput_event_touch_get_y</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
282 <tr class="memdesc:ga30711113bcef4bc02eda7878a054351c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the touch event, in mm from the top left corner of the device. <a href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">More...</a><br/></td></tr>
283 <tr class="separator:ga30711113bcef4bc02eda7878a054351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
284 <tr class="memitem:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput_event_touch_get_x_transformed</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event, uint32_t width)</td></tr>
285 <tr class="memdesc:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute x coordinate of the touch event, transformed to screen coordinates. <a href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">More...</a><br/></td></tr>
286 <tr class="separator:gadd04ccc3a7b4564e5aca3c8592f090fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
287 <tr class="memitem:ga36af95f47b6d69b581eaeee69927af6f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput_event_touch_get_y_transformed</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event, uint32_t height)</td></tr>
288 <tr class="memdesc:ga36af95f47b6d69b581eaeee69927af6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current absolute y coordinate of the touch event, transformed to screen coordinates. <a href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">More...</a><br/></td></tr>
289 <tr class="separator:ga36af95f47b6d69b581eaeee69927af6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
290 <tr class="memitem:gacb2cd144a719c9873cd4621db278e92c"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput_event_touch_get_base_event</a> (struct <a class="el" href="structlibinput__event__touch.html">libinput_event_touch</a> *event)</td></tr>
291 <tr class="separator:gacb2cd144a719c9873cd4621db278e92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
292 <tr class="memitem:ga7512ea602d4b259085c47f6374b078d1"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput_udev_create_context</a> (const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *interface, void *user_data, struct udev *udev)</td></tr>
293 <tr class="memdesc:ga7512ea602d4b259085c47f6374b078d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new libinput context from udev. <a href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">More...</a><br/></td></tr>
294 <tr class="separator:ga7512ea602d4b259085c47f6374b078d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
295 <tr class="memitem:ga71a60660b30cb476495e75766222d144"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput_udev_assign_seat</a> (struct libinput *libinput, const char *seat_id)</td></tr>
296 <tr class="memdesc:ga71a60660b30cb476495e75766222d144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a seat to this libinput context. <a href="group__base.html#ga71a60660b30cb476495e75766222d144">More...</a><br/></td></tr>
297 <tr class="separator:ga71a60660b30cb476495e75766222d144"><td class="memSeparator" colspan="2">&#160;</td></tr>
298 <tr class="memitem:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput_path_create_context</a> (const struct <a class="el" href="structlibinput__interface.html">libinput_interface</a> *interface, void *user_data)</td></tr>
299 <tr class="memdesc:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new libinput context that requires the caller to manually add or remove devices with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a> and <a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121" title="Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...">libinput_path_remove_device()</a>. <a href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">More...</a><br/></td></tr>
300 <tr class="separator:ga363c6b6e47dcf410a3b3ebd5547c8b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
301 <tr class="memitem:gaa797496f0150b482a4e01376bd33a47b"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput_path_add_device</a> (struct libinput *libinput, const char *path)</td></tr>
302 <tr class="memdesc:gaa797496f0150b482a4e01376bd33a47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a device to a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a>. <a href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">More...</a><br/></td></tr>
303 <tr class="separator:gaa797496f0150b482a4e01376bd33a47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
304 <tr class="memitem:ga9cb53cdcce2c000001ac17706a612121"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput_path_remove_device</a> (struct libinput_device *device)</td></tr>
305 <tr class="memdesc:ga9cb53cdcce2c000001ac17706a612121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a device from a libinput context initialized with <a class="el" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07" title="Create a new libinput context that requires the caller to manually add or remove devices with libinpu...">libinput_path_create_context()</a> or added to such a context with <a class="el" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b" title="Add a device to a libinput context initialized with libinput_path_create_context(). ">libinput_path_add_device()</a>. <a href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">More...</a><br/></td></tr>
306 <tr class="separator:ga9cb53cdcce2c000001ac17706a612121"><td class="memSeparator" colspan="2">&#160;</td></tr>
307 <tr class="memitem:ga885a59371d4e8de0e18a2a2a66942e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput_get_fd</a> (struct libinput *libinput)</td></tr>
308 <tr class="memdesc:ga885a59371d4e8de0e18a2a2a66942e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">libinput keeps a single file descriptor for all events. <a href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">More...</a><br/></td></tr>
309 <tr class="separator:ga885a59371d4e8de0e18a2a2a66942e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
310 <tr class="memitem:ga271f910ed17461830e48d4cd20483a00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput_dispatch</a> (struct libinput *libinput)</td></tr>
311 <tr class="memdesc:ga271f910ed17461830e48d4cd20483a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main event dispatchment function. <a href="group__base.html#ga271f910ed17461830e48d4cd20483a00">More...</a><br/></td></tr>
312 <tr class="separator:ga271f910ed17461830e48d4cd20483a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
313 <tr class="memitem:gacead6670eaecf7c807659e2b6c725630"><td class="memItemLeft" align="right" valign="top">struct libinput_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput_get_event</a> (struct libinput *libinput)</td></tr>
314 <tr class="memdesc:gacead6670eaecf7c807659e2b6c725630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the next event from libinput's internal event queue. <a href="group__base.html#gacead6670eaecf7c807659e2b6c725630">More...</a><br/></td></tr>
315 <tr class="separator:gacead6670eaecf7c807659e2b6c725630"><td class="memSeparator" colspan="2">&#160;</td></tr>
316 <tr class="memitem:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput_next_event_type</a> (struct libinput *libinput)</td></tr>
317 <tr class="memdesc:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of the next event in the internal queue. <a href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">More...</a><br/></td></tr>
318 <tr class="separator:gac86ad3c0c5bc27d8f630264f46cdf005"><td class="memSeparator" colspan="2">&#160;</td></tr>
319 <tr class="memitem:ga3eab49413b8430c2eee987a39f4a410b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput_get_user_data</a> (struct libinput *libinput)</td></tr>
320 <tr class="separator:ga3eab49413b8430c2eee987a39f4a410b"><td class="memSeparator" colspan="2">&#160;</td></tr>
321 <tr class="memitem:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput_resume</a> (struct libinput *libinput)</td></tr>
322 <tr class="memdesc:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume a suspended libinput context. <a href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">More...</a><br/></td></tr>
323 <tr class="separator:ga5a1ee92fa05df27e3c0f37d524cc17a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
324 <tr class="memitem:ga60662dc666f6188dc207467c9d8e99ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput_suspend</a> (struct libinput *libinput)</td></tr>
325 <tr class="memdesc:ga60662dc666f6188dc207467c9d8e99ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend monitoring for new devices and close existing devices. <a href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">More...</a><br/></td></tr>
326 <tr class="separator:ga60662dc666f6188dc207467c9d8e99ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
327 <tr class="memitem:gafff29392ec52e1e7de5bb812e085127a"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput_ref</a> (struct libinput *libinput)</td></tr>
328 <tr class="memdesc:gafff29392ec52e1e7de5bb812e085127a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the context. <a href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">More...</a><br/></td></tr>
329 <tr class="separator:gafff29392ec52e1e7de5bb812e085127a"><td class="memSeparator" colspan="2">&#160;</td></tr>
330 <tr class="memitem:ga7ed0797d23e34b650e0aeb98b5350309"><td class="memItemLeft" align="right" valign="top">struct libinput *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a> (struct libinput *libinput)</td></tr>
331 <tr class="memdesc:ga7ed0797d23e34b650e0aeb98b5350309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the libinput context. <a href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">More...</a><br/></td></tr>
332 <tr class="separator:ga7ed0797d23e34b650e0aeb98b5350309"><td class="memSeparator" colspan="2">&#160;</td></tr>
333 <tr class="memitem:ga75a500c54c61cfcecd4c76dbb8022933"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput_log_set_priority</a> (struct libinput *libinput, enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority)</td></tr>
334 <tr class="memdesc:ga75a500c54c61cfcecd4c76dbb8022933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global log priority. <a href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">More...</a><br/></td></tr>
335 <tr class="separator:ga75a500c54c61cfcecd4c76dbb8022933"><td class="memSeparator" colspan="2">&#160;</td></tr>
336 <tr class="memitem:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput_log_get_priority</a> (const struct libinput *libinput)</td></tr>
337 <tr class="memdesc:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the global log priority. <a href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">More...</a><br/></td></tr>
338 <tr class="separator:ga7367998ca39a6e873920ba5e2a12d4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
339 <tr class="memitem:ga60445ab81e8ee3a10b85e88617231069"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput_seat_ref</a> (struct libinput_seat *seat)</td></tr>
340 <tr class="memdesc:ga60445ab81e8ee3a10b85e88617231069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the refcount of the seat. <a href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">More...</a><br/></td></tr>
341 <tr class="separator:ga60445ab81e8ee3a10b85e88617231069"><td class="memSeparator" colspan="2">&#160;</td></tr>
342 <tr class="memitem:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput_seat_unref</a> (struct libinput_seat *seat)</td></tr>
343 <tr class="memdesc:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease the refcount of the seat. <a href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">More...</a><br/></td></tr>
344 <tr class="separator:ga81d52d0e9332f07c39a899c8c2fd3400"><td class="memSeparator" colspan="2">&#160;</td></tr>
345 <tr class="memitem:ga669ed8a095445e9537deef8a9880587b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput_seat_set_user_data</a> (struct libinput_seat *seat, void *user_data)</td></tr>
346 <tr class="memdesc:ga669ed8a095445e9537deef8a9880587b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this seat. <a href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">More...</a><br/></td></tr>
347 <tr class="separator:ga669ed8a095445e9537deef8a9880587b"><td class="memSeparator" colspan="2">&#160;</td></tr>
348 <tr class="memitem:gac7af04e67fc803f1f7756d02e5372e91"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput_seat_get_user_data</a> (struct libinput_seat *seat)</td></tr>
349 <tr class="memdesc:gac7af04e67fc803f1f7756d02e5372e91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this seat, if any. <a href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">More...</a><br/></td></tr>
350 <tr class="separator:gac7af04e67fc803f1f7756d02e5372e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
351 <tr class="memitem:gac881036869846ad87eb7814fbf308251"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput_seat_get_physical_name</a> (struct libinput_seat *seat)</td></tr>
352 <tr class="memdesc:gac881036869846ad87eb7814fbf308251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the physical name of the seat. <a href="group__seat.html#gac881036869846ad87eb7814fbf308251">More...</a><br/></td></tr>
353 <tr class="separator:gac881036869846ad87eb7814fbf308251"><td class="memSeparator" colspan="2">&#160;</td></tr>
354 <tr class="memitem:ga61e477120d5f0cc67a06d04575186948"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput_seat_get_logical_name</a> (struct libinput_seat *seat)</td></tr>
355 <tr class="memdesc:ga61e477120d5f0cc67a06d04575186948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the logical name of the seat. <a href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">More...</a><br/></td></tr>
356 <tr class="separator:ga61e477120d5f0cc67a06d04575186948"><td class="memSeparator" colspan="2">&#160;</td></tr>
357 <tr class="memitem:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput_device_ref</a> (struct libinput_device *device)</td></tr>
358 <tr class="memdesc:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the refcount of the input device. <a href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">More...</a><br/></td></tr>
359 <tr class="separator:ga3335d55a50f0c2fb0c5f496a3105d467"><td class="memSeparator" colspan="2">&#160;</td></tr>
360 <tr class="memitem:ga857340e2dab06c7f7d84173a5a1fa427"><td class="memItemLeft" align="right" valign="top">struct libinput_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput_device_unref</a> (struct libinput_device *device)</td></tr>
361 <tr class="memdesc:ga857340e2dab06c7f7d84173a5a1fa427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease the refcount of the input device. <a href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">More...</a><br/></td></tr>
362 <tr class="separator:ga857340e2dab06c7f7d84173a5a1fa427"><td class="memSeparator" colspan="2">&#160;</td></tr>
363 <tr class="memitem:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput_device_set_user_data</a> (struct libinput_device *device, void *user_data)</td></tr>
364 <tr class="memdesc:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this input device. <a href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">More...</a><br/></td></tr>
365 <tr class="separator:ga6243ad6005b2ce2a5ecfd1b04787fe93"><td class="memSeparator" colspan="2">&#160;</td></tr>
366 <tr class="memitem:gaf5c902f56206a5d441e50c3a95ec458b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput_device_get_user_data</a> (struct libinput_device *device)</td></tr>
367 <tr class="memdesc:gaf5c902f56206a5d441e50c3a95ec458b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this input device, if any. <a href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">More...</a><br/></td></tr>
368 <tr class="separator:gaf5c902f56206a5d441e50c3a95ec458b"><td class="memSeparator" colspan="2">&#160;</td></tr>
369 <tr class="memitem:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput_device_get_sysname</a> (struct libinput_device *device)</td></tr>
370 <tr class="memdesc:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the system name of the device. <a href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">More...</a><br/></td></tr>
371 <tr class="separator:ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
372 <tr class="memitem:ga31655d2c2f173d059b3f891801c0a429"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput_device_get_name</a> (struct libinput_device *device)</td></tr>
373 <tr class="memdesc:ga31655d2c2f173d059b3f891801c0a429"><td class="mdescLeft">&#160;</td><td class="mdescRight">The descriptive device name as advertised by the kernel and/or the hardware itself. <a href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">More...</a><br/></td></tr>
374 <tr class="separator:ga31655d2c2f173d059b3f891801c0a429"><td class="memSeparator" colspan="2">&#160;</td></tr>
375 <tr class="memitem:gae011910b4a673f1293a20a84be4e52e2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput_device_get_id_product</a> (struct libinput_device *device)</td></tr>
376 <tr class="memdesc:gae011910b4a673f1293a20a84be4e52e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the product ID for this device. <a href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">More...</a><br/></td></tr>
377 <tr class="separator:gae011910b4a673f1293a20a84be4e52e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
378 <tr class="memitem:gad9e4c074b03da790de5e117c71ce8d50"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput_device_get_id_vendor</a> (struct libinput_device *device)</td></tr>
379 <tr class="memdesc:gad9e4c074b03da790de5e117c71ce8d50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the vendor ID for this device. <a href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">More...</a><br/></td></tr>
380 <tr class="separator:gad9e4c074b03da790de5e117c71ce8d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
381 <tr class="memitem:gaf48626f6190e9c9bc14abb704e66cc22"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput_device_get_output_name</a> (struct libinput_device *device)</td></tr>
382 <tr class="memdesc:gaf48626f6190e9c9bc14abb704e66cc22"><td class="mdescLeft">&#160;</td><td class="mdescRight">A device may be mapped to a single output, or all available outputs. <a href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">More...</a><br/></td></tr>
383 <tr class="separator:gaf48626f6190e9c9bc14abb704e66cc22"><td class="memSeparator" colspan="2">&#160;</td></tr>
384 <tr class="memitem:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="memItemLeft" align="right" valign="top">struct libinput_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput_device_get_seat</a> (struct libinput_device *device)</td></tr>
385 <tr class="memdesc:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the seat associated with this input device. <a href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">More...</a><br/></td></tr>
386 <tr class="separator:ga27823edb40750992a1a05e7a9f5dc8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
387 <tr class="memitem:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput_device_led_update</a> (struct libinput_device *device, enum <a class="el" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> leds)</td></tr>
388 <tr class="memdesc:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the LEDs on the device, if any. <a href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">More...</a><br/></td></tr>
389 <tr class="separator:gafdb3ddfb91e6bd38b6356a5bb51547ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
390 <tr class="memitem:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput_device_get_keys</a> (struct libinput_device *device, char *keys, size_t size)</td></tr>
391 <tr class="memdesc:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the bitmask in keys to the bitmask of the keys present on the device (see linux/input.h), up to size characters. <a href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">More...</a><br/></td></tr>
392 <tr class="separator:ga4cfc6fad3e3fb3e13498575f580b0184"><td class="memSeparator" colspan="2">&#160;</td></tr>
393 <tr class="memitem:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput_device_calibrate</a> (struct libinput_device *device, float calibration[6])</td></tr>
394 <tr class="memdesc:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the 3x3 transformation matrix to absolute device coordinates. <a href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">More...</a><br/></td></tr>
395 <tr class="separator:ga3f2fd86e275a67fb192f89034ff5ee48"><td class="memSeparator" colspan="2">&#160;</td></tr>
396 <tr class="memitem:gaa32d887454e8baf8aaeeb635329aef89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput_device_has_capability</a> (struct libinput_device *device, enum <a class="el" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> capability)</td></tr>
397 <tr class="memdesc:gaa32d887454e8baf8aaeeb635329aef89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given device has the specified capability. <a href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">More...</a><br/></td></tr>
398 <tr class="separator:gaa32d887454e8baf8aaeeb635329aef89"><td class="memSeparator" colspan="2">&#160;</td></tr>
399 <tr class="memitem:gab91ae9014902fafe4f015e1f42233d27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput_device_get_size</a> (struct libinput_device *device, double *width, double *height)</td></tr>
400 <tr class="memdesc:gab91ae9014902fafe4f015e1f42233d27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the physical size of a device in mm, where meaningful. <a href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">More...</a><br/></td></tr>
401 <tr class="separator:gab91ae9014902fafe4f015e1f42233d27"><td class="memSeparator" colspan="2">&#160;</td></tr>
402 <tr class="memitem:ga7eee5ba99988d80bb9dd744894c72e06"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput_config_status_to_str</a> (enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> status)</td></tr>
403 <tr class="memdesc:ga7eee5ba99988d80bb9dd744894c72e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string describing the error. <a href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">More...</a><br/></td></tr>
404 <tr class="separator:ga7eee5ba99988d80bb9dd744894c72e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
405 <tr class="memitem:ga13973d6bd75a99708723e3c6684517c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput_device_config_tap_get_finger_count</a> (struct libinput_device *device)</td></tr>
406 <tr class="memdesc:ga13973d6bd75a99708723e3c6684517c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the device supports tap-to-click. <a href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">More...</a><br/></td></tr>
407 <tr class="separator:ga13973d6bd75a99708723e3c6684517c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
408 <tr class="memitem:ga3caf860883d4e2e42b7842599da03e56"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput_device_config_tap_set_enabled</a> (struct libinput_device *device, enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> enable)</td></tr>
409 <tr class="memdesc:ga3caf860883d4e2e42b7842599da03e56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping to left, right, middle click, respectively. <a href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">More...</a><br/></td></tr>
410 <tr class="separator:ga3caf860883d4e2e42b7842599da03e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
411 <tr class="memitem:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput_device_config_tap_get_enabled</a> (struct libinput_device *device)</td></tr>
412 <tr class="memdesc:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if tap-to-click is enabled on this device. <a href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">More...</a><br/></td></tr>
413 <tr class="separator:ga8bfe1d541dcadaedeedcd7a98d5b7e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
414 <tr class="memitem:gaf6906b7344ee8d446594de08b4d065be"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput_device_config_tap_get_default_enabled</a> (struct libinput_device *device)</td></tr>
415 <tr class="memdesc:gaf6906b7344ee8d446594de08b4d065be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the default setting for whether tapping is enabled on this device. <a href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">More...</a><br/></td></tr>
416 <tr class="separator:gaf6906b7344ee8d446594de08b4d065be"><td class="memSeparator" colspan="2">&#160;</td></tr>
417 </table>
418 <h2 class="groupheader">Macro Definition Documentation</h2>
419 <a class="anchor" id="a765fe0783fd8cd83a82ecfe910780901"></a>
420 <div class="memitem">
421 <div class="memproto">
422 <table class="memname">
423 <tr>
424 <td class="memname">#define LIBINPUT_ATTRIBUTE_DEPRECATED</td>
425 </tr>
426 </table>
427 </div><div class="memdoc">
428
429 </div>
430 </div>
431 <a class="anchor" id="a7de828556e8e12b23e4c5acec1581780"></a>
432 <div class="memitem">
433 <div class="memproto">
434 <table class="memname">
435 <tr>
436 <td class="memname">#define LIBINPUT_ATTRIBUTE_PRINTF</td>
437 <td>(</td>
438 <td class="paramtype">&#160;</td>
439 <td class="paramname">_format, </td>
440 </tr>
441 <tr>
442 <td class="paramkey"></td>
443 <td></td>
444 <td class="paramtype">&#160;</td>
445 <td class="paramname">_args&#160;</td>
446 </tr>
447 <tr>
448 <td></td>
449 <td>)</td>
450 <td></td><td></td>
451 </tr>
452 </table>
453 </div><div class="memdoc">
454
455 </div>
456 </div>
457 <h2 class="groupheader">Enumeration Type Documentation</h2>
458 <a class="anchor" id="aa7e9ebbd1a13fe2ed6f44e69df3216e1"></a>
459 <div class="memitem">
460 <div class="memproto">
461 <table class="memname">
462 <tr>
463 <td class="memname">enum <a class="el" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a></td>
464 </tr>
465 </table>
466 </div><div class="memdoc">
467
468 <p>Log priority for internal logging messages. </p>
469 <table class="fieldtable">
470 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8"></a>LIBINPUT_LOG_PRIORITY_DEBUG</em>&nbsp;</td><td class="fielddoc">
471 </td></tr>
472 <tr><td class="fieldname"><em><a class="anchor" id="aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500"></a>LIBINPUT_LOG_PRIORITY_INFO</em>&nbsp;</td><td class="fielddoc">
473 </td></tr>
474 <tr><td class="fieldname"><em><a class="anchor" id="aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d"></a>LIBINPUT_LOG_PRIORITY_ERROR</em>&nbsp;</td><td class="fielddoc">
475 </td></tr>
476 </table>
477
478 </div>
479 </div>
480 </div><!-- contents -->
481 <!-- start footer part -->
482 <hr class="footer"/><address class="footer"><small>
483 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
484 <img class="footer" src="doxygen.png" alt="doxygen"/>
485 </a> 1.8.5
486 </small></address>
487 </body>
488 </html>
+0
-615
doc/html/libinput_8h_source.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: /home/jonas/Dev/wayland/libinput/src/libinput.h Source File</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li class="current"><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="files.html"><span>File&#160;List</span></a></li>
66 <li><a href="globals.html"><span>Globals</span></a></li>
67 </ul>
68 </div>
69 <!-- window showing the filter options -->
70 <div id="MSearchSelectWindow"
71 onmouseover="return searchBox.OnSearchSelectShow()"
72 onmouseout="return searchBox.OnSearchSelectHide()"
73 onkeydown="return searchBox.OnSearchSelectKey(event)">
74 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
75
76 <!-- iframe showing the search results (closed by default) -->
77 <div id="MSearchResultsWindow">
78 <iframe src="javascript:void(0)" frameborder="0"
79 name="MSearchResults" id="MSearchResults">
80 </iframe>
81 </div>
82
83 <div id="nav-path" class="navpath">
84 <ul>
85 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
86 </div>
87 </div><!-- top -->
88 <div class="header">
89 <div class="headertitle">
90 <div class="title">libinput.h</div> </div>
91 </div><!--header-->
92 <div class="contents">
93 <a href="libinput_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
94 <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright © 2013 Jonas Ådahl</span></div>
95 <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
96 <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Permission to use, copy, modify, distribute, and sell this software and</span></div>
97 <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * its documentation for any purpose is hereby granted without fee, provided</span></div>
98 <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * that the above copyright notice appear in all copies and that both that</span></div>
99 <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * copyright notice and this permission notice appear in supporting</span></div>
100 <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * documentation, and that the name of the copyright holders not be used in</span></div>
101 <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * advertising or publicity pertaining to distribution of the software</span></div>
102 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * without specific, written prior permission. The copyright holders make</span></div>
103 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * no representations about the suitability of this software for any</span></div>
104 <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * purpose. It is provided &quot;as is&quot; without express or implied warranty.</span></div>
105 <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> *</span></div>
106 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS</span></div>
107 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND</span></div>
108 <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY</span></div>
109 <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER</span></div>
110 <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF</span></div>
111 <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
112 <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
113 <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> */</span></div>
114 <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
115 <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef LIBINPUT_H</span></div>
116 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LIBINPUT_H</span></div>
117 <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
118 <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
119 <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
120 <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#endif</span></div>
121 <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span></div>
122 <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
123 <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
124 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;libudev.h&gt;</span></div>
125 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
126 <div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780"> 34</a></span>&#160;<span class="preprocessor">#define LIBINPUT_ATTRIBUTE_PRINTF(_format, _args) \</span></div>
127 <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"> __attribute__ ((format (printf, _format, _args)))</span></div>
128 <div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901"> 36</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LIBINPUT_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))</span></div>
129 <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span></div>
130 <div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1"> 109</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> {</div>
131 <div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8"> 110</a></span>&#160; <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8">LIBINPUT_LOG_PRIORITY_DEBUG</a> = 10,</div>
132 <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500"> 111</a></span>&#160; <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500">LIBINPUT_LOG_PRIORITY_INFO</a> = 20,</div>
133 <div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d"> 112</a></span>&#160; <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d">LIBINPUT_LOG_PRIORITY_ERROR</a> = 30,</div>
134 <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;};</div>
135 <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
136 <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15"> 122</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> {</div>
137 <div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b"> 123</a></span>&#160; <a class="code" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">LIBINPUT_DEVICE_CAP_KEYBOARD</a> = 0,</div>
138 <div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f"> 124</a></span>&#160; <a class="code" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">LIBINPUT_DEVICE_CAP_POINTER</a> = 1,</div>
139 <div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa"> 125</a></span>&#160; <a class="code" href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">LIBINPUT_DEVICE_CAP_TOUCH</a> = 2</div>
140 <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;};</div>
141 <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
142 <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17"> 134</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a> {</div>
143 <div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c"> 135</a></span>&#160; <a class="code" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">LIBINPUT_KEY_STATE_RELEASED</a> = 0,</div>
144 <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e"> 136</a></span>&#160; <a class="code" href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">LIBINPUT_KEY_STATE_PRESSED</a> = 1</div>
145 <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;};</div>
146 <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
147 <div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970"> 144</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> {</div>
148 <div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a"> 145</a></span>&#160; <a class="code" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">LIBINPUT_LED_NUM_LOCK</a> = (1 &lt;&lt; 0),</div>
149 <div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe"> 146</a></span>&#160; <a class="code" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">LIBINPUT_LED_CAPS_LOCK</a> = (1 &lt;&lt; 1),</div>
150 <div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd"> 147</a></span>&#160; <a class="code" href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">LIBINPUT_LED_SCROLL_LOCK</a> = (1 &lt;&lt; 2)</div>
151 <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;};</div>
152 <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
153 <div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf"> 156</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a> {</div>
154 <div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b"> 157</a></span>&#160; <a class="code" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">LIBINPUT_BUTTON_STATE_RELEASED</a> = 0,</div>
155 <div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4"> 158</a></span>&#160; <a class="code" href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">LIBINPUT_BUTTON_STATE_PRESSED</a> = 1</div>
156 <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;};</div>
157 <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
158 <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
159 <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c"> 167</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a> {</div>
160 <div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5"> 168</a></span>&#160; <a class="code" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL</a> = 0,</div>
161 <div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852"> 169</a></span>&#160; <a class="code" href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL</a> = 1,</div>
162 <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;};</div>
163 <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
164 <div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c"> 177</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a> {</div>
165 <div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67"> 183</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">LIBINPUT_EVENT_NONE</a> = 0,</div>
166 <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div>
167 <div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b"> 193</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">LIBINPUT_EVENT_DEVICE_ADDED</a>,</div>
168 <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div>
169 <div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09"> 199</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">LIBINPUT_EVENT_DEVICE_REMOVED</a>,</div>
170 <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div>
171 <div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3"> 201</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">LIBINPUT_EVENT_KEYBOARD_KEY</a> = 300,</div>
172 <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div>
173 <div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9"> 203</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">LIBINPUT_EVENT_POINTER_MOTION</a> = 400,</div>
174 <div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315"> 204</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE</a>,</div>
175 <div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689"> 205</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">LIBINPUT_EVENT_POINTER_BUTTON</a>,</div>
176 <div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde"> 206</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">LIBINPUT_EVENT_POINTER_AXIS</a>,</div>
177 <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
178 <div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb"> 208</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">LIBINPUT_EVENT_TOUCH_DOWN</a> = 500,</div>
179 <div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62"> 209</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">LIBINPUT_EVENT_TOUCH_UP</a>,</div>
180 <div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468"> 210</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">LIBINPUT_EVENT_TOUCH_MOTION</a>,</div>
181 <div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052"> 211</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">LIBINPUT_EVENT_TOUCH_CANCEL</a>,</div>
182 <div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387"> 216</a></span>&#160; <a class="code" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">LIBINPUT_EVENT_TOUCH_FRAME</a></div>
183 <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;};</div>
184 <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
185 <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="keyword">struct </span>libinput;</div>
186 <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="keyword">struct </span>libinput_device;</div>
187 <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="keyword">struct </span>libinput_seat;</div>
188 <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
189 <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="keyword">struct </span>libinput_event;</div>
190 <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword">struct </span>libinput_event_device_notify;</div>
191 <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="keyword">struct </span>libinput_event_keyboard;</div>
192 <div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="structlibinput__event__touch.html"> 226</a></span>&#160;<span class="keyword">struct </span>libinput_event_pointer;</div>
193 <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div>
194 <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="keyword">struct </span><a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a>;</div>
195 <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
196 <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="keywordtype">void</span></div>
197 <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<a class="code" href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput_event_destroy</a>(<span class="keyword">struct</span> libinput_event *event);</div>
198 <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div>
199 <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a></div>
200 <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<a class="code" href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput_event_get_type</a>(<span class="keyword">struct</span> libinput_event *event);</div>
201 <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div>
202 <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keyword">struct </span>libinput *</div>
203 <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<a class="code" href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput_event_get_context</a>(<span class="keyword">struct</span> libinput_event *event);</div>
204 <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
205 <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword">struct </span>libinput_device *</div>
206 <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<a class="code" href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput_event_get_device</a>(<span class="keyword">struct</span> libinput_event *event);</div>
207 <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
208 <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="keyword">struct </span>libinput_event_pointer *</div>
209 <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<a class="code" href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput_event_get_pointer_event</a>(<span class="keyword">struct</span> libinput_event *event);</div>
210 <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div>
211 <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="keyword">struct </span>libinput_event_keyboard *</div>
212 <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<a class="code" href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput_event_get_keyboard_event</a>(<span class="keyword">struct</span> libinput_event *event);</div>
213 <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
214 <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="keyword">struct </span><a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *</div>
215 <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<a class="code" href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput_event_get_touch_event</a>(<span class="keyword">struct</span> libinput_event *event);</div>
216 <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
217 <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="keyword">struct </span>libinput_event_device_notify *</div>
218 <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<a class="code" href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput_event_get_device_notify_event</a>(<span class="keyword">struct</span> libinput_event *event);</div>
219 <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div>
220 <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keyword">struct </span>libinput_event *</div>
221 <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<a class="code" href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput_event_device_notify_get_base_event</a>(<span class="keyword">struct</span> libinput_event_device_notify *event);</div>
222 <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div>
223 <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;uint32_t</div>
224 <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<a class="code" href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput_event_keyboard_get_time</a>(<span class="keyword">struct</span> libinput_event_keyboard *event);</div>
225 <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div>
226 <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;uint32_t</div>
227 <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<a class="code" href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput_event_keyboard_get_key</a>(<span class="keyword">struct</span> libinput_event_keyboard *event);</div>
228 <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
229 <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a></div>
230 <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<a class="code" href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput_event_keyboard_get_key_state</a>(<span class="keyword">struct</span> libinput_event_keyboard *event);</div>
231 <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div>
232 <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;</div>
233 <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="keyword">struct </span>libinput_event *</div>
234 <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<a class="code" href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput_event_keyboard_get_base_event</a>(<span class="keyword">struct</span> libinput_event_keyboard *event);</div>
235 <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
236 <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;uint32_t</div>
237 <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<a class="code" href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput_event_keyboard_get_seat_key_count</a>(</div>
238 <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keyword">struct</span> libinput_event_keyboard *event);</div>
239 <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
240 <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;uint32_t</div>
241 <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<a class="code" href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput_event_pointer_get_time</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
242 <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div>
243 <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="keywordtype">double</span></div>
244 <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<a class="code" href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput_event_pointer_get_dx</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
245 <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
246 <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="keywordtype">double</span></div>
247 <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<a class="code" href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput_event_pointer_get_dy</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
248 <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div>
249 <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="keywordtype">double</span></div>
250 <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<a class="code" href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput_event_pointer_get_absolute_x</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
251 <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div>
252 <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keywordtype">double</span></div>
253 <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<a class="code" href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput_event_pointer_get_absolute_y</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
254 <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div>
255 <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="keywordtype">double</span></div>
256 <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<a class="code" href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput_event_pointer_get_absolute_x_transformed</a>(</div>
257 <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">struct</span> libinput_event_pointer *event,</div>
258 <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; uint32_t width);</div>
259 <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div>
260 <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="keywordtype">double</span></div>
261 <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<a class="code" href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput_event_pointer_get_absolute_y_transformed</a>(</div>
262 <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keyword">struct</span> libinput_event_pointer *event,</div>
263 <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; uint32_t height);</div>
264 <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
265 <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;uint32_t</div>
266 <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<a class="code" href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput_event_pointer_get_button</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
267 <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div>
268 <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a></div>
269 <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<a class="code" href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput_event_pointer_get_button_state</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
270 <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div>
271 <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;uint32_t</div>
272 <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;<a class="code" href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput_event_pointer_get_seat_button_count</a>(</div>
273 <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keyword">struct</span> libinput_event_pointer *event);</div>
274 <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div>
275 <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a></div>
276 <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;<a class="code" href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput_event_pointer_get_axis</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
277 <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div>
278 <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;<span class="keywordtype">double</span></div>
279 <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<a class="code" href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput_event_pointer_get_axis_value</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
280 <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;</div>
281 <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;<span class="keyword">struct </span>libinput_event *</div>
282 <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<a class="code" href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput_event_pointer_get_base_event</a>(<span class="keyword">struct</span> libinput_event_pointer *event);</div>
283 <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div>
284 <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;</div>
285 <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;uint32_t</div>
286 <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<a class="code" href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput_event_touch_get_time</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
287 <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;</div>
288 <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;int32_t</div>
289 <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;<a class="code" href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput_event_touch_get_slot</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
290 <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div>
291 <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;int32_t</div>
292 <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<a class="code" href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput_event_touch_get_seat_slot</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
293 <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div>
294 <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="keywordtype">double</span></div>
295 <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<a class="code" href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput_event_touch_get_x</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
296 <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;</div>
297 <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="keywordtype">double</span></div>
298 <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;<a class="code" href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput_event_touch_get_y</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
299 <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;</div>
300 <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="keywordtype">double</span></div>
301 <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;<a class="code" href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput_event_touch_get_x_transformed</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event,</div>
302 <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; uint32_t width);</div>
303 <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div>
304 <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="keywordtype">double</span></div>
305 <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<a class="code" href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput_event_touch_get_y_transformed</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event,</div>
306 <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; uint32_t height);</div>
307 <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;</div>
308 <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;<span class="keyword">struct </span>libinput_event *</div>
309 <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<a class="code" href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput_event_touch_get_base_event</a>(<span class="keyword">struct</span> <a class="code" href="structlibinput__event__touch.html">libinput_event_touch</a> *event);</div>
310 <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;</div>
311 <div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="structlibinput__interface.html"> 754</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structlibinput__interface.html">libinput_interface</a> {</div>
312 <div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4"> 766</a></span>&#160; int (*<a class="code" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">open_restricted</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">int</span> flags, <span class="keywordtype">void</span> *user_data);</div>
313 <div class="line"><a name="l00774"></a><span class="lineno"><a class="line" href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef"> 774</a></span>&#160; void (*<a class="code" href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef">close_restricted</a>)(<span class="keywordtype">int</span> fd, <span class="keywordtype">void</span> *user_data);</div>
314 <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;};</div>
315 <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;</div>
316 <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="keyword">struct </span>libinput *</div>
317 <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<a class="code" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput_udev_create_context</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structlibinput__interface.html">libinput_interface</a> *interface,</div>
318 <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordtype">void</span> *user_data,</div>
319 <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keyword">struct</span> udev *udev);</div>
320 <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div>
321 <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="keywordtype">int</span></div>
322 <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;<a class="code" href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput_udev_assign_seat</a>(<span class="keyword">struct</span> libinput *libinput,</div>
323 <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *seat_id);</div>
324 <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div>
325 <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="keyword">struct </span>libinput *</div>
326 <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;<a class="code" href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput_path_create_context</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structlibinput__interface.html">libinput_interface</a> *interface,</div>
327 <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordtype">void</span> *user_data);</div>
328 <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;</div>
329 <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;<span class="keyword">struct </span>libinput_device *</div>
330 <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;<a class="code" href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput_path_add_device</a>(<span class="keyword">struct</span> libinput *libinput,</div>
331 <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
332 <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;</div>
333 <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;<span class="keywordtype">void</span></div>
334 <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;<a class="code" href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput_path_remove_device</a>(<span class="keyword">struct</span> libinput_device *device);</div>
335 <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;</div>
336 <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;<span class="keywordtype">int</span></div>
337 <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;<a class="code" href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput_get_fd</a>(<span class="keyword">struct</span> libinput *libinput);</div>
338 <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;</div>
339 <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;<span class="keywordtype">int</span></div>
340 <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;<a class="code" href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput_dispatch</a>(<span class="keyword">struct</span> libinput *libinput);</div>
341 <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div>
342 <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;<span class="keyword">struct </span>libinput_event *</div>
343 <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;<a class="code" href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput_get_event</a>(<span class="keyword">struct</span> libinput *libinput);</div>
344 <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;</div>
345 <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a></div>
346 <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;<a class="code" href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput_next_event_type</a>(<span class="keyword">struct</span> libinput *libinput);</div>
347 <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;</div>
348 <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;<span class="keywordtype">void</span> *</div>
349 <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;<a class="code" href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput_get_user_data</a>(<span class="keyword">struct</span> libinput *libinput);</div>
350 <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;</div>
351 <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;<span class="keywordtype">int</span></div>
352 <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160;<a class="code" href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput_resume</a>(<span class="keyword">struct</span> libinput *libinput);</div>
353 <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;</div>
354 <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;<span class="keywordtype">void</span></div>
355 <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;<a class="code" href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput_suspend</a>(<span class="keyword">struct</span> libinput *libinput);</div>
356 <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;</div>
357 <div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;<span class="keyword">struct </span>libinput *</div>
358 <div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;<a class="code" href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput_ref</a>(<span class="keyword">struct</span> libinput *libinput);</div>
359 <div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;</div>
360 <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="keyword">struct </span>libinput *</div>
361 <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<a class="code" href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a>(<span class="keyword">struct</span> libinput *libinput);</div>
362 <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;</div>
363 <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;<span class="keywordtype">void</span></div>
364 <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;<a class="code" href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput_log_set_priority</a>(<span class="keyword">struct</span> libinput *libinput,</div>
365 <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="keyword">enum</span> <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority);</div>
366 <div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div>
367 <div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;<span class="keyword">enum</span> <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a></div>
368 <div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<a class="code" href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput_log_get_priority</a>(<span class="keyword">const</span> <span class="keyword">struct</span> libinput *libinput);</div>
369 <div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
370 <div class="line"><a name="l01052"></a><span class="lineno"><a class="line" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2"> 1052</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a>)(<span class="keyword">struct </span>libinput *libinput,</div>
371 <div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keyword">enum</span> <a class="code" href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a> priority,</div>
372 <div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list args)</div>
373 <div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <a class="code" href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a>(3, 0);</div>
374 <div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;</div>
375 <div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="keywordtype">void</span></div>
376 <div class="line"><a name="l01074"></a><span class="lineno"><a class="line" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2"> 1074</a></span>&#160;<a class="code" href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput_log_set_handler</a>(<span class="keyword">struct</span> libinput *libinput,</div>
377 <div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <a class="code" href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a> log_handler);</div>
378 <div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div>
379 <div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;<span class="keyword">struct </span>libinput_seat *</div>
380 <div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;<a class="code" href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput_seat_ref</a>(<span class="keyword">struct</span> libinput_seat *seat);</div>
381 <div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div>
382 <div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;<span class="keyword">struct </span>libinput_seat *</div>
383 <div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<a class="code" href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput_seat_unref</a>(<span class="keyword">struct</span> libinput_seat *seat);</div>
384 <div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div>
385 <div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;<span class="keywordtype">void</span></div>
386 <div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;<a class="code" href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput_seat_set_user_data</a>(<span class="keyword">struct</span> libinput_seat *seat, <span class="keywordtype">void</span> *user_data);</div>
387 <div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div>
388 <div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;<span class="keywordtype">void</span> *</div>
389 <div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;<a class="code" href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput_seat_get_user_data</a>(<span class="keyword">struct</span> libinput_seat *seat);</div>
390 <div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div>
391 <div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
392 <div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;<a class="code" href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput_seat_get_physical_name</a>(<span class="keyword">struct</span> libinput_seat *seat);</div>
393 <div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;</div>
394 <div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
395 <div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;<a class="code" href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput_seat_get_logical_name</a>(<span class="keyword">struct</span> libinput_seat *seat);</div>
396 <div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;</div>
397 <div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;<span class="keyword">struct </span>libinput_device *</div>
398 <div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;<a class="code" href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput_device_ref</a>(<span class="keyword">struct</span> libinput_device *device);</div>
399 <div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div>
400 <div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;<span class="keyword">struct </span>libinput_device *</div>
401 <div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;<a class="code" href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput_device_unref</a>(<span class="keyword">struct</span> libinput_device *device);</div>
402 <div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;</div>
403 <div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;<span class="keywordtype">void</span></div>
404 <div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;<a class="code" href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput_device_set_user_data</a>(<span class="keyword">struct</span> libinput_device *device, <span class="keywordtype">void</span> *user_data);</div>
405 <div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;</div>
406 <div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;<span class="keywordtype">void</span> *</div>
407 <div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;<a class="code" href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput_device_get_user_data</a>(<span class="keyword">struct</span> libinput_device *device);</div>
408 <div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;</div>
409 <div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
410 <div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;<a class="code" href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput_device_get_sysname</a>(<span class="keyword">struct</span> libinput_device *device);</div>
411 <div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;</div>
412 <div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
413 <div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;<a class="code" href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput_device_get_name</a>(<span class="keyword">struct</span> libinput_device *device);</div>
414 <div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;</div>
415 <div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span></div>
416 <div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;<a class="code" href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput_device_get_id_product</a>(<span class="keyword">struct</span> libinput_device *device);</div>
417 <div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;</div>
418 <div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span></div>
419 <div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<a class="code" href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput_device_get_id_vendor</a>(<span class="keyword">struct</span> libinput_device *device);</div>
420 <div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;</div>
421 <div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
422 <div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;<a class="code" href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput_device_get_output_name</a>(<span class="keyword">struct</span> libinput_device *device);</div>
423 <div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;</div>
424 <div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;<span class="keyword">struct </span>libinput_seat *</div>
425 <div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;<a class="code" href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput_device_get_seat</a>(<span class="keyword">struct</span> libinput_device *device);</div>
426 <div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;</div>
427 <div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<span class="keywordtype">void</span></div>
428 <div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;<a class="code" href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput_device_led_update</a>(<span class="keyword">struct</span> libinput_device *device,</div>
429 <div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="keyword">enum</span> <a class="code" href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a> leds);</div>
430 <div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;</div>
431 <div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;<span class="keywordtype">int</span></div>
432 <div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;<a class="code" href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput_device_get_keys</a>(<span class="keyword">struct</span> libinput_device *device,</div>
433 <div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keywordtype">char</span> *keys, <span class="keywordtype">size_t</span> size);</div>
434 <div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;</div>
435 <div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;<span class="keywordtype">void</span></div>
436 <div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;<a class="code" href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput_device_calibrate</a>(<span class="keyword">struct</span> libinput_device *device,</div>
437 <div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="keywordtype">float</span> calibration[6]);</div>
438 <div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;</div>
439 <div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;<span class="keywordtype">int</span></div>
440 <div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;<a class="code" href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput_device_has_capability</a>(<span class="keyword">struct</span> libinput_device *device,</div>
441 <div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <span class="keyword">enum</span> <a class="code" href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a> capability);</div>
442 <div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div>
443 <div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;<span class="keywordtype">int</span></div>
444 <div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;<a class="code" href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput_device_get_size</a>(<span class="keyword">struct</span> libinput_device *device,</div>
445 <div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordtype">double</span> *width,</div>
446 <div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <span class="keywordtype">double</span> *height);</div>
447 <div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;</div>
448 <div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;</div>
449 <div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175"> 1425</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> {</div>
450 <div class="line"><a name="l01426"></a><span class="lineno"><a class="line" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2"> 1426</a></span>&#160; <a class="code" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">LIBINPUT_CONFIG_STATUS_SUCCESS</a> = 0, </div>
451 <div class="line"><a name="l01427"></a><span class="lineno"><a class="line" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22"> 1427</a></span>&#160; <a class="code" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">LIBINPUT_CONFIG_STATUS_UNSUPPORTED</a>, </div>
452 <div class="line"><a name="l01429"></a><span class="lineno"><a class="line" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c"> 1429</a></span>&#160; <a class="code" href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">LIBINPUT_CONFIG_STATUS_INVALID</a>, </div>
453 <div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;};</div>
454 <div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div>
455 <div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
456 <div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;<a class="code" href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput_config_status_to_str</a>(<span class="keyword">enum</span> <a class="code" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a> status);</div>
457 <div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;</div>
458 <div class="line"><a name="l01447"></a><span class="lineno"><a class="line" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1"> 1447</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> {</div>
459 <div class="line"><a name="l01448"></a><span class="lineno"><a class="line" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11"> 1448</a></span>&#160; <a class="code" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a>, </div>
460 <div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a"> 1450</a></span>&#160; <a class="code" href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a>, </div>
461 <div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;};</div>
462 <div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;</div>
463 <div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;<span class="keywordtype">int</span></div>
464 <div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;<a class="code" href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput_device_config_tap_get_finger_count</a>(<span class="keyword">struct</span> libinput_device *device);</div>
465 <div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;</div>
466 <div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a></div>
467 <div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;<a class="code" href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput_device_config_tap_set_enabled</a>(<span class="keyword">struct</span> libinput_device *device,</div>
468 <div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; <span class="keyword">enum</span> <a class="code" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a> enable);</div>
469 <div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;</div>
470 <div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a></div>
471 <div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;<a class="code" href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput_device_config_tap_get_enabled</a>(<span class="keyword">struct</span> libinput_device *device);</div>
472 <div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div>
473 <div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;<span class="keyword">enum</span> <a class="code" href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a></div>
474 <div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;<a class="code" href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput_device_config_tap_get_default_enabled</a>(<span class="keyword">struct</span> libinput_device *device);</div>
475 <div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;</div>
476 <div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
477 <div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;<span class="preprocessor"></span>}</div>
478 <div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;<span class="preprocessor">#endif</span></div>
479 <div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* LIBINPUT_H */</span><span class="preprocessor"></span></div>
480 <div class="ttc" id="group__seat_html_gac881036869846ad87eb7814fbf308251"><div class="ttname"><a href="group__seat.html#gac881036869846ad87eb7814fbf308251">libinput_seat_get_physical_name</a></div><div class="ttdeci">const char * libinput_seat_get_physical_name(struct libinput_seat *seat)</div><div class="ttdoc">Return the physical name of the seat. </div></div>
481 <div class="ttc" id="libinput_8h_html_aa7e9ebbd1a13fe2ed6f44e69df3216e1"><div class="ttname"><a href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1">libinput_log_priority</a></div><div class="ttdeci">libinput_log_priority</div><div class="ttdoc">Log priority for internal logging messages. </div><div class="ttdef"><b>Definition:</b> libinput.h:109</div></div>
482 <div class="ttc" id="group__base_html_gae1e6fac5e7d48904140eeb467d2ca9f2"><div class="ttname"><a href="group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2">libinput_log_set_handler</a></div><div class="ttdeci">void(*) voi libinput_log_set_handler)(struct libinput *libinput, libinput_log_handler log_handler)</div><div class="ttdoc">Set the global log handler. </div><div class="ttdef"><b>Definition:</b> libinput.h:1074</div></div>
483 <div class="ttc" id="group__device_html_gae011910b4a673f1293a20a84be4e52e2"><div class="ttname"><a href="group__device.html#gae011910b4a673f1293a20a84be4e52e2">libinput_device_get_id_product</a></div><div class="ttdeci">unsigned int libinput_device_get_id_product(struct libinput_device *device)</div><div class="ttdoc">Get the product ID for this device. </div></div>
484 <div class="ttc" id="group__device_html_gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa"><div class="ttname"><a href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa">LIBINPUT_DEVICE_CAP_TOUCH</a></div><div class="ttdef"><b>Definition:</b> libinput.h:125</div></div>
485 <div class="ttc" id="group__event__pointer_html_ga6dc942e706a29d342a2021afaa49548b"><div class="ttname"><a href="group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b">libinput_event_pointer_get_button</a></div><div class="ttdeci">uint32_t libinput_event_pointer_get_button(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the button that triggered this event. </div></div>
486 <div class="ttc" id="structlibinput__interface_html_a2ad42e75430edfff5d0e6117073b6fef"><div class="ttname"><a href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef">libinput_interface::close_restricted</a></div><div class="ttdeci">void(* close_restricted)(int fd, void *user_data)</div><div class="ttdoc">Close the file descriptor. </div><div class="ttdef"><b>Definition:</b> libinput.h:774</div></div>
487 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">LIBINPUT_EVENT_TOUCH_MOTION</a></div><div class="ttdef"><b>Definition:</b> libinput.h:210</div></div>
488 <div class="ttc" id="group__base_html_ga271f910ed17461830e48d4cd20483a00"><div class="ttname"><a href="group__base.html#ga271f910ed17461830e48d4cd20483a00">libinput_dispatch</a></div><div class="ttdeci">int libinput_dispatch(struct libinput *libinput)</div><div class="ttdoc">Main event dispatchment function. </div></div>
489 <div class="ttc" id="group__base_html_gafff29392ec52e1e7de5bb812e085127a"><div class="ttname"><a href="group__base.html#gafff29392ec52e1e7de5bb812e085127a">libinput_ref</a></div><div class="ttdeci">struct libinput * libinput_ref(struct libinput *libinput)</div><div class="ttdoc">Add a reference to the context. </div></div>
490 <div class="ttc" id="structlibinput__interface_html"><div class="ttname"><a href="structlibinput__interface.html">libinput_interface</a></div><div class="ttdef"><b>Definition:</b> libinput.h:754</div></div>
491 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde">LIBINPUT_EVENT_POINTER_AXIS</a></div><div class="ttdef"><b>Definition:</b> libinput.h:206</div></div>
492 <div class="ttc" id="group__device_html_gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4"><div class="ttname"><a href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4">LIBINPUT_BUTTON_STATE_PRESSED</a></div><div class="ttdef"><b>Definition:</b> libinput.h:158</div></div>
493 <div class="ttc" id="group__device_html_ga37ec9afaec2e5407e3c5248faedd1970"><div class="ttname"><a href="group__device.html#ga37ec9afaec2e5407e3c5248faedd1970">libinput_led</a></div><div class="ttdeci">libinput_led</div><div class="ttdoc">Mask reflecting LEDs on a device. </div><div class="ttdef"><b>Definition:</b> libinput.h:144</div></div>
494 <div class="ttc" id="structlibinput__event__touch_html"><div class="ttname"><a href="structlibinput__event__touch.html">libinput_event_touch</a></div><div class="ttdoc">Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events...</div><div class="ttdef"><b>Definition:</b> libinput.h:226</div></div>
495 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">LIBINPUT_EVENT_TOUCH_DOWN</a></div><div class="ttdef"><b>Definition:</b> libinput.h:208</div></div>
496 <div class="ttc" id="group__event__touch_html_gaf5294eab86b9125b7fb607049ff9ef09"><div class="ttname"><a href="group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09">libinput_event_touch_get_slot</a></div><div class="ttdeci">int32_t libinput_event_touch_get_slot(struct libinput_event_touch *event)</div><div class="ttdoc">Get the slot of this touch event. </div></div>
497 <div class="ttc" id="group__device_html_gaf5c902f56206a5d441e50c3a95ec458b"><div class="ttname"><a href="group__device.html#gaf5c902f56206a5d441e50c3a95ec458b">libinput_device_get_user_data</a></div><div class="ttdeci">void * libinput_device_get_user_data(struct libinput_device *device)</div><div class="ttdoc">Get the caller-specific data associated with this input device, if any. </div></div>
498 <div class="ttc" id="group__seat_html_ga60445ab81e8ee3a10b85e88617231069"><div class="ttname"><a href="group__seat.html#ga60445ab81e8ee3a10b85e88617231069">libinput_seat_ref</a></div><div class="ttdeci">struct libinput_seat * libinput_seat_ref(struct libinput_seat *seat)</div><div class="ttdoc">Increase the refcount of the seat. </div></div>
499 <div class="ttc" id="group__device_html_gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852"><div class="ttname"><a href="group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852">LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL</a></div><div class="ttdef"><b>Definition:</b> libinput.h:169</div></div>
500 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">LIBINPUT_EVENT_TOUCH_FRAME</a></div><div class="ttdoc">Signals the end of a set of touchpoints at one device sample time. </div><div class="ttdef"><b>Definition:</b> libinput.h:216</div></div>
501 <div class="ttc" id="group__config_html_gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2"><div class="ttname"><a href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2">LIBINPUT_CONFIG_STATUS_SUCCESS</a></div><div class="ttdoc">Config applied successfully. </div><div class="ttdef"><b>Definition:</b> libinput.h:1426</div></div>
502 <div class="ttc" id="group__device_html_ga31655d2c2f173d059b3f891801c0a429"><div class="ttname"><a href="group__device.html#ga31655d2c2f173d059b3f891801c0a429">libinput_device_get_name</a></div><div class="ttdeci">const char * libinput_device_get_name(struct libinput_device *device)</div><div class="ttdoc">The descriptive device name as advertised by the kernel and/or the hardware itself. </div></div>
503 <div class="ttc" id="group__device_html_gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd"><div class="ttname"><a href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd">LIBINPUT_LED_SCROLL_LOCK</a></div><div class="ttdef"><b>Definition:</b> libinput.h:147</div></div>
504 <div class="ttc" id="group__event__keyboard_html_ga75a647f08ef9df9db7a6ebb9b297add4"><div class="ttname"><a href="group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4">libinput_event_keyboard_get_seat_key_count</a></div><div class="ttdeci">uint32_t libinput_event_keyboard_get_seat_key_count(struct libinput_event_keyboard *event)</div><div class="ttdoc">For the key of a LIBINPUT_EVENT_KEYBOARD_KEY event, return the total number of keys pressed on all de...</div></div>
505 <div class="ttc" id="group__seat_html_gac7af04e67fc803f1f7756d02e5372e91"><div class="ttname"><a href="group__seat.html#gac7af04e67fc803f1f7756d02e5372e91">libinput_seat_get_user_data</a></div><div class="ttdeci">void * libinput_seat_get_user_data(struct libinput_seat *seat)</div><div class="ttdoc">Get the caller-specific data associated with this seat, if any. </div></div>
506 <div class="ttc" id="group__config_html_ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a"><div class="ttname"><a href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a">LIBINPUT_CONFIG_TAP_ENABLED</a></div><div class="ttdoc">Tapping is to be enabled, or is currently enabled. </div><div class="ttdef"><b>Definition:</b> libinput.h:1450</div></div>
507 <div class="ttc" id="group__event_html_ga19d329b7685c3a994718cec3845db1a0"><div class="ttname"><a href="group__event.html#ga19d329b7685c3a994718cec3845db1a0">libinput_event_device_notify_get_base_event</a></div><div class="ttdeci">struct libinput_event * libinput_event_device_notify_get_base_event(struct libinput_event_device_notify *event)</div></div>
508 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3">LIBINPUT_EVENT_KEYBOARD_KEY</a></div><div class="ttdef"><b>Definition:</b> libinput.h:201</div></div>
509 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b">LIBINPUT_EVENT_DEVICE_ADDED</a></div><div class="ttdoc">Signals that a device has been added to the context. </div><div class="ttdef"><b>Definition:</b> libinput.h:193</div></div>
510 <div class="ttc" id="group__config_html_gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22"><div class="ttname"><a href="group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22">LIBINPUT_CONFIG_STATUS_UNSUPPORTED</a></div><div class="ttdoc">Configuration not available on this device. </div><div class="ttdef"><b>Definition:</b> libinput.h:1427</div></div>
511 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9">LIBINPUT_EVENT_POINTER_MOTION</a></div><div class="ttdef"><b>Definition:</b> libinput.h:203</div></div>
512 <div class="ttc" id="group__event__pointer_html_ga8bb38bb120bbc0ad569c701a6e622612"><div class="ttname"><a href="group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612">libinput_event_pointer_get_dy</a></div><div class="ttdeci">double libinput_event_pointer_get_dy(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the delta between the last event and the current event. </div></div>
513 <div class="ttc" id="group__base_html_ga9cb53cdcce2c000001ac17706a612121"><div class="ttname"><a href="group__base.html#ga9cb53cdcce2c000001ac17706a612121">libinput_path_remove_device</a></div><div class="ttdeci">void libinput_path_remove_device(struct libinput_device *device)</div><div class="ttdoc">Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...</div></div>
514 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09">LIBINPUT_EVENT_DEVICE_REMOVED</a></div><div class="ttdoc">Signals that a device has been removed. </div><div class="ttdef"><b>Definition:</b> libinput.h:199</div></div>
515 <div class="ttc" id="group__base_html_ga75a500c54c61cfcecd4c76dbb8022933"><div class="ttname"><a href="group__base.html#ga75a500c54c61cfcecd4c76dbb8022933">libinput_log_set_priority</a></div><div class="ttdeci">void libinput_log_set_priority(struct libinput *libinput, enum libinput_log_priority priority)</div><div class="ttdoc">Set the global log priority. </div></div>
516 <div class="ttc" id="group__device_html_ga3f2fd86e275a67fb192f89034ff5ee48"><div class="ttname"><a href="group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48">libinput_device_calibrate</a></div><div class="ttdeci">void libinput_device_calibrate(struct libinput_device *device, float calibration[6])</div><div class="ttdoc">Apply the 3x3 transformation matrix to absolute device coordinates. </div></div>
517 <div class="ttc" id="group__device_html_ga543a8bb3f2d7421f76e63bb4ee2fb5bf"><div class="ttname"><a href="group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf">libinput_button_state</a></div><div class="ttdeci">libinput_button_state</div><div class="ttdoc">Logical state of a physical button. </div><div class="ttdef"><b>Definition:</b> libinput.h:156</div></div>
518 <div class="ttc" id="group__config_html_ga7eee5ba99988d80bb9dd744894c72e06"><div class="ttname"><a href="group__config.html#ga7eee5ba99988d80bb9dd744894c72e06">libinput_config_status_to_str</a></div><div class="ttdeci">const char * libinput_config_status_to_str(enum libinput_config_status status)</div><div class="ttdoc">Return a string describing the error. </div></div>
519 <div class="ttc" id="group__config_html_ga8bfe1d541dcadaedeedcd7a98d5b7e07"><div class="ttname"><a href="group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07">libinput_device_config_tap_get_enabled</a></div><div class="ttdeci">enum libinput_config_tap_state libinput_device_config_tap_get_enabled(struct libinput_device *device)</div><div class="ttdoc">Check if tap-to-click is enabled on this device. </div></div>
520 <div class="ttc" id="group__device_html_ga3335d55a50f0c2fb0c5f496a3105d467"><div class="ttname"><a href="group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467">libinput_device_ref</a></div><div class="ttdeci">struct libinput_device * libinput_device_ref(struct libinput_device *device)</div><div class="ttdoc">Increase the refcount of the input device. </div></div>
521 <div class="ttc" id="group__event__touch_html_ga5d13da5020c6aff78604943690f8cbe9"><div class="ttname"><a href="group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9">libinput_event_touch_get_time</a></div><div class="ttdeci">uint32_t libinput_event_touch_get_time(struct libinput_event_touch *event)</div></div>
522 <div class="ttc" id="group__event__touch_html_gac42d0e070811c360cf8ec784349954ba"><div class="ttname"><a href="group__event__touch.html#gac42d0e070811c360cf8ec784349954ba">libinput_event_touch_get_x</a></div><div class="ttdeci">double libinput_event_touch_get_x(struct libinput_event_touch *event)</div><div class="ttdoc">Return the current absolute x coordinate of the touch event, in mm from the top left corner of the de...</div></div>
523 <div class="ttc" id="group__event__pointer_html_ga1990b268bdc42ff3277bc43dbb3102ea"><div class="ttname"><a href="group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea">libinput_event_pointer_get_seat_button_count</a></div><div class="ttdeci">uint32_t libinput_event_pointer_get_seat_button_count(struct libinput_event_pointer *event)</div><div class="ttdoc">For the button of a LIBINPUT_EVENT_POINTER_BUTTON event, return the total number of buttons pressed o...</div></div>
524 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689">LIBINPUT_EVENT_POINTER_BUTTON</a></div><div class="ttdef"><b>Definition:</b> libinput.h:205</div></div>
525 <div class="ttc" id="libinput_8h_html_aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500"><div class="ttname"><a href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500">LIBINPUT_LOG_PRIORITY_INFO</a></div><div class="ttdef"><b>Definition:</b> libinput.h:111</div></div>
526 <div class="ttc" id="group__event__keyboard_html_gaf7b018edbc264ba81a2d475d42ebbd98"><div class="ttname"><a href="group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98">libinput_event_keyboard_get_key_state</a></div><div class="ttdeci">enum libinput_key_state libinput_event_keyboard_get_key_state(struct libinput_event_keyboard *event)</div></div>
527 <div class="ttc" id="group__event__pointer_html_ga29aaf86185a4c9dfa38d98b1fd4dba53"><div class="ttname"><a href="group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53">libinput_event_pointer_get_dx</a></div><div class="ttdeci">double libinput_event_pointer_get_dx(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the delta between the last event and the current event. </div></div>
528 <div class="ttc" id="group__event__pointer_html_gaa48effb21f132f05f280859f3d2a9f23"><div class="ttname"><a href="group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23">libinput_event_pointer_get_absolute_y_transformed</a></div><div class="ttdeci">double libinput_event_pointer_get_absolute_y_transformed(struct libinput_event_pointer *event, uint32_t height)</div><div class="ttdoc">Return the current absolute y coordinate of the pointer event, transformed to screen coordinates...</div></div>
529 <div class="ttc" id="group__event__pointer_html_gac221536b90c7beb70b70b52e710291b5"><div class="ttname"><a href="group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5">libinput_event_pointer_get_absolute_x</a></div><div class="ttdeci">double libinput_event_pointer_get_absolute_x(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the current absolute x coordinate of the pointer event, in mm from the top left corner of the ...</div></div>
530 <div class="ttc" id="group__event_html_ga2bbc1391a3397d57d37ae3e2f8175abc"><div class="ttname"><a href="group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc">libinput_event_get_device_notify_event</a></div><div class="ttdeci">struct libinput_event_device_notify * libinput_event_get_device_notify_event(struct libinput_event *event)</div><div class="ttdoc">Return the device event that is this input event. </div></div>
531 <div class="ttc" id="group__device_html_ga82cd15b9476a4a60f25470df8d67483c"><div class="ttname"><a href="group__device.html#ga82cd15b9476a4a60f25470df8d67483c">libinput_pointer_axis</a></div><div class="ttdeci">libinput_pointer_axis</div><div class="ttdoc">Axes on a device that are not x or y coordinates. </div><div class="ttdef"><b>Definition:</b> libinput.h:167</div></div>
532 <div class="ttc" id="group__config_html_gaca4a3177736e6fd024cb77bc684857a1"><div class="ttname"><a href="group__config.html#gaca4a3177736e6fd024cb77bc684857a1">libinput_config_tap_state</a></div><div class="ttdeci">libinput_config_tap_state</div><div class="ttdef"><b>Definition:</b> libinput.h:1447</div></div>
533 <div class="ttc" id="structlibinput__interface_html_aaf06146a946c2b3b841a42b60257bad4"><div class="ttname"><a href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">libinput_interface::open_restricted</a></div><div class="ttdeci">int(* open_restricted)(const char *path, int flags, void *user_data)</div><div class="ttdoc">Open the device at the given path with the flags provided and return the fd. </div><div class="ttdef"><b>Definition:</b> libinput.h:766</div></div>
534 <div class="ttc" id="group__device_html_gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b"><div class="ttname"><a href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b">LIBINPUT_DEVICE_CAP_KEYBOARD</a></div><div class="ttdef"><b>Definition:</b> libinput.h:123</div></div>
535 <div class="ttc" id="group__base_html_ga387f6d09ed8548128a68f1d19ea675c2"><div class="ttname"><a href="group__base.html#ga387f6d09ed8548128a68f1d19ea675c2">libinput_log_handler</a></div><div class="ttdeci">void(* libinput_log_handler)(struct libinput *libinput, enum libinput_log_priority priority, const char *format, va_list args) LIBINPUT_ATTRIBUTE_PRINTF(3</div><div class="ttdoc">Log handler type for custom logging. </div><div class="ttdef"><b>Definition:</b> libinput.h:1052</div></div>
536 <div class="ttc" id="group__config_html_ga3caf860883d4e2e42b7842599da03e56"><div class="ttname"><a href="group__config.html#ga3caf860883d4e2e42b7842599da03e56">libinput_device_config_tap_set_enabled</a></div><div class="ttdeci">enum libinput_config_status libinput_device_config_tap_set_enabled(struct libinput_device *device, enum libinput_config_tap_state enable)</div><div class="ttdoc">Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...</div></div>
537 <div class="ttc" id="group__device_html_gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c"><div class="ttname"><a href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c">LIBINPUT_KEY_STATE_RELEASED</a></div><div class="ttdef"><b>Definition:</b> libinput.h:135</div></div>
538 <div class="ttc" id="group__device_html_ga3110cdddce94a1df0b8a3306909c8f15"><div class="ttname"><a href="group__device.html#ga3110cdddce94a1df0b8a3306909c8f15">libinput_device_capability</a></div><div class="ttdeci">libinput_device_capability</div><div class="ttdoc">Capabilities on a device. </div><div class="ttdef"><b>Definition:</b> libinput.h:122</div></div>
539 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">LIBINPUT_EVENT_TOUCH_UP</a></div><div class="ttdef"><b>Definition:</b> libinput.h:209</div></div>
540 <div class="ttc" id="group__config_html_ga33ff306ed8505129adce4c092a3ed175"><div class="ttname"><a href="group__config.html#ga33ff306ed8505129adce4c092a3ed175">libinput_config_status</a></div><div class="ttdeci">libinput_config_status</div><div class="ttdoc">Status codes returned when applying configuration settings. </div><div class="ttdef"><b>Definition:</b> libinput.h:1425</div></div>
541 <div class="ttc" id="group__device_html_gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e"><div class="ttname"><a href="group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e">LIBINPUT_KEY_STATE_PRESSED</a></div><div class="ttdef"><b>Definition:</b> libinput.h:136</div></div>
542 <div class="ttc" id="group__event__touch_html_ga30711113bcef4bc02eda7878a054351c"><div class="ttname"><a href="group__event__touch.html#ga30711113bcef4bc02eda7878a054351c">libinput_event_touch_get_y</a></div><div class="ttdeci">double libinput_event_touch_get_y(struct libinput_event_touch *event)</div><div class="ttdoc">Return the current absolute y coordinate of the touch event, in mm from the top left corner of the de...</div></div>
543 <div class="ttc" id="group__event__touch_html_gabac75c78a0a360995e1a521edb38c4da"><div class="ttname"><a href="group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da">libinput_event_touch_get_seat_slot</a></div><div class="ttdeci">int32_t libinput_event_touch_get_seat_slot(struct libinput_event_touch *event)</div><div class="ttdoc">Get the seat slot of the touch event. </div></div>
544 <div class="ttc" id="group__event__pointer_html_ga3e097a9bc6dbbb355fb1982912f72d4c"><div class="ttname"><a href="group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c">libinput_event_pointer_get_absolute_y</a></div><div class="ttdeci">double libinput_event_pointer_get_absolute_y(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the current absolute y coordinate of the pointer event, in mm from the top left corner of the ...</div></div>
545 <div class="ttc" id="group__device_html_gafdb3ddfb91e6bd38b6356a5bb51547ad"><div class="ttname"><a href="group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad">libinput_device_led_update</a></div><div class="ttdeci">void libinput_device_led_update(struct libinput_device *device, enum libinput_led leds)</div><div class="ttdoc">Update the LEDs on the device, if any. </div></div>
546 <div class="ttc" id="group__base_html_gaa797496f0150b482a4e01376bd33a47b"><div class="ttname"><a href="group__base.html#gaa797496f0150b482a4e01376bd33a47b">libinput_path_add_device</a></div><div class="ttdeci">struct libinput_device * libinput_path_add_device(struct libinput *libinput, const char *path)</div><div class="ttdoc">Add a device to a libinput context initialized with libinput_path_create_context(). </div></div>
547 <div class="ttc" id="group__event__touch_html_gadd04ccc3a7b4564e5aca3c8592f090fe"><div class="ttname"><a href="group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe">libinput_event_touch_get_x_transformed</a></div><div class="ttdeci">double libinput_event_touch_get_x_transformed(struct libinput_event_touch *event, uint32_t width)</div><div class="ttdoc">Return the current absolute x coordinate of the touch event, transformed to screen coordinates...</div></div>
548 <div class="ttc" id="libinput_8h_html_aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8"><div class="ttname"><a href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8">LIBINPUT_LOG_PRIORITY_DEBUG</a></div><div class="ttdef"><b>Definition:</b> libinput.h:110</div></div>
549 <div class="ttc" id="group__event_html_ga28557ae0295f61c45f9b6e4ff7f86632"><div class="ttname"><a href="group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632">libinput_event_get_context</a></div><div class="ttdeci">struct libinput * libinput_event_get_context(struct libinput_event *event)</div><div class="ttdoc">Get the libinput context from the event. </div></div>
550 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">LIBINPUT_EVENT_TOUCH_CANCEL</a></div><div class="ttdef"><b>Definition:</b> libinput.h:211</div></div>
551 <div class="ttc" id="libinput_8h_html_a7de828556e8e12b23e4c5acec1581780"><div class="ttname"><a href="libinput_8h.html#a7de828556e8e12b23e4c5acec1581780">LIBINPUT_ATTRIBUTE_PRINTF</a></div><div class="ttdeci">#define LIBINPUT_ATTRIBUTE_PRINTF(_format, _args)</div><div class="ttdef"><b>Definition:</b> libinput.h:34</div></div>
552 <div class="ttc" id="group__base_html_ga363c6b6e47dcf410a3b3ebd5547c8b07"><div class="ttname"><a href="group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07">libinput_path_create_context</a></div><div class="ttdeci">struct libinput * libinput_path_create_context(const struct libinput_interface *interface, void *user_data)</div><div class="ttdoc">Create a new libinput context that requires the caller to manually add or remove devices with libinpu...</div></div>
553 <div class="ttc" id="group__seat_html_ga81d52d0e9332f07c39a899c8c2fd3400"><div class="ttname"><a href="group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400">libinput_seat_unref</a></div><div class="ttdeci">struct libinput_seat * libinput_seat_unref(struct libinput_seat *seat)</div><div class="ttdoc">Decrease the refcount of the seat. </div></div>
554 <div class="ttc" id="group__config_html_ga13973d6bd75a99708723e3c6684517c1"><div class="ttname"><a href="group__config.html#ga13973d6bd75a99708723e3c6684517c1">libinput_device_config_tap_get_finger_count</a></div><div class="ttdeci">int libinput_device_config_tap_get_finger_count(struct libinput_device *device)</div><div class="ttdoc">Check if the device supports tap-to-click. </div></div>
555 <div class="ttc" id="group__config_html_gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c"><div class="ttname"><a href="group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c">LIBINPUT_CONFIG_STATUS_INVALID</a></div><div class="ttdoc">Invalid parameter range. </div><div class="ttdef"><b>Definition:</b> libinput.h:1429</div></div>
556 <div class="ttc" id="group__device_html_gad9e4c074b03da790de5e117c71ce8d50"><div class="ttname"><a href="group__device.html#gad9e4c074b03da790de5e117c71ce8d50">libinput_device_get_id_vendor</a></div><div class="ttdeci">unsigned int libinput_device_get_id_vendor(struct libinput_device *device)</div><div class="ttdoc">Get the vendor ID for this device. </div></div>
557 <div class="ttc" id="group__event_html_ga430a3a7369afd6c5ff722179327df79a"><div class="ttname"><a href="group__event.html#ga430a3a7369afd6c5ff722179327df79a">libinput_event_get_type</a></div><div class="ttdeci">enum libinput_event_type libinput_event_get_type(struct libinput_event *event)</div><div class="ttdoc">Get the type of the event. </div></div>
558 <div class="ttc" id="group__event__pointer_html_gaba288dcf55de6e2691fd75f31229f969"><div class="ttname"><a href="group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969">libinput_event_pointer_get_axis_value</a></div><div class="ttdeci">double libinput_event_pointer_get_axis_value(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the axis value of the given axis. </div></div>
559 <div class="ttc" id="group__event_html_ga8a49a089181960f7536344f7637ea777"><div class="ttname"><a href="group__event.html#ga8a49a089181960f7536344f7637ea777">libinput_event_get_device</a></div><div class="ttdeci">struct libinput_device * libinput_event_get_device(struct libinput_event *event)</div><div class="ttdoc">Return the device associated with this event, if applicable. </div></div>
560 <div class="ttc" id="group__base_html_ga3eab49413b8430c2eee987a39f4a410b"><div class="ttname"><a href="group__base.html#ga3eab49413b8430c2eee987a39f4a410b">libinput_get_user_data</a></div><div class="ttdeci">void * libinput_get_user_data(struct libinput *libinput)</div></div>
561 <div class="ttc" id="group__device_html_gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f"><div class="ttname"><a href="group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f">LIBINPUT_DEVICE_CAP_POINTER</a></div><div class="ttdef"><b>Definition:</b> libinput.h:124</div></div>
562 <div class="ttc" id="group__event_html_ga1df956c16e26cbbd911e553ec081022a"><div class="ttname"><a href="group__event.html#ga1df956c16e26cbbd911e553ec081022a">libinput_event_destroy</a></div><div class="ttdeci">void libinput_event_destroy(struct libinput_event *event)</div><div class="ttdoc">Destroy the event. </div></div>
563 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315">LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE</a></div><div class="ttdef"><b>Definition:</b> libinput.h:204</div></div>
564 <div class="ttc" id="group__base_html_ga60662dc666f6188dc207467c9d8e99ab"><div class="ttname"><a href="group__base.html#ga60662dc666f6188dc207467c9d8e99ab">libinput_suspend</a></div><div class="ttdeci">void libinput_suspend(struct libinput *libinput)</div><div class="ttdoc">Suspend monitoring for new devices and close existing devices. </div></div>
565 <div class="ttc" id="group__device_html_gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a"><div class="ttname"><a href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a">LIBINPUT_LED_NUM_LOCK</a></div><div class="ttdef"><b>Definition:</b> libinput.h:145</div></div>
566 <div class="ttc" id="group__event__keyboard_html_gad29cc9f276d9468463d01f65ccf8deaf"><div class="ttname"><a href="group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf">libinput_event_keyboard_get_key</a></div><div class="ttdeci">uint32_t libinput_event_keyboard_get_key(struct libinput_event_keyboard *event)</div></div>
567 <div class="ttc" id="group__config_html_ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11"><div class="ttname"><a href="group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11">LIBINPUT_CONFIG_TAP_DISABLED</a></div><div class="ttdoc">Tapping is to be disabled, or is currently disabled. </div><div class="ttdef"><b>Definition:</b> libinput.h:1448</div></div>
568 <div class="ttc" id="group__device_html_gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b"><div class="ttname"><a href="group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b">LIBINPUT_BUTTON_STATE_RELEASED</a></div><div class="ttdef"><b>Definition:</b> libinput.h:157</div></div>
569 <div class="ttc" id="group__base_html_ga885a59371d4e8de0e18a2a2a66942e11"><div class="ttname"><a href="group__base.html#ga885a59371d4e8de0e18a2a2a66942e11">libinput_get_fd</a></div><div class="ttdeci">int libinput_get_fd(struct libinput *libinput)</div><div class="ttdoc">libinput keeps a single file descriptor for all events. </div></div>
570 <div class="ttc" id="group__base_html_ga5a1ee92fa05df27e3c0f37d524cc17a6"><div class="ttname"><a href="group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6">libinput_resume</a></div><div class="ttdeci">int libinput_resume(struct libinput *libinput)</div><div class="ttdoc">Resume a suspended libinput context. </div></div>
571 <div class="ttc" id="group__device_html_ga4cfc6fad3e3fb3e13498575f580b0184"><div class="ttname"><a href="group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184">libinput_device_get_keys</a></div><div class="ttdeci">int libinput_device_get_keys(struct libinput_device *device, char *keys, size_t size)</div><div class="ttdoc">Set the bitmask in keys to the bitmask of the keys present on the device (see linux/input.h), up to size characters. </div></div>
572 <div class="ttc" id="group__base_html_ga7512ea602d4b259085c47f6374b078d1"><div class="ttname"><a href="group__base.html#ga7512ea602d4b259085c47f6374b078d1">libinput_udev_create_context</a></div><div class="ttdeci">struct libinput * libinput_udev_create_context(const struct libinput_interface *interface, void *user_data, struct udev *udev)</div><div class="ttdoc">Create a new libinput context from udev. </div></div>
573 <div class="ttc" id="group__base_html_gac30276a06e8b1434b959f2c8dde74f7c"><div class="ttname"><a href="group__base.html#gac30276a06e8b1434b959f2c8dde74f7c">libinput_event_type</a></div><div class="ttdeci">libinput_event_type</div><div class="ttdoc">Event type for events returned by libinput_get_event(). </div><div class="ttdef"><b>Definition:</b> libinput.h:177</div></div>
574 <div class="ttc" id="group__base_html_gacead6670eaecf7c807659e2b6c725630"><div class="ttname"><a href="group__base.html#gacead6670eaecf7c807659e2b6c725630">libinput_get_event</a></div><div class="ttdeci">struct libinput_event * libinput_get_event(struct libinput *libinput)</div><div class="ttdoc">Retrieve the next event from libinput&amp;#39;s internal event queue. </div></div>
575 <div class="ttc" id="group__base_html_gac86ad3c0c5bc27d8f630264f46cdf005"><div class="ttname"><a href="group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005">libinput_next_event_type</a></div><div class="ttdeci">enum libinput_event_type libinput_next_event_type(struct libinput *libinput)</div><div class="ttdoc">Return the type of the next event in the internal queue. </div></div>
576 <div class="ttc" id="group__device_html_gaa32d887454e8baf8aaeeb635329aef89"><div class="ttname"><a href="group__device.html#gaa32d887454e8baf8aaeeb635329aef89">libinput_device_has_capability</a></div><div class="ttdeci">int libinput_device_has_capability(struct libinput_device *device, enum libinput_device_capability capability)</div><div class="ttdoc">Check if the given device has the specified capability. </div></div>
577 <div class="ttc" id="group__event__pointer_html_ga26fa3d0b2bcc7f0a7939b84dc8207021"><div class="ttname"><a href="group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021">libinput_event_pointer_get_absolute_x_transformed</a></div><div class="ttdeci">double libinput_event_pointer_get_absolute_x_transformed(struct libinput_event_pointer *event, uint32_t width)</div><div class="ttdoc">Return the current absolute x coordinate of the pointer event, transformed to screen coordinates...</div></div>
578 <div class="ttc" id="group__event__keyboard_html_ga0f1a7bb1016816a277b52705d6ef2d71"><div class="ttname"><a href="group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71">libinput_event_keyboard_get_time</a></div><div class="ttdeci">uint32_t libinput_event_keyboard_get_time(struct libinput_event_keyboard *event)</div></div>
579 <div class="ttc" id="group__event_html_ga8378f8fdd01e8afbcea8ddbb5411570d"><div class="ttname"><a href="group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d">libinput_event_get_keyboard_event</a></div><div class="ttdeci">struct libinput_event_keyboard * libinput_event_get_keyboard_event(struct libinput_event *event)</div><div class="ttdoc">Return the keyboard event that is this input event. </div></div>
580 <div class="ttc" id="group__device_html_gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe"><div class="ttname"><a href="group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe">LIBINPUT_LED_CAPS_LOCK</a></div><div class="ttdef"><b>Definition:</b> libinput.h:146</div></div>
581 <div class="ttc" id="group__device_html_ga27823edb40750992a1a05e7a9f5dc8f0"><div class="ttname"><a href="group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0">libinput_device_get_seat</a></div><div class="ttdeci">struct libinput_seat * libinput_device_get_seat(struct libinput_device *device)</div><div class="ttdoc">Get the seat associated with this input device. </div></div>
582 <div class="ttc" id="group__event__pointer_html_ga41e87521ab2a8b7783cb47a63d71da18"><div class="ttname"><a href="group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18">libinput_event_pointer_get_button_state</a></div><div class="ttdeci">enum libinput_button_state libinput_event_pointer_get_button_state(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the button state that triggered this event. </div></div>
583 <div class="ttc" id="group__device_html_gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5"><div class="ttname"><a href="group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5">LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL</a></div><div class="ttdef"><b>Definition:</b> libinput.h:168</div></div>
584 <div class="ttc" id="group__base_html_ga7ed0797d23e34b650e0aeb98b5350309"><div class="ttname"><a href="group__base.html#ga7ed0797d23e34b650e0aeb98b5350309">libinput_unref</a></div><div class="ttdeci">struct libinput * libinput_unref(struct libinput *libinput)</div><div class="ttdoc">Dereference the libinput context. </div></div>
585 <div class="ttc" id="group__base_html_ga7367998ca39a6e873920ba5e2a12d4f0"><div class="ttname"><a href="group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0">libinput_log_get_priority</a></div><div class="ttdeci">enum libinput_log_priority libinput_log_get_priority(const struct libinput *libinput)</div><div class="ttdoc">Get the global log priority. </div></div>
586 <div class="ttc" id="group__device_html_ga106bbe58e6c3a6d1327c9bcbbf2a03f6"><div class="ttname"><a href="group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6">libinput_device_get_sysname</a></div><div class="ttdeci">const char * libinput_device_get_sysname(struct libinput_device *device)</div><div class="ttdoc">Get the system name of the device. </div></div>
587 <div class="ttc" id="group__device_html_ga857340e2dab06c7f7d84173a5a1fa427"><div class="ttname"><a href="group__device.html#ga857340e2dab06c7f7d84173a5a1fa427">libinput_device_unref</a></div><div class="ttdeci">struct libinput_device * libinput_device_unref(struct libinput_device *device)</div><div class="ttdoc">Decrease the refcount of the input device. </div></div>
588 <div class="ttc" id="group__device_html_gab91ae9014902fafe4f015e1f42233d27"><div class="ttname"><a href="group__device.html#gab91ae9014902fafe4f015e1f42233d27">libinput_device_get_size</a></div><div class="ttdeci">int libinput_device_get_size(struct libinput_device *device, double *width, double *height)</div><div class="ttdoc">Get the physical size of a device in mm, where meaningful. </div></div>
589 <div class="ttc" id="group__seat_html_ga669ed8a095445e9537deef8a9880587b"><div class="ttname"><a href="group__seat.html#ga669ed8a095445e9537deef8a9880587b">libinput_seat_set_user_data</a></div><div class="ttdeci">void libinput_seat_set_user_data(struct libinput_seat *seat, void *user_data)</div><div class="ttdoc">Set caller-specific data associated with this seat. </div></div>
590 <div class="ttc" id="group__seat_html_ga61e477120d5f0cc67a06d04575186948"><div class="ttname"><a href="group__seat.html#ga61e477120d5f0cc67a06d04575186948">libinput_seat_get_logical_name</a></div><div class="ttdeci">const char * libinput_seat_get_logical_name(struct libinput_seat *seat)</div><div class="ttdoc">Return the logical name of the seat. </div></div>
591 <div class="ttc" id="group__base_html_ga71a60660b30cb476495e75766222d144"><div class="ttname"><a href="group__base.html#ga71a60660b30cb476495e75766222d144">libinput_udev_assign_seat</a></div><div class="ttdeci">int libinput_udev_assign_seat(struct libinput *libinput, const char *seat_id)</div><div class="ttdoc">Assign a seat to this libinput context. </div></div>
592 <div class="ttc" id="group__event__touch_html_ga36af95f47b6d69b581eaeee69927af6f"><div class="ttname"><a href="group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f">libinput_event_touch_get_y_transformed</a></div><div class="ttdeci">double libinput_event_touch_get_y_transformed(struct libinput_event_touch *event, uint32_t height)</div><div class="ttdoc">Return the current absolute y coordinate of the touch event, transformed to screen coordinates...</div></div>
593 <div class="ttc" id="group__event__pointer_html_gace6f44c48d7696d989d5be38afaba817"><div class="ttname"><a href="group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817">libinput_event_pointer_get_axis</a></div><div class="ttdeci">enum libinput_pointer_axis libinput_event_pointer_get_axis(struct libinput_event_pointer *event)</div><div class="ttdoc">Return the axis that triggered this event. </div></div>
594 <div class="ttc" id="group__config_html_gaf6906b7344ee8d446594de08b4d065be"><div class="ttname"><a href="group__config.html#gaf6906b7344ee8d446594de08b4d065be">libinput_device_config_tap_get_default_enabled</a></div><div class="ttdeci">enum libinput_config_tap_state libinput_device_config_tap_get_default_enabled(struct libinput_device *device)</div><div class="ttdoc">Return the default setting for whether tapping is enabled on this device. </div></div>
595 <div class="ttc" id="group__event__keyboard_html_gae5a3b7e12e7e8b213b3da92a13adb88d"><div class="ttname"><a href="group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d">libinput_event_keyboard_get_base_event</a></div><div class="ttdeci">struct libinput_event * libinput_event_keyboard_get_base_event(struct libinput_event_keyboard *event)</div></div>
596 <div class="ttc" id="group__device_html_gaf48626f6190e9c9bc14abb704e66cc22"><div class="ttname"><a href="group__device.html#gaf48626f6190e9c9bc14abb704e66cc22">libinput_device_get_output_name</a></div><div class="ttdeci">const char * libinput_device_get_output_name(struct libinput_device *device)</div><div class="ttdoc">A device may be mapped to a single output, or all available outputs. </div></div>
597 <div class="ttc" id="group__event__pointer_html_gac42d0e19d076f4e1fca15f1ec42510d5"><div class="ttname"><a href="group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5">libinput_event_pointer_get_time</a></div><div class="ttdeci">uint32_t libinput_event_pointer_get_time(struct libinput_event_pointer *event)</div></div>
598 <div class="ttc" id="group__event__touch_html_gacb2cd144a719c9873cd4621db278e92c"><div class="ttname"><a href="group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c">libinput_event_touch_get_base_event</a></div><div class="ttdeci">struct libinput_event * libinput_event_touch_get_base_event(struct libinput_event_touch *event)</div></div>
599 <div class="ttc" id="group__device_html_ga360bdea89a75606472a0b5d72678bd17"><div class="ttname"><a href="group__device.html#ga360bdea89a75606472a0b5d72678bd17">libinput_key_state</a></div><div class="ttdeci">libinput_key_state</div><div class="ttdoc">Logical state of a key. </div><div class="ttdef"><b>Definition:</b> libinput.h:134</div></div>
600 <div class="ttc" id="group__base_html_ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67"><div class="ttname"><a href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67">LIBINPUT_EVENT_NONE</a></div><div class="ttdoc">This is not a real event type, and is only used to tell the user that no new event is available in th...</div><div class="ttdef"><b>Definition:</b> libinput.h:183</div></div>
601 <div class="ttc" id="group__device_html_ga6243ad6005b2ce2a5ecfd1b04787fe93"><div class="ttname"><a href="group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93">libinput_device_set_user_data</a></div><div class="ttdeci">void libinput_device_set_user_data(struct libinput_device *device, void *user_data)</div><div class="ttdoc">Set caller-specific data associated with this input device. </div></div>
602 <div class="ttc" id="group__event__pointer_html_ga4d4f75669001c323dcdc3cc9aec1574a"><div class="ttname"><a href="group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a">libinput_event_pointer_get_base_event</a></div><div class="ttdeci">struct libinput_event * libinput_event_pointer_get_base_event(struct libinput_event_pointer *event)</div></div>
603 <div class="ttc" id="group__event_html_ga52acdc3afcf75efeb8153f50eef20615"><div class="ttname"><a href="group__event.html#ga52acdc3afcf75efeb8153f50eef20615">libinput_event_get_pointer_event</a></div><div class="ttdeci">struct libinput_event_pointer * libinput_event_get_pointer_event(struct libinput_event *event)</div><div class="ttdoc">Return the pointer event that is this input event. </div></div>
604 <div class="ttc" id="libinput_8h_html_aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d"><div class="ttname"><a href="libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d">LIBINPUT_LOG_PRIORITY_ERROR</a></div><div class="ttdef"><b>Definition:</b> libinput.h:112</div></div>
605 <div class="ttc" id="group__event_html_gad2cba8252024bdcc341499bedd3d0be7"><div class="ttname"><a href="group__event.html#gad2cba8252024bdcc341499bedd3d0be7">libinput_event_get_touch_event</a></div><div class="ttdeci">struct libinput_event_touch * libinput_event_get_touch_event(struct libinput_event *event)</div><div class="ttdoc">Return the touch event that is this input event. </div></div>
606 </div><!-- fragment --></div><!-- contents -->
607 <!-- start footer part -->
608 <hr class="footer"/><address class="footer"><small>
609 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
610 <img class="footer" src="doxygen.png" alt="doxygen"/>
611 </a> 1.8.5
612 </small></address>
613 </body>
614 </html>
+0
-104
doc/html/modules.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Modules</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li class="current"><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="headertitle">
80 <div class="title">Modules</div> </div>
81 </div><!--header-->
82 <div class="contents">
83 <div class="textblock">Here is a list of all modules:</div><div class="directory">
84 <table class="directory">
85 <tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__event.html" target="_self">Accessing and destruction of events</a></td><td class="desc"></td></tr>
86 <tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__event__keyboard.html" target="_self">Keyboard events</a></td><td class="desc">Key events are generated when a key changes its logical state, usually by being pressed or released </td></tr>
87 <tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__event__pointer.html" target="_self">Pointer events</a></td><td class="desc">Pointer events reflect motion, button and scroll events, as well as events from other axes </td></tr>
88 <tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__event__touch.html" target="_self">Touch events</a></td><td class="desc">Events from absolute touch devices </td></tr>
89 <tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__base.html" target="_self">Initialization and manipulation of libinput contexts</a></td><td class="desc"></td></tr>
90 <tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__seat.html" target="_self">Initialization and manipulation of seats</a></td><td class="desc">A seat has two identifiers, the physical name and the logical name </td></tr>
91 <tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__device.html" target="_self">Initialization and manipulation of input devices</a></td><td class="desc"></td></tr>
92 <tr id="row_7_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__config.html" target="_self">Device configuration</a></td><td class="desc">Enable, disable, change and/or check for device-specific features </td></tr>
93 </table>
94 </div><!-- directory -->
95 </div><!-- contents -->
96 <!-- start footer part -->
97 <hr class="footer"/><address class="footer"><small>
98 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
99 <img class="footer" src="doxygen.png" alt="doxygen"/>
100 </a> 1.8.5
101 </small></address>
102 </body>
103 </html>
doc/html/nav_f.png less more
Binary diff not shown
doc/html/nav_g.png less more
Binary diff not shown
doc/html/nav_h.png less more
Binary diff not shown
doc/html/open.png less more
Binary diff not shown
+0
-97
doc/html/pages.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Related Pages</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 </div><!-- top -->
64 <!-- window showing the filter options -->
65 <div id="MSearchSelectWindow"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 onkeydown="return searchBox.OnSearchSelectKey(event)">
69 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
70
71 <!-- iframe showing the search results (closed by default) -->
72 <div id="MSearchResultsWindow">
73 <iframe src="javascript:void(0)" frameborder="0"
74 name="MSearchResults" id="MSearchResults">
75 </iframe>
76 </div>
77
78 <div class="header">
79 <div class="headertitle">
80 <div class="title">Related Pages</div> </div>
81 </div><!--header-->
82 <div class="contents">
83 <div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
84 <table class="directory">
85 <tr id="row_0_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="tpbuttons.html" target="_self">Touchpad button behavior</a></td><td class="desc">For touchpad devices without physical buttons, libinput enables an emulated right button area through either of two methods </td></tr>
86 </table>
87 </div><!-- directory -->
88 </div><!-- contents -->
89 <!-- start footer part -->
90 <hr class="footer"/><address class="footer"><small>
91 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93 </a> 1.8.5
94 </small></address>
95 </body>
96 </html>
+0
-26
doc/html/search/all_61.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_61.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_61.js less more
0 var searchData=
1 [
2 ['accessing_20and_20destruction_20of_20events',['Accessing and destruction of events',['../group__event.html',1,'']]]
3 ];
+0
-26
doc/html/search/all_63.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_63.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_63.js less more
0 var searchData=
1 [
2 ['close_5frestricted',['close_restricted',['../structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef',1,'libinput_interface']]]
3 ];
+0
-26
doc/html/search/all_64.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_64.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_64.js less more
0 var searchData=
1 [
2 ['device_20configuration',['Device configuration',['../group__config.html',1,'']]]
3 ];
+0
-26
doc/html/search/all_69.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_69.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-6
doc/html/search/all_69.js less more
0 var searchData=
1 [
2 ['initialization_20and_20manipulation_20of_20libinput_20contexts',['Initialization and manipulation of libinput contexts',['../group__base.html',1,'']]],
3 ['initialization_20and_20manipulation_20of_20input_20devices',['Initialization and manipulation of input devices',['../group__device.html',1,'']]],
4 ['initialization_20and_20manipulation_20of_20seats',['Initialization and manipulation of seats',['../group__seat.html',1,'']]]
5 ];
+0
-26
doc/html/search/all_6b.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_6b.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_6b.js less more
0 var searchData=
1 [
2 ['keyboard_20events',['Keyboard events',['../group__event__keyboard.html',1,'']]]
3 ];
+0
-26
doc/html/search/all_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-129
doc/html/search/all_6c.js less more
0 var searchData=
1 [
2 ['libinput_2eh',['libinput.h',['../libinput_8h.html',1,'']]],
3 ['libinput_5fattribute_5fdeprecated',['LIBINPUT_ATTRIBUTE_DEPRECATED',['../libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901',1,'libinput.h']]],
4 ['libinput_5fattribute_5fprintf',['LIBINPUT_ATTRIBUTE_PRINTF',['../libinput_8h.html#a7de828556e8e12b23e4c5acec1581780',1,'libinput.h']]],
5 ['libinput_5fbutton_5fstate',['libinput_button_state',['../group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf',1,'libinput.h']]],
6 ['libinput_5fbutton_5fstate_5fpressed',['LIBINPUT_BUTTON_STATE_PRESSED',['../group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4',1,'libinput.h']]],
7 ['libinput_5fbutton_5fstate_5freleased',['LIBINPUT_BUTTON_STATE_RELEASED',['../group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b',1,'libinput.h']]],
8 ['libinput_5fconfig_5fstatus',['libinput_config_status',['../group__config.html#ga33ff306ed8505129adce4c092a3ed175',1,'libinput.h']]],
9 ['libinput_5fconfig_5fstatus_5finvalid',['LIBINPUT_CONFIG_STATUS_INVALID',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c',1,'libinput.h']]],
10 ['libinput_5fconfig_5fstatus_5fsuccess',['LIBINPUT_CONFIG_STATUS_SUCCESS',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2',1,'libinput.h']]],
11 ['libinput_5fconfig_5fstatus_5fto_5fstr',['libinput_config_status_to_str',['../group__config.html#ga7eee5ba99988d80bb9dd744894c72e06',1,'libinput.h']]],
12 ['libinput_5fconfig_5fstatus_5funsupported',['LIBINPUT_CONFIG_STATUS_UNSUPPORTED',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22',1,'libinput.h']]],
13 ['libinput_5fconfig_5ftap_5fdisabled',['LIBINPUT_CONFIG_TAP_DISABLED',['../group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11',1,'libinput.h']]],
14 ['libinput_5fconfig_5ftap_5fenabled',['LIBINPUT_CONFIG_TAP_ENABLED',['../group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a',1,'libinput.h']]],
15 ['libinput_5fconfig_5ftap_5fstate',['libinput_config_tap_state',['../group__config.html#gaca4a3177736e6fd024cb77bc684857a1',1,'libinput.h']]],
16 ['libinput_5fdevice_5fcalibrate',['libinput_device_calibrate',['../group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48',1,'libinput.h']]],
17 ['libinput_5fdevice_5fcap_5fkeyboard',['LIBINPUT_DEVICE_CAP_KEYBOARD',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b',1,'libinput.h']]],
18 ['libinput_5fdevice_5fcap_5fpointer',['LIBINPUT_DEVICE_CAP_POINTER',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f',1,'libinput.h']]],
19 ['libinput_5fdevice_5fcap_5ftouch',['LIBINPUT_DEVICE_CAP_TOUCH',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa',1,'libinput.h']]],
20 ['libinput_5fdevice_5fcapability',['libinput_device_capability',['../group__device.html#ga3110cdddce94a1df0b8a3306909c8f15',1,'libinput.h']]],
21 ['libinput_5fdevice_5fconfig_5ftap_5fget_5fdefault_5fenabled',['libinput_device_config_tap_get_default_enabled',['../group__config.html#gaf6906b7344ee8d446594de08b4d065be',1,'libinput.h']]],
22 ['libinput_5fdevice_5fconfig_5ftap_5fget_5fenabled',['libinput_device_config_tap_get_enabled',['../group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07',1,'libinput.h']]],
23 ['libinput_5fdevice_5fconfig_5ftap_5fget_5ffinger_5fcount',['libinput_device_config_tap_get_finger_count',['../group__config.html#ga13973d6bd75a99708723e3c6684517c1',1,'libinput.h']]],
24 ['libinput_5fdevice_5fconfig_5ftap_5fset_5fenabled',['libinput_device_config_tap_set_enabled',['../group__config.html#ga3caf860883d4e2e42b7842599da03e56',1,'libinput.h']]],
25 ['libinput_5fdevice_5fget_5fid_5fproduct',['libinput_device_get_id_product',['../group__device.html#gae011910b4a673f1293a20a84be4e52e2',1,'libinput.h']]],
26 ['libinput_5fdevice_5fget_5fid_5fvendor',['libinput_device_get_id_vendor',['../group__device.html#gad9e4c074b03da790de5e117c71ce8d50',1,'libinput.h']]],
27 ['libinput_5fdevice_5fget_5fkeys',['libinput_device_get_keys',['../group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184',1,'libinput.h']]],
28 ['libinput_5fdevice_5fget_5fname',['libinput_device_get_name',['../group__device.html#ga31655d2c2f173d059b3f891801c0a429',1,'libinput.h']]],
29 ['libinput_5fdevice_5fget_5foutput_5fname',['libinput_device_get_output_name',['../group__device.html#gaf48626f6190e9c9bc14abb704e66cc22',1,'libinput.h']]],
30 ['libinput_5fdevice_5fget_5fseat',['libinput_device_get_seat',['../group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0',1,'libinput.h']]],
31 ['libinput_5fdevice_5fget_5fsize',['libinput_device_get_size',['../group__device.html#gab91ae9014902fafe4f015e1f42233d27',1,'libinput.h']]],
32 ['libinput_5fdevice_5fget_5fsysname',['libinput_device_get_sysname',['../group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6',1,'libinput.h']]],
33 ['libinput_5fdevice_5fget_5fuser_5fdata',['libinput_device_get_user_data',['../group__device.html#gaf5c902f56206a5d441e50c3a95ec458b',1,'libinput.h']]],
34 ['libinput_5fdevice_5fhas_5fcapability',['libinput_device_has_capability',['../group__device.html#gaa32d887454e8baf8aaeeb635329aef89',1,'libinput.h']]],
35 ['libinput_5fdevice_5fled_5fupdate',['libinput_device_led_update',['../group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad',1,'libinput.h']]],
36 ['libinput_5fdevice_5fref',['libinput_device_ref',['../group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467',1,'libinput.h']]],
37 ['libinput_5fdevice_5fset_5fuser_5fdata',['libinput_device_set_user_data',['../group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93',1,'libinput.h']]],
38 ['libinput_5fdevice_5funref',['libinput_device_unref',['../group__device.html#ga857340e2dab06c7f7d84173a5a1fa427',1,'libinput.h']]],
39 ['libinput_5fdispatch',['libinput_dispatch',['../group__base.html#ga271f910ed17461830e48d4cd20483a00',1,'libinput.h']]],
40 ['libinput_5fevent_5fdestroy',['libinput_event_destroy',['../group__event.html#ga1df956c16e26cbbd911e553ec081022a',1,'libinput.h']]],
41 ['libinput_5fevent_5fdevice_5fadded',['LIBINPUT_EVENT_DEVICE_ADDED',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b',1,'libinput.h']]],
42 ['libinput_5fevent_5fdevice_5fnotify_5fget_5fbase_5fevent',['libinput_event_device_notify_get_base_event',['../group__event.html#ga19d329b7685c3a994718cec3845db1a0',1,'libinput.h']]],
43 ['libinput_5fevent_5fdevice_5fremoved',['LIBINPUT_EVENT_DEVICE_REMOVED',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09',1,'libinput.h']]],
44 ['libinput_5fevent_5fget_5fcontext',['libinput_event_get_context',['../group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632',1,'libinput.h']]],
45 ['libinput_5fevent_5fget_5fdevice',['libinput_event_get_device',['../group__event.html#ga8a49a089181960f7536344f7637ea777',1,'libinput.h']]],
46 ['libinput_5fevent_5fget_5fdevice_5fnotify_5fevent',['libinput_event_get_device_notify_event',['../group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc',1,'libinput.h']]],
47 ['libinput_5fevent_5fget_5fkeyboard_5fevent',['libinput_event_get_keyboard_event',['../group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d',1,'libinput.h']]],
48 ['libinput_5fevent_5fget_5fpointer_5fevent',['libinput_event_get_pointer_event',['../group__event.html#ga52acdc3afcf75efeb8153f50eef20615',1,'libinput.h']]],
49 ['libinput_5fevent_5fget_5ftouch_5fevent',['libinput_event_get_touch_event',['../group__event.html#gad2cba8252024bdcc341499bedd3d0be7',1,'libinput.h']]],
50 ['libinput_5fevent_5fget_5ftype',['libinput_event_get_type',['../group__event.html#ga430a3a7369afd6c5ff722179327df79a',1,'libinput.h']]],
51 ['libinput_5fevent_5fkeyboard_5fget_5fbase_5fevent',['libinput_event_keyboard_get_base_event',['../group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d',1,'libinput.h']]],
52 ['libinput_5fevent_5fkeyboard_5fget_5fkey',['libinput_event_keyboard_get_key',['../group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf',1,'libinput.h']]],
53 ['libinput_5fevent_5fkeyboard_5fget_5fkey_5fstate',['libinput_event_keyboard_get_key_state',['../group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98',1,'libinput.h']]],
54 ['libinput_5fevent_5fkeyboard_5fget_5fseat_5fkey_5fcount',['libinput_event_keyboard_get_seat_key_count',['../group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4',1,'libinput.h']]],
55 ['libinput_5fevent_5fkeyboard_5fget_5ftime',['libinput_event_keyboard_get_time',['../group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71',1,'libinput.h']]],
56 ['libinput_5fevent_5fkeyboard_5fkey',['LIBINPUT_EVENT_KEYBOARD_KEY',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3',1,'libinput.h']]],
57 ['libinput_5fevent_5fnone',['LIBINPUT_EVENT_NONE',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67',1,'libinput.h']]],
58 ['libinput_5fevent_5fpointer_5faxis',['LIBINPUT_EVENT_POINTER_AXIS',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde',1,'libinput.h']]],
59 ['libinput_5fevent_5fpointer_5fbutton',['LIBINPUT_EVENT_POINTER_BUTTON',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689',1,'libinput.h']]],
60 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fx',['libinput_event_pointer_get_absolute_x',['../group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5',1,'libinput.h']]],
61 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fx_5ftransformed',['libinput_event_pointer_get_absolute_x_transformed',['../group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021',1,'libinput.h']]],
62 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fy',['libinput_event_pointer_get_absolute_y',['../group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c',1,'libinput.h']]],
63 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fy_5ftransformed',['libinput_event_pointer_get_absolute_y_transformed',['../group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23',1,'libinput.h']]],
64 ['libinput_5fevent_5fpointer_5fget_5faxis',['libinput_event_pointer_get_axis',['../group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817',1,'libinput.h']]],
65 ['libinput_5fevent_5fpointer_5fget_5faxis_5fvalue',['libinput_event_pointer_get_axis_value',['../group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969',1,'libinput.h']]],
66 ['libinput_5fevent_5fpointer_5fget_5fbase_5fevent',['libinput_event_pointer_get_base_event',['../group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a',1,'libinput.h']]],
67 ['libinput_5fevent_5fpointer_5fget_5fbutton',['libinput_event_pointer_get_button',['../group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b',1,'libinput.h']]],
68 ['libinput_5fevent_5fpointer_5fget_5fbutton_5fstate',['libinput_event_pointer_get_button_state',['../group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18',1,'libinput.h']]],
69 ['libinput_5fevent_5fpointer_5fget_5fdx',['libinput_event_pointer_get_dx',['../group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53',1,'libinput.h']]],
70 ['libinput_5fevent_5fpointer_5fget_5fdy',['libinput_event_pointer_get_dy',['../group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612',1,'libinput.h']]],
71 ['libinput_5fevent_5fpointer_5fget_5fseat_5fbutton_5fcount',['libinput_event_pointer_get_seat_button_count',['../group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea',1,'libinput.h']]],
72 ['libinput_5fevent_5fpointer_5fget_5ftime',['libinput_event_pointer_get_time',['../group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5',1,'libinput.h']]],
73 ['libinput_5fevent_5fpointer_5fmotion',['LIBINPUT_EVENT_POINTER_MOTION',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9',1,'libinput.h']]],
74 ['libinput_5fevent_5fpointer_5fmotion_5fabsolute',['LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315',1,'libinput.h']]],
75 ['libinput_5fevent_5ftouch',['libinput_event_touch',['../structlibinput__event__touch.html',1,'']]],
76 ['libinput_5fevent_5ftouch_5fcancel',['LIBINPUT_EVENT_TOUCH_CANCEL',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052',1,'libinput.h']]],
77 ['libinput_5fevent_5ftouch_5fdown',['LIBINPUT_EVENT_TOUCH_DOWN',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb',1,'libinput.h']]],
78 ['libinput_5fevent_5ftouch_5fframe',['LIBINPUT_EVENT_TOUCH_FRAME',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387',1,'libinput.h']]],
79 ['libinput_5fevent_5ftouch_5fget_5fbase_5fevent',['libinput_event_touch_get_base_event',['../group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c',1,'libinput.h']]],
80 ['libinput_5fevent_5ftouch_5fget_5fseat_5fslot',['libinput_event_touch_get_seat_slot',['../group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da',1,'libinput.h']]],
81 ['libinput_5fevent_5ftouch_5fget_5fslot',['libinput_event_touch_get_slot',['../group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09',1,'libinput.h']]],
82 ['libinput_5fevent_5ftouch_5fget_5ftime',['libinput_event_touch_get_time',['../group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9',1,'libinput.h']]],
83 ['libinput_5fevent_5ftouch_5fget_5fx',['libinput_event_touch_get_x',['../group__event__touch.html#gac42d0e070811c360cf8ec784349954ba',1,'libinput.h']]],
84 ['libinput_5fevent_5ftouch_5fget_5fx_5ftransformed',['libinput_event_touch_get_x_transformed',['../group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe',1,'libinput.h']]],
85 ['libinput_5fevent_5ftouch_5fget_5fy',['libinput_event_touch_get_y',['../group__event__touch.html#ga30711113bcef4bc02eda7878a054351c',1,'libinput.h']]],
86 ['libinput_5fevent_5ftouch_5fget_5fy_5ftransformed',['libinput_event_touch_get_y_transformed',['../group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f',1,'libinput.h']]],
87 ['libinput_5fevent_5ftouch_5fmotion',['LIBINPUT_EVENT_TOUCH_MOTION',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468',1,'libinput.h']]],
88 ['libinput_5fevent_5ftouch_5fup',['LIBINPUT_EVENT_TOUCH_UP',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62',1,'libinput.h']]],
89 ['libinput_5fevent_5ftype',['libinput_event_type',['../group__base.html#gac30276a06e8b1434b959f2c8dde74f7c',1,'libinput.h']]],
90 ['libinput_5fget_5fevent',['libinput_get_event',['../group__base.html#gacead6670eaecf7c807659e2b6c725630',1,'libinput.h']]],
91 ['libinput_5fget_5ffd',['libinput_get_fd',['../group__base.html#ga885a59371d4e8de0e18a2a2a66942e11',1,'libinput.h']]],
92 ['libinput_5fget_5fuser_5fdata',['libinput_get_user_data',['../group__base.html#ga3eab49413b8430c2eee987a39f4a410b',1,'libinput.h']]],
93 ['libinput_5finterface',['libinput_interface',['../structlibinput__interface.html',1,'']]],
94 ['libinput_5fkey_5fstate',['libinput_key_state',['../group__device.html#ga360bdea89a75606472a0b5d72678bd17',1,'libinput.h']]],
95 ['libinput_5fkey_5fstate_5fpressed',['LIBINPUT_KEY_STATE_PRESSED',['../group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e',1,'libinput.h']]],
96 ['libinput_5fkey_5fstate_5freleased',['LIBINPUT_KEY_STATE_RELEASED',['../group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c',1,'libinput.h']]],
97 ['libinput_5fled',['libinput_led',['../group__device.html#ga37ec9afaec2e5407e3c5248faedd1970',1,'libinput.h']]],
98 ['libinput_5fled_5fcaps_5flock',['LIBINPUT_LED_CAPS_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe',1,'libinput.h']]],
99 ['libinput_5fled_5fnum_5flock',['LIBINPUT_LED_NUM_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a',1,'libinput.h']]],
100 ['libinput_5fled_5fscroll_5flock',['LIBINPUT_LED_SCROLL_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd',1,'libinput.h']]],
101 ['libinput_5flog_5fget_5fpriority',['libinput_log_get_priority',['../group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0',1,'libinput.h']]],
102 ['libinput_5flog_5fhandler',['libinput_log_handler',['../group__base.html#ga387f6d09ed8548128a68f1d19ea675c2',1,'libinput.h']]],
103 ['libinput_5flog_5fpriority',['libinput_log_priority',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1',1,'libinput.h']]],
104 ['libinput_5flog_5fpriority_5fdebug',['LIBINPUT_LOG_PRIORITY_DEBUG',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8',1,'libinput.h']]],
105 ['libinput_5flog_5fpriority_5ferror',['LIBINPUT_LOG_PRIORITY_ERROR',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d',1,'libinput.h']]],
106 ['libinput_5flog_5fpriority_5finfo',['LIBINPUT_LOG_PRIORITY_INFO',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500',1,'libinput.h']]],
107 ['libinput_5flog_5fset_5fhandler',['libinput_log_set_handler',['../group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2',1,'libinput.h']]],
108 ['libinput_5flog_5fset_5fpriority',['libinput_log_set_priority',['../group__base.html#ga75a500c54c61cfcecd4c76dbb8022933',1,'libinput.h']]],
109 ['libinput_5fnext_5fevent_5ftype',['libinput_next_event_type',['../group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005',1,'libinput.h']]],
110 ['libinput_5fpath_5fadd_5fdevice',['libinput_path_add_device',['../group__base.html#gaa797496f0150b482a4e01376bd33a47b',1,'libinput.h']]],
111 ['libinput_5fpath_5fcreate_5fcontext',['libinput_path_create_context',['../group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07',1,'libinput.h']]],
112 ['libinput_5fpath_5fremove_5fdevice',['libinput_path_remove_device',['../group__base.html#ga9cb53cdcce2c000001ac17706a612121',1,'libinput.h']]],
113 ['libinput_5fpointer_5faxis',['libinput_pointer_axis',['../group__device.html#ga82cd15b9476a4a60f25470df8d67483c',1,'libinput.h']]],
114 ['libinput_5fpointer_5faxis_5fscroll_5fhorizontal',['LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL',['../group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852',1,'libinput.h']]],
115 ['libinput_5fpointer_5faxis_5fscroll_5fvertical',['LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL',['../group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5',1,'libinput.h']]],
116 ['libinput_5fref',['libinput_ref',['../group__base.html#gafff29392ec52e1e7de5bb812e085127a',1,'libinput.h']]],
117 ['libinput_5fresume',['libinput_resume',['../group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6',1,'libinput.h']]],
118 ['libinput_5fseat_5fget_5flogical_5fname',['libinput_seat_get_logical_name',['../group__seat.html#ga61e477120d5f0cc67a06d04575186948',1,'libinput.h']]],
119 ['libinput_5fseat_5fget_5fphysical_5fname',['libinput_seat_get_physical_name',['../group__seat.html#gac881036869846ad87eb7814fbf308251',1,'libinput.h']]],
120 ['libinput_5fseat_5fget_5fuser_5fdata',['libinput_seat_get_user_data',['../group__seat.html#gac7af04e67fc803f1f7756d02e5372e91',1,'libinput.h']]],
121 ['libinput_5fseat_5fref',['libinput_seat_ref',['../group__seat.html#ga60445ab81e8ee3a10b85e88617231069',1,'libinput.h']]],
122 ['libinput_5fseat_5fset_5fuser_5fdata',['libinput_seat_set_user_data',['../group__seat.html#ga669ed8a095445e9537deef8a9880587b',1,'libinput.h']]],
123 ['libinput_5fseat_5funref',['libinput_seat_unref',['../group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400',1,'libinput.h']]],
124 ['libinput_5fsuspend',['libinput_suspend',['../group__base.html#ga60662dc666f6188dc207467c9d8e99ab',1,'libinput.h']]],
125 ['libinput_5fudev_5fassign_5fseat',['libinput_udev_assign_seat',['../group__base.html#ga71a60660b30cb476495e75766222d144',1,'libinput.h']]],
126 ['libinput_5fudev_5fcreate_5fcontext',['libinput_udev_create_context',['../group__base.html#ga7512ea602d4b259085c47f6374b078d1',1,'libinput.h']]],
127 ['libinput_5funref',['libinput_unref',['../group__base.html#ga7ed0797d23e34b650e0aeb98b5350309',1,'libinput.h']]]
128 ];
+0
-26
doc/html/search/all_6f.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_6f.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_6f.js less more
0 var searchData=
1 [
2 ['open_5frestricted',['open_restricted',['../structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4',1,'libinput_interface']]]
3 ];
+0
-26
doc/html/search/all_70.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_70.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/all_70.js less more
0 var searchData=
1 [
2 ['pointer_20events',['Pointer events',['../group__event__pointer.html',1,'']]]
3 ];
+0
-26
doc/html/search/all_74.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="all_74.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-5
doc/html/search/all_74.js less more
0 var searchData=
1 [
2 ['touch_20events',['Touch events',['../group__event__touch.html',1,'']]],
3 ['touchpad_20button_20behavior',['Touchpad button behavior',['../tpbuttons.html',1,'']]]
4 ];
+0
-26
doc/html/search/classes_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="classes_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-5
doc/html/search/classes_6c.js less more
0 var searchData=
1 [
2 ['libinput_5fevent_5ftouch',['libinput_event_touch',['../structlibinput__event__touch.html',1,'']]],
3 ['libinput_5finterface',['libinput_interface',['../structlibinput__interface.html',1,'']]]
4 ];
doc/html/search/close.png less more
Binary diff not shown
+0
-26
doc/html/search/defines_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="defines_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-5
doc/html/search/defines_6c.js less more
0 var searchData=
1 [
2 ['libinput_5fattribute_5fdeprecated',['LIBINPUT_ATTRIBUTE_DEPRECATED',['../libinput_8h.html#a765fe0783fd8cd83a82ecfe910780901',1,'libinput.h']]],
3 ['libinput_5fattribute_5fprintf',['LIBINPUT_ATTRIBUTE_PRINTF',['../libinput_8h.html#a7de828556e8e12b23e4c5acec1581780',1,'libinput.h']]]
4 ];
+0
-26
doc/html/search/enums_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="enums_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-12
doc/html/search/enums_6c.js less more
0 var searchData=
1 [
2 ['libinput_5fbutton_5fstate',['libinput_button_state',['../group__device.html#ga543a8bb3f2d7421f76e63bb4ee2fb5bf',1,'libinput.h']]],
3 ['libinput_5fconfig_5fstatus',['libinput_config_status',['../group__config.html#ga33ff306ed8505129adce4c092a3ed175',1,'libinput.h']]],
4 ['libinput_5fconfig_5ftap_5fstate',['libinput_config_tap_state',['../group__config.html#gaca4a3177736e6fd024cb77bc684857a1',1,'libinput.h']]],
5 ['libinput_5fdevice_5fcapability',['libinput_device_capability',['../group__device.html#ga3110cdddce94a1df0b8a3306909c8f15',1,'libinput.h']]],
6 ['libinput_5fevent_5ftype',['libinput_event_type',['../group__base.html#gac30276a06e8b1434b959f2c8dde74f7c',1,'libinput.h']]],
7 ['libinput_5fkey_5fstate',['libinput_key_state',['../group__device.html#ga360bdea89a75606472a0b5d72678bd17',1,'libinput.h']]],
8 ['libinput_5fled',['libinput_led',['../group__device.html#ga37ec9afaec2e5407e3c5248faedd1970',1,'libinput.h']]],
9 ['libinput_5flog_5fpriority',['libinput_log_priority',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1',1,'libinput.h']]],
10 ['libinput_5fpointer_5faxis',['libinput_pointer_axis',['../group__device.html#ga82cd15b9476a4a60f25470df8d67483c',1,'libinput.h']]]
11 ];
+0
-26
doc/html/search/enumvalues_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="enumvalues_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-36
doc/html/search/enumvalues_6c.js less more
0 var searchData=
1 [
2 ['libinput_5fbutton_5fstate_5fpressed',['LIBINPUT_BUTTON_STATE_PRESSED',['../group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfa68b58fac43509a92230c315993dcf6b4',1,'libinput.h']]],
3 ['libinput_5fbutton_5fstate_5freleased',['LIBINPUT_BUTTON_STATE_RELEASED',['../group__device.html#gga543a8bb3f2d7421f76e63bb4ee2fb5bfad20bd759a424b497d7d363ef136f856b',1,'libinput.h']]],
4 ['libinput_5fconfig_5fstatus_5finvalid',['LIBINPUT_CONFIG_STATUS_INVALID',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175abb7bb2e5f6d7ce182d5e7bd546f5442c',1,'libinput.h']]],
5 ['libinput_5fconfig_5fstatus_5fsuccess',['LIBINPUT_CONFIG_STATUS_SUCCESS',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175a59345d3cb7b87a73ea505f847d0cbdb2',1,'libinput.h']]],
6 ['libinput_5fconfig_5fstatus_5funsupported',['LIBINPUT_CONFIG_STATUS_UNSUPPORTED',['../group__config.html#gga33ff306ed8505129adce4c092a3ed175a54cb4059494ad0d6b305d8bdeb4d6d22',1,'libinput.h']]],
7 ['libinput_5fconfig_5ftap_5fdisabled',['LIBINPUT_CONFIG_TAP_DISABLED',['../group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab202825f96206e91e8faa8c379b81b11',1,'libinput.h']]],
8 ['libinput_5fconfig_5ftap_5fenabled',['LIBINPUT_CONFIG_TAP_ENABLED',['../group__config.html#ggaca4a3177736e6fd024cb77bc684857a1ab3cb0b659d23d21b0b55c676899af92a',1,'libinput.h']]],
9 ['libinput_5fdevice_5fcap_5fkeyboard',['LIBINPUT_DEVICE_CAP_KEYBOARD',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a733315d968cac7bd569b43b71664ae4b',1,'libinput.h']]],
10 ['libinput_5fdevice_5fcap_5fpointer',['LIBINPUT_DEVICE_CAP_POINTER',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15a6e7c3249a8f0503fce7e0a5effc4d73f',1,'libinput.h']]],
11 ['libinput_5fdevice_5fcap_5ftouch',['LIBINPUT_DEVICE_CAP_TOUCH',['../group__device.html#gga3110cdddce94a1df0b8a3306909c8f15aad61f92a8154c9017d4e621c768712aa',1,'libinput.h']]],
12 ['libinput_5fevent_5fdevice_5fadded',['LIBINPUT_EVENT_DEVICE_ADDED',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca4da18343b29cc16ae2df09b9a3bff33b',1,'libinput.h']]],
13 ['libinput_5fevent_5fdevice_5fremoved',['LIBINPUT_EVENT_DEVICE_REMOVED',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca971332bb0efebbfb240001466684dd09',1,'libinput.h']]],
14 ['libinput_5fevent_5fkeyboard_5fkey',['LIBINPUT_EVENT_KEYBOARD_KEY',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca477833897722f621bd10bbf3771302d3',1,'libinput.h']]],
15 ['libinput_5fevent_5fnone',['LIBINPUT_EVENT_NONE',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7cabccc2f8bdff4e6ff42d3e1318864af67',1,'libinput.h']]],
16 ['libinput_5fevent_5fpointer_5faxis',['LIBINPUT_EVENT_POINTER_AXIS',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca507673764d93c8d46109b069a3ab9bde',1,'libinput.h']]],
17 ['libinput_5fevent_5fpointer_5fbutton',['LIBINPUT_EVENT_POINTER_BUTTON',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca26d8ced7a6e63edefb7f72ddd4d1d689',1,'libinput.h']]],
18 ['libinput_5fevent_5fpointer_5fmotion',['LIBINPUT_EVENT_POINTER_MOTION',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1812725b7fac7f096cb5d667a6bf89e9',1,'libinput.h']]],
19 ['libinput_5fevent_5fpointer_5fmotion_5fabsolute',['LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca5e277107f22df970e882ef76dd6cc315',1,'libinput.h']]],
20 ['libinput_5fevent_5ftouch_5fcancel',['LIBINPUT_EVENT_TOUCH_CANCEL',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052',1,'libinput.h']]],
21 ['libinput_5fevent_5ftouch_5fdown',['LIBINPUT_EVENT_TOUCH_DOWN',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb',1,'libinput.h']]],
22 ['libinput_5fevent_5ftouch_5fframe',['LIBINPUT_EVENT_TOUCH_FRAME',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387',1,'libinput.h']]],
23 ['libinput_5fevent_5ftouch_5fmotion',['LIBINPUT_EVENT_TOUCH_MOTION',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468',1,'libinput.h']]],
24 ['libinput_5fevent_5ftouch_5fup',['LIBINPUT_EVENT_TOUCH_UP',['../group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62',1,'libinput.h']]],
25 ['libinput_5fkey_5fstate_5fpressed',['LIBINPUT_KEY_STATE_PRESSED',['../group__device.html#gga360bdea89a75606472a0b5d72678bd17a3fa7cb12e694a4b1310f6df77e93d46e',1,'libinput.h']]],
26 ['libinput_5fkey_5fstate_5freleased',['LIBINPUT_KEY_STATE_RELEASED',['../group__device.html#gga360bdea89a75606472a0b5d72678bd17a40f08dfe7bf96603f75bba186721992c',1,'libinput.h']]],
27 ['libinput_5fled_5fcaps_5flock',['LIBINPUT_LED_CAPS_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a10cf3c49445b0baf5e91590391e59ebe',1,'libinput.h']]],
28 ['libinput_5fled_5fnum_5flock',['LIBINPUT_LED_NUM_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970aa82d6090fb4615d2379f59c06c79588a',1,'libinput.h']]],
29 ['libinput_5fled_5fscroll_5flock',['LIBINPUT_LED_SCROLL_LOCK',['../group__device.html#gga37ec9afaec2e5407e3c5248faedd1970a1914ddccb1739d77543767d7768e3abd',1,'libinput.h']]],
30 ['libinput_5flog_5fpriority_5fdebug',['LIBINPUT_LOG_PRIORITY_DEBUG',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a3f46e5b7430e100479b4ea27f0fbb1f8',1,'libinput.h']]],
31 ['libinput_5flog_5fpriority_5ferror',['LIBINPUT_LOG_PRIORITY_ERROR',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1ad79f66fcf1d6cbd03678cfc5b012b83d',1,'libinput.h']]],
32 ['libinput_5flog_5fpriority_5finfo',['LIBINPUT_LOG_PRIORITY_INFO',['../libinput_8h.html#aa7e9ebbd1a13fe2ed6f44e69df3216e1a9b457be58d6cf5d66ea177aa3d2c5500',1,'libinput.h']]],
33 ['libinput_5fpointer_5faxis_5fscroll_5fhorizontal',['LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL',['../group__device.html#gga82cd15b9476a4a60f25470df8d67483caf0618a16f29ca56a8df0b624442f9852',1,'libinput.h']]],
34 ['libinput_5fpointer_5faxis_5fscroll_5fvertical',['LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL',['../group__device.html#gga82cd15b9476a4a60f25470df8d67483ca538dfb7d4ab598030af4d57aac55a1e5',1,'libinput.h']]]
35 ];
+0
-26
doc/html/search/files_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="files_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/files_6c.js less more
0 var searchData=
1 [
2 ['libinput_2eh',['libinput.h',['../libinput_8h.html',1,'']]]
3 ];
+0
-26
doc/html/search/functions_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="functions_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-80
doc/html/search/functions_6c.js less more
0 var searchData=
1 [
2 ['libinput_5fconfig_5fstatus_5fto_5fstr',['libinput_config_status_to_str',['../group__config.html#ga7eee5ba99988d80bb9dd744894c72e06',1,'libinput.h']]],
3 ['libinput_5fdevice_5fcalibrate',['libinput_device_calibrate',['../group__device.html#ga3f2fd86e275a67fb192f89034ff5ee48',1,'libinput.h']]],
4 ['libinput_5fdevice_5fconfig_5ftap_5fget_5fdefault_5fenabled',['libinput_device_config_tap_get_default_enabled',['../group__config.html#gaf6906b7344ee8d446594de08b4d065be',1,'libinput.h']]],
5 ['libinput_5fdevice_5fconfig_5ftap_5fget_5fenabled',['libinput_device_config_tap_get_enabled',['../group__config.html#ga8bfe1d541dcadaedeedcd7a98d5b7e07',1,'libinput.h']]],
6 ['libinput_5fdevice_5fconfig_5ftap_5fget_5ffinger_5fcount',['libinput_device_config_tap_get_finger_count',['../group__config.html#ga13973d6bd75a99708723e3c6684517c1',1,'libinput.h']]],
7 ['libinput_5fdevice_5fconfig_5ftap_5fset_5fenabled',['libinput_device_config_tap_set_enabled',['../group__config.html#ga3caf860883d4e2e42b7842599da03e56',1,'libinput.h']]],
8 ['libinput_5fdevice_5fget_5fid_5fproduct',['libinput_device_get_id_product',['../group__device.html#gae011910b4a673f1293a20a84be4e52e2',1,'libinput.h']]],
9 ['libinput_5fdevice_5fget_5fid_5fvendor',['libinput_device_get_id_vendor',['../group__device.html#gad9e4c074b03da790de5e117c71ce8d50',1,'libinput.h']]],
10 ['libinput_5fdevice_5fget_5fkeys',['libinput_device_get_keys',['../group__device.html#ga4cfc6fad3e3fb3e13498575f580b0184',1,'libinput.h']]],
11 ['libinput_5fdevice_5fget_5fname',['libinput_device_get_name',['../group__device.html#ga31655d2c2f173d059b3f891801c0a429',1,'libinput.h']]],
12 ['libinput_5fdevice_5fget_5foutput_5fname',['libinput_device_get_output_name',['../group__device.html#gaf48626f6190e9c9bc14abb704e66cc22',1,'libinput.h']]],
13 ['libinput_5fdevice_5fget_5fseat',['libinput_device_get_seat',['../group__device.html#ga27823edb40750992a1a05e7a9f5dc8f0',1,'libinput.h']]],
14 ['libinput_5fdevice_5fget_5fsize',['libinput_device_get_size',['../group__device.html#gab91ae9014902fafe4f015e1f42233d27',1,'libinput.h']]],
15 ['libinput_5fdevice_5fget_5fsysname',['libinput_device_get_sysname',['../group__device.html#ga106bbe58e6c3a6d1327c9bcbbf2a03f6',1,'libinput.h']]],
16 ['libinput_5fdevice_5fget_5fuser_5fdata',['libinput_device_get_user_data',['../group__device.html#gaf5c902f56206a5d441e50c3a95ec458b',1,'libinput.h']]],
17 ['libinput_5fdevice_5fhas_5fcapability',['libinput_device_has_capability',['../group__device.html#gaa32d887454e8baf8aaeeb635329aef89',1,'libinput.h']]],
18 ['libinput_5fdevice_5fled_5fupdate',['libinput_device_led_update',['../group__device.html#gafdb3ddfb91e6bd38b6356a5bb51547ad',1,'libinput.h']]],
19 ['libinput_5fdevice_5fref',['libinput_device_ref',['../group__device.html#ga3335d55a50f0c2fb0c5f496a3105d467',1,'libinput.h']]],
20 ['libinput_5fdevice_5fset_5fuser_5fdata',['libinput_device_set_user_data',['../group__device.html#ga6243ad6005b2ce2a5ecfd1b04787fe93',1,'libinput.h']]],
21 ['libinput_5fdevice_5funref',['libinput_device_unref',['../group__device.html#ga857340e2dab06c7f7d84173a5a1fa427',1,'libinput.h']]],
22 ['libinput_5fdispatch',['libinput_dispatch',['../group__base.html#ga271f910ed17461830e48d4cd20483a00',1,'libinput.h']]],
23 ['libinput_5fevent_5fdestroy',['libinput_event_destroy',['../group__event.html#ga1df956c16e26cbbd911e553ec081022a',1,'libinput.h']]],
24 ['libinput_5fevent_5fdevice_5fnotify_5fget_5fbase_5fevent',['libinput_event_device_notify_get_base_event',['../group__event.html#ga19d329b7685c3a994718cec3845db1a0',1,'libinput.h']]],
25 ['libinput_5fevent_5fget_5fcontext',['libinput_event_get_context',['../group__event.html#ga28557ae0295f61c45f9b6e4ff7f86632',1,'libinput.h']]],
26 ['libinput_5fevent_5fget_5fdevice',['libinput_event_get_device',['../group__event.html#ga8a49a089181960f7536344f7637ea777',1,'libinput.h']]],
27 ['libinput_5fevent_5fget_5fdevice_5fnotify_5fevent',['libinput_event_get_device_notify_event',['../group__event.html#ga2bbc1391a3397d57d37ae3e2f8175abc',1,'libinput.h']]],
28 ['libinput_5fevent_5fget_5fkeyboard_5fevent',['libinput_event_get_keyboard_event',['../group__event.html#ga8378f8fdd01e8afbcea8ddbb5411570d',1,'libinput.h']]],
29 ['libinput_5fevent_5fget_5fpointer_5fevent',['libinput_event_get_pointer_event',['../group__event.html#ga52acdc3afcf75efeb8153f50eef20615',1,'libinput.h']]],
30 ['libinput_5fevent_5fget_5ftouch_5fevent',['libinput_event_get_touch_event',['../group__event.html#gad2cba8252024bdcc341499bedd3d0be7',1,'libinput.h']]],
31 ['libinput_5fevent_5fget_5ftype',['libinput_event_get_type',['../group__event.html#ga430a3a7369afd6c5ff722179327df79a',1,'libinput.h']]],
32 ['libinput_5fevent_5fkeyboard_5fget_5fbase_5fevent',['libinput_event_keyboard_get_base_event',['../group__event__keyboard.html#gae5a3b7e12e7e8b213b3da92a13adb88d',1,'libinput.h']]],
33 ['libinput_5fevent_5fkeyboard_5fget_5fkey',['libinput_event_keyboard_get_key',['../group__event__keyboard.html#gad29cc9f276d9468463d01f65ccf8deaf',1,'libinput.h']]],
34 ['libinput_5fevent_5fkeyboard_5fget_5fkey_5fstate',['libinput_event_keyboard_get_key_state',['../group__event__keyboard.html#gaf7b018edbc264ba81a2d475d42ebbd98',1,'libinput.h']]],
35 ['libinput_5fevent_5fkeyboard_5fget_5fseat_5fkey_5fcount',['libinput_event_keyboard_get_seat_key_count',['../group__event__keyboard.html#ga75a647f08ef9df9db7a6ebb9b297add4',1,'libinput.h']]],
36 ['libinput_5fevent_5fkeyboard_5fget_5ftime',['libinput_event_keyboard_get_time',['../group__event__keyboard.html#ga0f1a7bb1016816a277b52705d6ef2d71',1,'libinput.h']]],
37 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fx',['libinput_event_pointer_get_absolute_x',['../group__event__pointer.html#gac221536b90c7beb70b70b52e710291b5',1,'libinput.h']]],
38 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fx_5ftransformed',['libinput_event_pointer_get_absolute_x_transformed',['../group__event__pointer.html#ga26fa3d0b2bcc7f0a7939b84dc8207021',1,'libinput.h']]],
39 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fy',['libinput_event_pointer_get_absolute_y',['../group__event__pointer.html#ga3e097a9bc6dbbb355fb1982912f72d4c',1,'libinput.h']]],
40 ['libinput_5fevent_5fpointer_5fget_5fabsolute_5fy_5ftransformed',['libinput_event_pointer_get_absolute_y_transformed',['../group__event__pointer.html#gaa48effb21f132f05f280859f3d2a9f23',1,'libinput.h']]],
41 ['libinput_5fevent_5fpointer_5fget_5faxis',['libinput_event_pointer_get_axis',['../group__event__pointer.html#gace6f44c48d7696d989d5be38afaba817',1,'libinput.h']]],
42 ['libinput_5fevent_5fpointer_5fget_5faxis_5fvalue',['libinput_event_pointer_get_axis_value',['../group__event__pointer.html#gaba288dcf55de6e2691fd75f31229f969',1,'libinput.h']]],
43 ['libinput_5fevent_5fpointer_5fget_5fbase_5fevent',['libinput_event_pointer_get_base_event',['../group__event__pointer.html#ga4d4f75669001c323dcdc3cc9aec1574a',1,'libinput.h']]],
44 ['libinput_5fevent_5fpointer_5fget_5fbutton',['libinput_event_pointer_get_button',['../group__event__pointer.html#ga6dc942e706a29d342a2021afaa49548b',1,'libinput.h']]],
45 ['libinput_5fevent_5fpointer_5fget_5fbutton_5fstate',['libinput_event_pointer_get_button_state',['../group__event__pointer.html#ga41e87521ab2a8b7783cb47a63d71da18',1,'libinput.h']]],
46 ['libinput_5fevent_5fpointer_5fget_5fdx',['libinput_event_pointer_get_dx',['../group__event__pointer.html#ga29aaf86185a4c9dfa38d98b1fd4dba53',1,'libinput.h']]],
47 ['libinput_5fevent_5fpointer_5fget_5fdy',['libinput_event_pointer_get_dy',['../group__event__pointer.html#ga8bb38bb120bbc0ad569c701a6e622612',1,'libinput.h']]],
48 ['libinput_5fevent_5fpointer_5fget_5fseat_5fbutton_5fcount',['libinput_event_pointer_get_seat_button_count',['../group__event__pointer.html#ga1990b268bdc42ff3277bc43dbb3102ea',1,'libinput.h']]],
49 ['libinput_5fevent_5fpointer_5fget_5ftime',['libinput_event_pointer_get_time',['../group__event__pointer.html#gac42d0e19d076f4e1fca15f1ec42510d5',1,'libinput.h']]],
50 ['libinput_5fevent_5ftouch_5fget_5fbase_5fevent',['libinput_event_touch_get_base_event',['../group__event__touch.html#gacb2cd144a719c9873cd4621db278e92c',1,'libinput.h']]],
51 ['libinput_5fevent_5ftouch_5fget_5fseat_5fslot',['libinput_event_touch_get_seat_slot',['../group__event__touch.html#gabac75c78a0a360995e1a521edb38c4da',1,'libinput.h']]],
52 ['libinput_5fevent_5ftouch_5fget_5fslot',['libinput_event_touch_get_slot',['../group__event__touch.html#gaf5294eab86b9125b7fb607049ff9ef09',1,'libinput.h']]],
53 ['libinput_5fevent_5ftouch_5fget_5ftime',['libinput_event_touch_get_time',['../group__event__touch.html#ga5d13da5020c6aff78604943690f8cbe9',1,'libinput.h']]],
54 ['libinput_5fevent_5ftouch_5fget_5fx',['libinput_event_touch_get_x',['../group__event__touch.html#gac42d0e070811c360cf8ec784349954ba',1,'libinput.h']]],
55 ['libinput_5fevent_5ftouch_5fget_5fx_5ftransformed',['libinput_event_touch_get_x_transformed',['../group__event__touch.html#gadd04ccc3a7b4564e5aca3c8592f090fe',1,'libinput.h']]],
56 ['libinput_5fevent_5ftouch_5fget_5fy',['libinput_event_touch_get_y',['../group__event__touch.html#ga30711113bcef4bc02eda7878a054351c',1,'libinput.h']]],
57 ['libinput_5fevent_5ftouch_5fget_5fy_5ftransformed',['libinput_event_touch_get_y_transformed',['../group__event__touch.html#ga36af95f47b6d69b581eaeee69927af6f',1,'libinput.h']]],
58 ['libinput_5fget_5fevent',['libinput_get_event',['../group__base.html#gacead6670eaecf7c807659e2b6c725630',1,'libinput.h']]],
59 ['libinput_5fget_5ffd',['libinput_get_fd',['../group__base.html#ga885a59371d4e8de0e18a2a2a66942e11',1,'libinput.h']]],
60 ['libinput_5fget_5fuser_5fdata',['libinput_get_user_data',['../group__base.html#ga3eab49413b8430c2eee987a39f4a410b',1,'libinput.h']]],
61 ['libinput_5flog_5fget_5fpriority',['libinput_log_get_priority',['../group__base.html#ga7367998ca39a6e873920ba5e2a12d4f0',1,'libinput.h']]],
62 ['libinput_5flog_5fset_5fpriority',['libinput_log_set_priority',['../group__base.html#ga75a500c54c61cfcecd4c76dbb8022933',1,'libinput.h']]],
63 ['libinput_5fnext_5fevent_5ftype',['libinput_next_event_type',['../group__base.html#gac86ad3c0c5bc27d8f630264f46cdf005',1,'libinput.h']]],
64 ['libinput_5fpath_5fadd_5fdevice',['libinput_path_add_device',['../group__base.html#gaa797496f0150b482a4e01376bd33a47b',1,'libinput.h']]],
65 ['libinput_5fpath_5fcreate_5fcontext',['libinput_path_create_context',['../group__base.html#ga363c6b6e47dcf410a3b3ebd5547c8b07',1,'libinput.h']]],
66 ['libinput_5fpath_5fremove_5fdevice',['libinput_path_remove_device',['../group__base.html#ga9cb53cdcce2c000001ac17706a612121',1,'libinput.h']]],
67 ['libinput_5fref',['libinput_ref',['../group__base.html#gafff29392ec52e1e7de5bb812e085127a',1,'libinput.h']]],
68 ['libinput_5fresume',['libinput_resume',['../group__base.html#ga5a1ee92fa05df27e3c0f37d524cc17a6',1,'libinput.h']]],
69 ['libinput_5fseat_5fget_5flogical_5fname',['libinput_seat_get_logical_name',['../group__seat.html#ga61e477120d5f0cc67a06d04575186948',1,'libinput.h']]],
70 ['libinput_5fseat_5fget_5fphysical_5fname',['libinput_seat_get_physical_name',['../group__seat.html#gac881036869846ad87eb7814fbf308251',1,'libinput.h']]],
71 ['libinput_5fseat_5fget_5fuser_5fdata',['libinput_seat_get_user_data',['../group__seat.html#gac7af04e67fc803f1f7756d02e5372e91',1,'libinput.h']]],
72 ['libinput_5fseat_5fref',['libinput_seat_ref',['../group__seat.html#ga60445ab81e8ee3a10b85e88617231069',1,'libinput.h']]],
73 ['libinput_5fseat_5fset_5fuser_5fdata',['libinput_seat_set_user_data',['../group__seat.html#ga669ed8a095445e9537deef8a9880587b',1,'libinput.h']]],
74 ['libinput_5fseat_5funref',['libinput_seat_unref',['../group__seat.html#ga81d52d0e9332f07c39a899c8c2fd3400',1,'libinput.h']]],
75 ['libinput_5fsuspend',['libinput_suspend',['../group__base.html#ga60662dc666f6188dc207467c9d8e99ab',1,'libinput.h']]],
76 ['libinput_5fudev_5fassign_5fseat',['libinput_udev_assign_seat',['../group__base.html#ga71a60660b30cb476495e75766222d144',1,'libinput.h']]],
77 ['libinput_5fudev_5fcreate_5fcontext',['libinput_udev_create_context',['../group__base.html#ga7512ea602d4b259085c47f6374b078d1',1,'libinput.h']]],
78 ['libinput_5funref',['libinput_unref',['../group__base.html#ga7ed0797d23e34b650e0aeb98b5350309',1,'libinput.h']]]
79 ];
+0
-26
doc/html/search/groups_61.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_61.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/groups_61.js less more
0 var searchData=
1 [
2 ['accessing_20and_20destruction_20of_20events',['Accessing and destruction of events',['../group__event.html',1,'']]]
3 ];
+0
-26
doc/html/search/groups_64.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_64.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/groups_64.js less more
0 var searchData=
1 [
2 ['device_20configuration',['Device configuration',['../group__config.html',1,'']]]
3 ];
+0
-26
doc/html/search/groups_69.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_69.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-6
doc/html/search/groups_69.js less more
0 var searchData=
1 [
2 ['initialization_20and_20manipulation_20of_20libinput_20contexts',['Initialization and manipulation of libinput contexts',['../group__base.html',1,'']]],
3 ['initialization_20and_20manipulation_20of_20input_20devices',['Initialization and manipulation of input devices',['../group__device.html',1,'']]],
4 ['initialization_20and_20manipulation_20of_20seats',['Initialization and manipulation of seats',['../group__seat.html',1,'']]]
5 ];
+0
-26
doc/html/search/groups_6b.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_6b.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/groups_6b.js less more
0 var searchData=
1 [
2 ['keyboard_20events',['Keyboard events',['../group__event__keyboard.html',1,'']]]
3 ];
+0
-26
doc/html/search/groups_70.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_70.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/groups_70.js less more
0 var searchData=
1 [
2 ['pointer_20events',['Pointer events',['../group__event__pointer.html',1,'']]]
3 ];
+0
-26
doc/html/search/groups_74.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="groups_74.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/groups_74.js less more
0 var searchData=
1 [
2 ['touch_20events',['Touch events',['../group__event__touch.html',1,'']]]
3 ];
doc/html/search/mag_sel.png less more
Binary diff not shown
+0
-12
doc/html/search/nomatches.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <link rel="stylesheet" type="text/css" href="search.css"/>
4 <script type="text/javascript" src="search.js"></script>
5 </head>
6 <body class="SRPage">
7 <div id="SRIndex">
8 <div class="SRStatus" id="NoMatches">No Matches</div>
9 </div>
10 </body>
11 </html>
+0
-26
doc/html/search/pages_74.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="pages_74.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/pages_74.js less more
0 var searchData=
1 [
2 ['touchpad_20button_20behavior',['Touchpad button behavior',['../tpbuttons.html',1,'']]]
3 ];
+0
-271
doc/html/search/search.css less more
0 /*---------------- Search Box */
1
2 #FSearchBox {
3 float: left;
4 }
5
6 #MSearchBox {
7 white-space : nowrap;
8 position: absolute;
9 float: none;
10 display: inline;
11 margin-top: 8px;
12 right: 0px;
13 width: 170px;
14 z-index: 102;
15 background-color: white;
16 }
17
18 #MSearchBox .left
19 {
20 display:block;
21 position:absolute;
22 left:10px;
23 width:20px;
24 height:19px;
25 background:url('search_l.png') no-repeat;
26 background-position:right;
27 }
28
29 #MSearchSelect {
30 display:block;
31 position:absolute;
32 width:20px;
33 height:19px;
34 }
35
36 .left #MSearchSelect {
37 left:4px;
38 }
39
40 .right #MSearchSelect {
41 right:5px;
42 }
43
44 #MSearchField {
45 display:block;
46 position:absolute;
47 height:19px;
48 background:url('search_m.png') repeat-x;
49 border:none;
50 width:111px;
51 margin-left:20px;
52 padding-left:4px;
53 color: #909090;
54 outline: none;
55 font: 9pt Arial, Verdana, sans-serif;
56 }
57
58 #FSearchBox #MSearchField {
59 margin-left:15px;
60 }
61
62 #MSearchBox .right {
63 display:block;
64 position:absolute;
65 right:10px;
66 top:0px;
67 width:20px;
68 height:19px;
69 background:url('search_r.png') no-repeat;
70 background-position:left;
71 }
72
73 #MSearchClose {
74 display: none;
75 position: absolute;
76 top: 4px;
77 background : none;
78 border: none;
79 margin: 0px 4px 0px 0px;
80 padding: 0px 0px;
81 outline: none;
82 }
83
84 .left #MSearchClose {
85 left: 6px;
86 }
87
88 .right #MSearchClose {
89 right: 2px;
90 }
91
92 .MSearchBoxActive #MSearchField {
93 color: #000000;
94 }
95
96 /*---------------- Search filter selection */
97
98 #MSearchSelectWindow {
99 display: none;
100 position: absolute;
101 left: 0; top: 0;
102 border: 1px solid #90A5CE;
103 background-color: #F9FAFC;
104 z-index: 1;
105 padding-top: 4px;
106 padding-bottom: 4px;
107 -moz-border-radius: 4px;
108 -webkit-border-top-left-radius: 4px;
109 -webkit-border-top-right-radius: 4px;
110 -webkit-border-bottom-left-radius: 4px;
111 -webkit-border-bottom-right-radius: 4px;
112 -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
113 }
114
115 .SelectItem {
116 font: 8pt Arial, Verdana, sans-serif;
117 padding-left: 2px;
118 padding-right: 12px;
119 border: 0px;
120 }
121
122 span.SelectionMark {
123 margin-right: 4px;
124 font-family: monospace;
125 outline-style: none;
126 text-decoration: none;
127 }
128
129 a.SelectItem {
130 display: block;
131 outline-style: none;
132 color: #000000;
133 text-decoration: none;
134 padding-left: 6px;
135 padding-right: 12px;
136 }
137
138 a.SelectItem:focus,
139 a.SelectItem:active {
140 color: #000000;
141 outline-style: none;
142 text-decoration: none;
143 }
144
145 a.SelectItem:hover {
146 color: #FFFFFF;
147 background-color: #3D578C;
148 outline-style: none;
149 text-decoration: none;
150 cursor: pointer;
151 display: block;
152 }
153
154 /*---------------- Search results window */
155
156 iframe#MSearchResults {
157 width: 60ex;
158 height: 15em;
159 }
160
161 #MSearchResultsWindow {
162 display: none;
163 position: absolute;
164 left: 0; top: 0;
165 border: 1px solid #000;
166 background-color: #EEF1F7;
167 }
168
169 /* ----------------------------------- */
170
171
172 #SRIndex {
173 clear:both;
174 padding-bottom: 15px;
175 }
176
177 .SREntry {
178 font-size: 10pt;
179 padding-left: 1ex;
180 }
181
182 .SRPage .SREntry {
183 font-size: 8pt;
184 padding: 1px 5px;
185 }
186
187 body.SRPage {
188 margin: 5px 2px;
189 }
190
191 .SRChildren {
192 padding-left: 3ex; padding-bottom: .5em
193 }
194
195 .SRPage .SRChildren {
196 display: none;
197 }
198
199 .SRSymbol {
200 font-weight: bold;
201 color: #425E97;
202 font-family: Arial, Verdana, sans-serif;
203 text-decoration: none;
204 outline: none;
205 }
206
207 a.SRScope {
208 display: block;
209 color: #425E97;
210 font-family: Arial, Verdana, sans-serif;
211 text-decoration: none;
212 outline: none;
213 }
214
215 a.SRSymbol:focus, a.SRSymbol:active,
216 a.SRScope:focus, a.SRScope:active {
217 text-decoration: underline;
218 }
219
220 span.SRScope {
221 padding-left: 4px;
222 }
223
224 .SRPage .SRStatus {
225 padding: 2px 5px;
226 font-size: 8pt;
227 font-style: italic;
228 }
229
230 .SRResult {
231 display: none;
232 }
233
234 DIV.searchresults {
235 margin-left: 10px;
236 margin-right: 10px;
237 }
238
239 /*---------------- External search page results */
240
241 .searchresult {
242 background-color: #F0F3F8;
243 }
244
245 .pages b {
246 color: white;
247 padding: 5px 5px 3px 5px;
248 background-image: url("../tab_a.png");
249 background-repeat: repeat-x;
250 text-shadow: 0 1px 1px #000000;
251 }
252
253 .pages {
254 line-height: 17px;
255 margin-left: 4px;
256 text-decoration: none;
257 }
258
259 .hl {
260 font-weight: bold;
261 }
262
263 #searchresults {
264 margin-bottom: 20px;
265 }
266
267 .searchpages {
268 margin-top: 10px;
269 }
270
+0
-815
doc/html/search/search.js less more
0 // Search script generated by doxygen
1 // Copyright (C) 2009 by Dimitri van Heesch.
2
3 // The code in this file is loosly based on main.js, part of Natural Docs,
4 // which is Copyright (C) 2003-2008 Greg Valure
5 // Natural Docs is licensed under the GPL.
6
7 var indexSectionsWithContent =
8 {
9 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101100001011001100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
10 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
11 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
12 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
13 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
14 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
15 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
16 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
17 8: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
18 9: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100001010000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
19 10: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
20 };
21
22 var indexSectionNames =
23 {
24 0: "all",
25 1: "classes",
26 2: "files",
27 3: "functions",
28 4: "variables",
29 5: "typedefs",
30 6: "enums",
31 7: "enumvalues",
32 8: "defines",
33 9: "groups",
34 10: "pages"
35 };
36
37 function convertToId(search)
38 {
39 var result = '';
40 for (i=0;i<search.length;i++)
41 {
42 var c = search.charAt(i);
43 var cn = c.charCodeAt(0);
44 if (c.match(/[a-z0-9]/))
45 {
46 result+=c;
47 }
48 else if (cn<16)
49 {
50 result+="_0"+cn.toString(16);
51 }
52 else
53 {
54 result+="_"+cn.toString(16);
55 }
56 }
57 return result;
58 }
59
60 function getXPos(item)
61 {
62 var x = 0;
63 if (item.offsetWidth)
64 {
65 while (item && item!=document.body)
66 {
67 x += item.offsetLeft;
68 item = item.offsetParent;
69 }
70 }
71 return x;
72 }
73
74 function getYPos(item)
75 {
76 var y = 0;
77 if (item.offsetWidth)
78 {
79 while (item && item!=document.body)
80 {
81 y += item.offsetTop;
82 item = item.offsetParent;
83 }
84 }
85 return y;
86 }
87
88 /* A class handling everything associated with the search panel.
89
90 Parameters:
91 name - The name of the global variable that will be
92 storing this instance. Is needed to be able to set timeouts.
93 resultPath - path to use for external files
94 */
95 function SearchBox(name, resultsPath, inFrame, label)
96 {
97 if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
98
99 // ---------- Instance variables
100 this.name = name;
101 this.resultsPath = resultsPath;
102 this.keyTimeout = 0;
103 this.keyTimeoutLength = 500;
104 this.closeSelectionTimeout = 300;
105 this.lastSearchValue = "";
106 this.lastResultsPage = "";
107 this.hideTimeout = 0;
108 this.searchIndex = 0;
109 this.searchActive = false;
110 this.insideFrame = inFrame;
111 this.searchLabel = label;
112
113 // ----------- DOM Elements
114
115 this.DOMSearchField = function()
116 { return document.getElementById("MSearchField"); }
117
118 this.DOMSearchSelect = function()
119 { return document.getElementById("MSearchSelect"); }
120
121 this.DOMSearchSelectWindow = function()
122 { return document.getElementById("MSearchSelectWindow"); }
123
124 this.DOMPopupSearchResults = function()
125 { return document.getElementById("MSearchResults"); }
126
127 this.DOMPopupSearchResultsWindow = function()
128 { return document.getElementById("MSearchResultsWindow"); }
129
130 this.DOMSearchClose = function()
131 { return document.getElementById("MSearchClose"); }
132
133 this.DOMSearchBox = function()
134 { return document.getElementById("MSearchBox"); }
135
136 // ------------ Event Handlers
137
138 // Called when focus is added or removed from the search field.
139 this.OnSearchFieldFocus = function(isActive)
140 {
141 this.Activate(isActive);
142 }
143
144 this.OnSearchSelectShow = function()
145 {
146 var searchSelectWindow = this.DOMSearchSelectWindow();
147 var searchField = this.DOMSearchSelect();
148
149 if (this.insideFrame)
150 {
151 var left = getXPos(searchField);
152 var top = getYPos(searchField);
153 left += searchField.offsetWidth + 6;
154 top += searchField.offsetHeight;
155
156 // show search selection popup
157 searchSelectWindow.style.display='block';
158 left -= searchSelectWindow.offsetWidth;
159 searchSelectWindow.style.left = left + 'px';
160 searchSelectWindow.style.top = top + 'px';
161 }
162 else
163 {
164 var left = getXPos(searchField);
165 var top = getYPos(searchField);
166 top += searchField.offsetHeight;
167
168 // show search selection popup
169 searchSelectWindow.style.display='block';
170 searchSelectWindow.style.left = left + 'px';
171 searchSelectWindow.style.top = top + 'px';
172 }
173
174 // stop selection hide timer
175 if (this.hideTimeout)
176 {
177 clearTimeout(this.hideTimeout);
178 this.hideTimeout=0;
179 }
180 return false; // to avoid "image drag" default event
181 }
182
183 this.OnSearchSelectHide = function()
184 {
185 this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
186 this.closeSelectionTimeout);
187 }
188
189 // Called when the content of the search field is changed.
190 this.OnSearchFieldChange = function(evt)
191 {
192 if (this.keyTimeout) // kill running timer
193 {
194 clearTimeout(this.keyTimeout);
195 this.keyTimeout = 0;
196 }
197
198 var e = (evt) ? evt : window.event; // for IE
199 if (e.keyCode==40 || e.keyCode==13)
200 {
201 if (e.shiftKey==1)
202 {
203 this.OnSearchSelectShow();
204 var win=this.DOMSearchSelectWindow();
205 for (i=0;i<win.childNodes.length;i++)
206 {
207 var child = win.childNodes[i]; // get span within a
208 if (child.className=='SelectItem')
209 {
210 child.focus();
211 return;
212 }
213 }
214 return;
215 }
216 else if (window.frames.MSearchResults.searchResults)
217 {
218 var elem = window.frames.MSearchResults.searchResults.NavNext(0);
219 if (elem) elem.focus();
220 }
221 }
222 else if (e.keyCode==27) // Escape out of the search field
223 {
224 this.DOMSearchField().blur();
225 this.DOMPopupSearchResultsWindow().style.display = 'none';
226 this.DOMSearchClose().style.display = 'none';
227 this.lastSearchValue = '';
228 this.Activate(false);
229 return;
230 }
231
232 // strip whitespaces
233 var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
234
235 if (searchValue != this.lastSearchValue) // search value has changed
236 {
237 if (searchValue != "") // non-empty search
238 {
239 // set timer for search update
240 this.keyTimeout = setTimeout(this.name + '.Search()',
241 this.keyTimeoutLength);
242 }
243 else // empty search field
244 {
245 this.DOMPopupSearchResultsWindow().style.display = 'none';
246 this.DOMSearchClose().style.display = 'none';
247 this.lastSearchValue = '';
248 }
249 }
250 }
251
252 this.SelectItemCount = function(id)
253 {
254 var count=0;
255 var win=this.DOMSearchSelectWindow();
256 for (i=0;i<win.childNodes.length;i++)
257 {
258 var child = win.childNodes[i]; // get span within a
259 if (child.className=='SelectItem')
260 {
261 count++;
262 }
263 }
264 return count;
265 }
266
267 this.SelectItemSet = function(id)
268 {
269 var i,j=0;
270 var win=this.DOMSearchSelectWindow();
271 for (i=0;i<win.childNodes.length;i++)
272 {
273 var child = win.childNodes[i]; // get span within a
274 if (child.className=='SelectItem')
275 {
276 var node = child.firstChild;
277 if (j==id)
278 {
279 node.innerHTML='&#8226;';
280 }
281 else
282 {
283 node.innerHTML='&#160;';
284 }
285 j++;
286 }
287 }
288 }
289
290 // Called when an search filter selection is made.
291 // set item with index id as the active item
292 this.OnSelectItem = function(id)
293 {
294 this.searchIndex = id;
295 this.SelectItemSet(id);
296 var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
297 if (searchValue!="" && this.searchActive) // something was found -> do a search
298 {
299 this.Search();
300 }
301 }
302
303 this.OnSearchSelectKey = function(evt)
304 {
305 var e = (evt) ? evt : window.event; // for IE
306 if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
307 {
308 this.searchIndex++;
309 this.OnSelectItem(this.searchIndex);
310 }
311 else if (e.keyCode==38 && this.searchIndex>0) // Up
312 {
313 this.searchIndex--;
314 this.OnSelectItem(this.searchIndex);
315 }
316 else if (e.keyCode==13 || e.keyCode==27)
317 {
318 this.OnSelectItem(this.searchIndex);
319 this.CloseSelectionWindow();
320 this.DOMSearchField().focus();
321 }
322 return false;
323 }
324
325 // --------- Actions
326
327 // Closes the results window.
328 this.CloseResultsWindow = function()
329 {
330 this.DOMPopupSearchResultsWindow().style.display = 'none';
331 this.DOMSearchClose().style.display = 'none';
332 this.Activate(false);
333 }
334
335 this.CloseSelectionWindow = function()
336 {
337 this.DOMSearchSelectWindow().style.display = 'none';
338 }
339
340 // Performs a search.
341 this.Search = function()
342 {
343 this.keyTimeout = 0;
344
345 // strip leading whitespace
346 var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
347
348 var code = searchValue.toLowerCase().charCodeAt(0);
349 var hexCode;
350 if (code<16)
351 {
352 hexCode="0"+code.toString(16);
353 }
354 else
355 {
356 hexCode=code.toString(16);
357 }
358
359 var resultsPage;
360 var resultsPageWithSearch;
361 var hasResultsPage;
362
363 if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1')
364 {
365 resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
366 resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
367 hasResultsPage = true;
368 }
369 else // nothing available for this search term
370 {
371 resultsPage = this.resultsPath + '/nomatches.html';
372 resultsPageWithSearch = resultsPage;
373 hasResultsPage = false;
374 }
375
376 window.frames.MSearchResults.location = resultsPageWithSearch;
377 var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
378
379 if (domPopupSearchResultsWindow.style.display!='block')
380 {
381 var domSearchBox = this.DOMSearchBox();
382 this.DOMSearchClose().style.display = 'inline';
383 if (this.insideFrame)
384 {
385 var domPopupSearchResults = this.DOMPopupSearchResults();
386 domPopupSearchResultsWindow.style.position = 'relative';
387 domPopupSearchResultsWindow.style.display = 'block';
388 var width = document.body.clientWidth - 8; // the -8 is for IE :-(
389 domPopupSearchResultsWindow.style.width = width + 'px';
390 domPopupSearchResults.style.width = width + 'px';
391 }
392 else
393 {
394 var domPopupSearchResults = this.DOMPopupSearchResults();
395 var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
396 var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
397 domPopupSearchResultsWindow.style.display = 'block';
398 left -= domPopupSearchResults.offsetWidth;
399 domPopupSearchResultsWindow.style.top = top + 'px';
400 domPopupSearchResultsWindow.style.left = left + 'px';
401 }
402 }
403
404 this.lastSearchValue = searchValue;
405 this.lastResultsPage = resultsPage;
406 }
407
408 // -------- Activation Functions
409
410 // Activates or deactivates the search panel, resetting things to
411 // their default values if necessary.
412 this.Activate = function(isActive)
413 {
414 if (isActive || // open it
415 this.DOMPopupSearchResultsWindow().style.display == 'block'
416 )
417 {
418 this.DOMSearchBox().className = 'MSearchBoxActive';
419
420 var searchField = this.DOMSearchField();
421
422 if (searchField.value == this.searchLabel) // clear "Search" term upon entry
423 {
424 searchField.value = '';
425 this.searchActive = true;
426 }
427 }
428 else if (!isActive) // directly remove the panel
429 {
430 this.DOMSearchBox().className = 'MSearchBoxInactive';
431 this.DOMSearchField().value = this.searchLabel;
432 this.searchActive = false;
433 this.lastSearchValue = ''
434 this.lastResultsPage = '';
435 }
436 }
437 }
438
439 // -----------------------------------------------------------------------
440
441 // The class that handles everything on the search results page.
442 function SearchResults(name)
443 {
444 // The number of matches from the last run of <Search()>.
445 this.lastMatchCount = 0;
446 this.lastKey = 0;
447 this.repeatOn = false;
448
449 // Toggles the visibility of the passed element ID.
450 this.FindChildElement = function(id)
451 {
452 var parentElement = document.getElementById(id);
453 var element = parentElement.firstChild;
454
455 while (element && element!=parentElement)
456 {
457 if (element.nodeName == 'DIV' && element.className == 'SRChildren')
458 {
459 return element;
460 }
461
462 if (element.nodeName == 'DIV' && element.hasChildNodes())
463 {
464 element = element.firstChild;
465 }
466 else if (element.nextSibling)
467 {
468 element = element.nextSibling;
469 }
470 else
471 {
472 do
473 {
474 element = element.parentNode;
475 }
476 while (element && element!=parentElement && !element.nextSibling);
477
478 if (element && element!=parentElement)
479 {
480 element = element.nextSibling;
481 }
482 }
483 }
484 }
485
486 this.Toggle = function(id)
487 {
488 var element = this.FindChildElement(id);
489 if (element)
490 {
491 if (element.style.display == 'block')
492 {
493 element.style.display = 'none';
494 }
495 else
496 {
497 element.style.display = 'block';
498 }
499 }
500 }
501
502 // Searches for the passed string. If there is no parameter,
503 // it takes it from the URL query.
504 //
505 // Always returns true, since other documents may try to call it
506 // and that may or may not be possible.
507 this.Search = function(search)
508 {
509 if (!search) // get search word from URL
510 {
511 search = window.location.search;
512 search = search.substring(1); // Remove the leading '?'
513 search = unescape(search);
514 }
515
516 search = search.replace(/^ +/, ""); // strip leading spaces
517 search = search.replace(/ +$/, ""); // strip trailing spaces
518 search = search.toLowerCase();
519 search = convertToId(search);
520
521 var resultRows = document.getElementsByTagName("div");
522 var matches = 0;
523
524 var i = 0;
525 while (i < resultRows.length)
526 {
527 var row = resultRows.item(i);
528 if (row.className == "SRResult")
529 {
530 var rowMatchName = row.id.toLowerCase();
531 rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
532
533 if (search.length<=rowMatchName.length &&
534 rowMatchName.substr(0, search.length)==search)
535 {
536 row.style.display = 'block';
537 matches++;
538 }
539 else
540 {
541 row.style.display = 'none';
542 }
543 }
544 i++;
545 }
546 document.getElementById("Searching").style.display='none';
547 if (matches == 0) // no results
548 {
549 document.getElementById("NoMatches").style.display='block';
550 }
551 else // at least one result
552 {
553 document.getElementById("NoMatches").style.display='none';
554 }
555 this.lastMatchCount = matches;
556 return true;
557 }
558
559 // return the first item with index index or higher that is visible
560 this.NavNext = function(index)
561 {
562 var focusItem;
563 while (1)
564 {
565 var focusName = 'Item'+index;
566 focusItem = document.getElementById(focusName);
567 if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
568 {
569 break;
570 }
571 else if (!focusItem) // last element
572 {
573 break;
574 }
575 focusItem=null;
576 index++;
577 }
578 return focusItem;
579 }
580
581 this.NavPrev = function(index)
582 {
583 var focusItem;
584 while (1)
585 {
586 var focusName = 'Item'+index;
587 focusItem = document.getElementById(focusName);
588 if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
589 {
590 break;
591 }
592 else if (!focusItem) // last element
593 {
594 break;
595 }
596 focusItem=null;
597 index--;
598 }
599 return focusItem;
600 }
601
602 this.ProcessKeys = function(e)
603 {
604 if (e.type == "keydown")
605 {
606 this.repeatOn = false;
607 this.lastKey = e.keyCode;
608 }
609 else if (e.type == "keypress")
610 {
611 if (!this.repeatOn)
612 {
613 if (this.lastKey) this.repeatOn = true;
614 return false; // ignore first keypress after keydown
615 }
616 }
617 else if (e.type == "keyup")
618 {
619 this.lastKey = 0;
620 this.repeatOn = false;
621 }
622 return this.lastKey!=0;
623 }
624
625 this.Nav = function(evt,itemIndex)
626 {
627 var e = (evt) ? evt : window.event; // for IE
628 if (e.keyCode==13) return true;
629 if (!this.ProcessKeys(e)) return false;
630
631 if (this.lastKey==38) // Up
632 {
633 var newIndex = itemIndex-1;
634 var focusItem = this.NavPrev(newIndex);
635 if (focusItem)
636 {
637 var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
638 if (child && child.style.display == 'block') // children visible
639 {
640 var n=0;
641 var tmpElem;
642 while (1) // search for last child
643 {
644 tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
645 if (tmpElem)
646 {
647 focusItem = tmpElem;
648 }
649 else // found it!
650 {
651 break;
652 }
653 n++;
654 }
655 }
656 }
657 if (focusItem)
658 {
659 focusItem.focus();
660 }
661 else // return focus to search field
662 {
663 parent.document.getElementById("MSearchField").focus();
664 }
665 }
666 else if (this.lastKey==40) // Down
667 {
668 var newIndex = itemIndex+1;
669 var focusItem;
670 var item = document.getElementById('Item'+itemIndex);
671 var elem = this.FindChildElement(item.parentNode.parentNode.id);
672 if (elem && elem.style.display == 'block') // children visible
673 {
674 focusItem = document.getElementById('Item'+itemIndex+'_c0');
675 }
676 if (!focusItem) focusItem = this.NavNext(newIndex);
677 if (focusItem) focusItem.focus();
678 }
679 else if (this.lastKey==39) // Right
680 {
681 var item = document.getElementById('Item'+itemIndex);
682 var elem = this.FindChildElement(item.parentNode.parentNode.id);
683 if (elem) elem.style.display = 'block';
684 }
685 else if (this.lastKey==37) // Left
686 {
687 var item = document.getElementById('Item'+itemIndex);
688 var elem = this.FindChildElement(item.parentNode.parentNode.id);
689 if (elem) elem.style.display = 'none';
690 }
691 else if (this.lastKey==27) // Escape
692 {
693 parent.searchBox.CloseResultsWindow();
694 parent.document.getElementById("MSearchField").focus();
695 }
696 else if (this.lastKey==13) // Enter
697 {
698 return true;
699 }
700 return false;
701 }
702
703 this.NavChild = function(evt,itemIndex,childIndex)
704 {
705 var e = (evt) ? evt : window.event; // for IE
706 if (e.keyCode==13) return true;
707 if (!this.ProcessKeys(e)) return false;
708
709 if (this.lastKey==38) // Up
710 {
711 if (childIndex>0)
712 {
713 var newIndex = childIndex-1;
714 document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
715 }
716 else // already at first child, jump to parent
717 {
718 document.getElementById('Item'+itemIndex).focus();
719 }
720 }
721 else if (this.lastKey==40) // Down
722 {
723 var newIndex = childIndex+1;
724 var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
725 if (!elem) // last child, jump to parent next parent
726 {
727 elem = this.NavNext(itemIndex+1);
728 }
729 if (elem)
730 {
731 elem.focus();
732 }
733 }
734 else if (this.lastKey==27) // Escape
735 {
736 parent.searchBox.CloseResultsWindow();
737 parent.document.getElementById("MSearchField").focus();
738 }
739 else if (this.lastKey==13) // Enter
740 {
741 return true;
742 }
743 return false;
744 }
745 }
746
747 function setKeyActions(elem,action)
748 {
749 elem.setAttribute('onkeydown',action);
750 elem.setAttribute('onkeypress',action);
751 elem.setAttribute('onkeyup',action);
752 }
753
754 function setClassAttr(elem,attr)
755 {
756 elem.setAttribute('class',attr);
757 elem.setAttribute('className',attr);
758 }
759
760 function createResults()
761 {
762 var results = document.getElementById("SRResults");
763 for (var e=0; e<searchData.length; e++)
764 {
765 var id = searchData[e][0];
766 var srResult = document.createElement('div');
767 srResult.setAttribute('id','SR_'+id);
768 setClassAttr(srResult,'SRResult');
769 var srEntry = document.createElement('div');
770 setClassAttr(srEntry,'SREntry');
771 var srLink = document.createElement('a');
772 srLink.setAttribute('id','Item'+e);
773 setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
774 setClassAttr(srLink,'SRSymbol');
775 srLink.innerHTML = searchData[e][1][0];
776 srEntry.appendChild(srLink);
777 if (searchData[e][1].length==2) // single result
778 {
779 srLink.setAttribute('href',searchData[e][1][1][0]);
780 if (searchData[e][1][1][1])
781 {
782 srLink.setAttribute('target','_parent');
783 }
784 var srScope = document.createElement('span');
785 setClassAttr(srScope,'SRScope');
786 srScope.innerHTML = searchData[e][1][1][2];
787 srEntry.appendChild(srScope);
788 }
789 else // multiple results
790 {
791 srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
792 var srChildren = document.createElement('div');
793 setClassAttr(srChildren,'SRChildren');
794 for (var c=0; c<searchData[e][1].length-1; c++)
795 {
796 var srChild = document.createElement('a');
797 srChild.setAttribute('id','Item'+e+'_c'+c);
798 setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
799 setClassAttr(srChild,'SRScope');
800 srChild.setAttribute('href',searchData[e][1][c+1][0]);
801 if (searchData[e][1][c+1][1])
802 {
803 srChild.setAttribute('target','_parent');
804 }
805 srChild.innerHTML = searchData[e][1][c+1][2];
806 srChildren.appendChild(srChild);
807 }
808 srEntry.appendChild(srChildren);
809 }
810 srResult.appendChild(srEntry);
811 results.appendChild(srResult);
812 }
813 }
814
doc/html/search/search_l.png less more
Binary diff not shown
doc/html/search/search_m.png less more
Binary diff not shown
doc/html/search/search_r.png less more
Binary diff not shown
+0
-26
doc/html/search/typedefs_6c.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="typedefs_6c.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-5
doc/html/search/typedefs_6c.js less more
0 var searchData=
1 [
2 ['libinput_5flog_5fhandler',['libinput_log_handler',['../group__base.html#ga387f6d09ed8548128a68f1d19ea675c2',1,'libinput.h']]],
3 ['libinput_5flog_5fset_5fhandler',['libinput_log_set_handler',['../group__base.html#gae1e6fac5e7d48904140eeb467d2ca9f2',1,'libinput.h']]]
4 ];
+0
-26
doc/html/search/variables_63.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="variables_63.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/variables_63.js less more
0 var searchData=
1 [
2 ['close_5frestricted',['close_restricted',['../structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef',1,'libinput_interface']]]
3 ];
+0
-26
doc/html/search/variables_6f.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html><head><title></title>
2 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <meta name="generator" content="Doxygen 1.8.5">
4 <link rel="stylesheet" type="text/css" href="search.css"/>
5 <script type="text/javascript" src="variables_6f.js"></script>
6 <script type="text/javascript" src="search.js"></script>
7 </head>
8 <body class="SRPage">
9 <div id="SRIndex">
10 <div class="SRStatus" id="Loading">Loading...</div>
11 <div id="SRResults"></div>
12 <script type="text/javascript"><!--
13 createResults();
14 --></script>
15 <div class="SRStatus" id="Searching">Searching...</div>
16 <div class="SRStatus" id="NoMatches">No Matches</div>
17 <script type="text/javascript"><!--
18 document.getElementById("Loading").style.display="none";
19 document.getElementById("NoMatches").style.display="none";
20 var searchResults = new SearchResults("searchResults");
21 searchResults.Search();
22 --></script>
23 </div>
24 </body>
25 </html>
+0
-4
doc/html/search/variables_6f.js less more
0 var searchData=
1 [
2 ['open_5frestricted',['open_restricted',['../structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4',1,'libinput_interface']]]
3 ];
+0
-110
doc/html/structlibinput__event__touch.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: libinput_event_touch Struct Reference</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 <!-- window showing the filter options -->
71 <div id="MSearchSelectWindow"
72 onmouseover="return searchBox.OnSearchSelectShow()"
73 onmouseout="return searchBox.OnSearchSelectHide()"
74 onkeydown="return searchBox.OnSearchSelectKey(event)">
75 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
76
77 <!-- iframe showing the search results (closed by default) -->
78 <div id="MSearchResultsWindow">
79 <iframe src="javascript:void(0)" frameborder="0"
80 name="MSearchResults" id="MSearchResults">
81 </iframe>
82 </div>
83
84 </div><!-- top -->
85 <div class="header">
86 <div class="headertitle">
87 <div class="title">libinput_event_touch Struct Reference<div class="ingroups"><a class="el" href="group__event__touch.html">Touch events</a></div></div> </div>
88 </div><!--header-->
89 <div class="contents">
90
91 <p>Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events.
92 <a href="structlibinput__event__touch.html#details">More...</a></p>
93
94 <p><code>#include &lt;<a class="el" href="libinput_8h_source.html">libinput.h</a>&gt;</code></p>
95 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
96 <div class="textblock"><p>Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events. </p>
97 <p>Valid event types for this event are <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa14993972db3e944b4e3f5e74dd99dcb">LIBINPUT_EVENT_TOUCH_DOWN</a>, <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caa96855d3716c4dccd47a69753ed2d468">LIBINPUT_EVENT_TOUCH_MOTION</a>, <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca1b48aaefbee80a1cbbcb5986d650bc62">LIBINPUT_EVENT_TOUCH_UP</a>, <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7caaf4ed8adce078146aedac569e3178052">LIBINPUT_EVENT_TOUCH_CANCEL</a> and <a class="el" href="group__base.html#ggac30276a06e8b1434b959f2c8dde74f7ca2b9b566a3bf1f460a144456697ee7387">LIBINPUT_EVENT_TOUCH_FRAME</a>. </p>
98 </div><hr/>The documentation for this struct was generated from the following file:<ul>
99 <li>/home/jonas/Dev/wayland/libinput/src/<a class="el" href="libinput_8h_source.html">libinput.h</a></li>
100 </ul>
101 </div><!-- contents -->
102 <!-- start footer part -->
103 <hr class="footer"/><address class="footer"><small>
104 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
105 <img class="footer" src="doxygen.png" alt="doxygen"/>
106 </a> 1.8.5
107 </small></address>
108 </body>
109 </html>
+0
-161
doc/html/structlibinput__interface.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: libinput_interface Struct Reference</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <div id="navrow2" class="tabs2">
64 <ul class="tablist">
65 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
66 <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
67 <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
68 </ul>
69 </div>
70 <!-- window showing the filter options -->
71 <div id="MSearchSelectWindow"
72 onmouseover="return searchBox.OnSearchSelectShow()"
73 onmouseout="return searchBox.OnSearchSelectHide()"
74 onkeydown="return searchBox.OnSearchSelectKey(event)">
75 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
76
77 <!-- iframe showing the search results (closed by default) -->
78 <div id="MSearchResultsWindow">
79 <iframe src="javascript:void(0)" frameborder="0"
80 name="MSearchResults" id="MSearchResults">
81 </iframe>
82 </div>
83
84 </div><!-- top -->
85 <div class="header">
86 <div class="summary">
87 <a href="#pub-attribs">Data Fields</a> </div>
88 <div class="headertitle">
89 <div class="title">libinput_interface Struct Reference</div> </div>
90 </div><!--header-->
91 <div class="contents">
92
93 <p><code>#include &lt;<a class="el" href="libinput_8h_source.html">libinput.h</a>&gt;</code></p>
94 <table class="memberdecls">
95 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
96 Data Fields</h2></td></tr>
97 <tr class="memitem:aaf06146a946c2b3b841a42b60257bad4"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibinput__interface.html#aaf06146a946c2b3b841a42b60257bad4">open_restricted</a> )(const char *path, int flags, void *user_data)</td></tr>
98 <tr class="memdesc:aaf06146a946c2b3b841a42b60257bad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the device at the given path with the flags provided and return the fd. <a href="#aaf06146a946c2b3b841a42b60257bad4">More...</a><br/></td></tr>
99 <tr class="separator:aaf06146a946c2b3b841a42b60257bad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:a2ad42e75430edfff5d0e6117073b6fef"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibinput__interface.html#a2ad42e75430edfff5d0e6117073b6fef">close_restricted</a> )(int fd, void *user_data)</td></tr>
101 <tr class="memdesc:a2ad42e75430edfff5d0e6117073b6fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the file descriptor. <a href="#a2ad42e75430edfff5d0e6117073b6fef">More...</a><br/></td></tr>
102 <tr class="separator:a2ad42e75430edfff5d0e6117073b6fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 </table>
104 <h2 class="groupheader">Field Documentation</h2>
105 <a class="anchor" id="a2ad42e75430edfff5d0e6117073b6fef"></a>
106 <div class="memitem">
107 <div class="memproto">
108 <table class="memname">
109 <tr>
110 <td class="memname">void(* libinput_interface::close_restricted)(int fd, void *user_data)</td>
111 </tr>
112 </table>
113 </div><div class="memdoc">
114
115 <p>Close the file descriptor. </p>
116 <dl class="params"><dt>Parameters</dt><dd>
117 <table class="params">
118 <tr><td class="paramname">fd</td><td>The file descriptor to close </td></tr>
119 <tr><td class="paramname">user_data</td><td>The user_data provided in <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1" title="Create a new libinput context from udev. ">libinput_udev_create_context()</a> </td></tr>
120 </table>
121 </dd>
122 </dl>
123
124 </div>
125 </div>
126 <a class="anchor" id="aaf06146a946c2b3b841a42b60257bad4"></a>
127 <div class="memitem">
128 <div class="memproto">
129 <table class="memname">
130 <tr>
131 <td class="memname">int(* libinput_interface::open_restricted)(const char *path, int flags, void *user_data)</td>
132 </tr>
133 </table>
134 </div><div class="memdoc">
135
136 <p>Open the device at the given path with the flags provided and return the fd. </p>
137 <dl class="params"><dt>Parameters</dt><dd>
138 <table class="params">
139 <tr><td class="paramname">path</td><td>The device path to open </td></tr>
140 <tr><td class="paramname">flags</td><td>Flags as defined by open(2) </td></tr>
141 <tr><td class="paramname">user_data</td><td>The user_data provided in <a class="el" href="group__base.html#ga7512ea602d4b259085c47f6374b078d1" title="Create a new libinput context from udev. ">libinput_udev_create_context()</a></td></tr>
142 </table>
143 </dd>
144 </dl>
145 <dl class="section return"><dt>Returns</dt><dd>the file descriptor, or a negative errno on failure. </dd></dl>
146
147 </div>
148 </div>
149 <hr/>The documentation for this struct was generated from the following file:<ul>
150 <li>/home/jonas/Dev/wayland/libinput/src/<a class="el" href="libinput_8h_source.html">libinput.h</a></li>
151 </ul>
152 </div><!-- contents -->
153 <!-- start footer part -->
154 <hr class="footer"/><address class="footer"><small>
155 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
156 <img class="footer" src="doxygen.png" alt="doxygen"/>
157 </a> 1.8.5
158 </small></address>
159 </body>
160 </html>
doc/html/sync_off.png less more
Binary diff not shown
doc/html/sync_on.png less more
Binary diff not shown
doc/html/tab_a.png less more
Binary diff not shown
doc/html/tab_b.png less more
Binary diff not shown
doc/html/tab_h.png less more
Binary diff not shown
doc/html/tab_s.png less more
Binary diff not shown
+0
-60
doc/html/tabs.css less more
0 .tabs, .tabs2, .tabs3 {
1 background-image: url('tab_b.png');
2 width: 100%;
3 z-index: 101;
4 font-size: 13px;
5 font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
6 }
7
8 .tabs2 {
9 font-size: 10px;
10 }
11 .tabs3 {
12 font-size: 9px;
13 }
14
15 .tablist {
16 margin: 0;
17 padding: 0;
18 display: table;
19 }
20
21 .tablist li {
22 float: left;
23 display: table-cell;
24 background-image: url('tab_b.png');
25 line-height: 36px;
26 list-style: none;
27 }
28
29 .tablist a {
30 display: block;
31 padding: 0 20px;
32 font-weight: bold;
33 background-image:url('tab_s.png');
34 background-repeat:no-repeat;
35 background-position:right;
36 color: #283A5D;
37 text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
38 text-decoration: none;
39 outline: none;
40 }
41
42 .tabs3 .tablist a {
43 padding: 0 10px;
44 }
45
46 .tablist a:hover {
47 background-image: url('tab_h.png');
48 background-repeat:repeat-x;
49 color: #fff;
50 text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
51 text-decoration: none;
52 }
53
54 .tablist li.current a {
55 background-image: url('tab_a.png');
56 background-repeat:repeat-x;
57 color: #fff;
58 text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
59 }
+0
-121
doc/html/tpbuttons.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
5 <meta name="generator" content="Doxygen 1.8.5"/>
6 <title>libinput: Touchpad button behavior</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="search/search.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="search/search.js"></script>
12 <script type="text/javascript">
13 $(document).ready(function() { searchBox.OnSelectItem(0); });
14 </script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td style="padding-left: 0.5em;">
24 <div id="projectname">libinput
25 &#160;<span id="projectnumber">0.5.0</span>
26 </div>
27 <div id="projectbrief">A wrapper library for input devices</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.5 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
42 <li><a href="modules.html"><span>Modules</span></a></li>
43 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
44 <li><a href="files.html"><span>Files</span></a></li>
45 <li>
46 <div id="MSearchBox" class="MSearchBoxInactive">
47 <span class="left">
48 <img id="MSearchSelect" src="search/mag_sel.png"
49 onmouseover="return searchBox.OnSearchSelectShow()"
50 onmouseout="return searchBox.OnSearchSelectHide()"
51 alt=""/>
52 <input type="text" id="MSearchField" value="Search" accesskey="S"
53 onfocus="searchBox.OnSearchFieldFocus(true)"
54 onblur="searchBox.OnSearchFieldFocus(false)"
55 onkeyup="searchBox.OnSearchFieldChange(event)"/>
56 </span><span class="right">
57 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
58 </span>
59 </div>
60 </li>
61 </ul>
62 </div>
63 <!-- window showing the filter options -->
64 <div id="MSearchSelectWindow"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 onkeydown="return searchBox.OnSearchSelectKey(event)">
68 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
69
70 <!-- iframe showing the search results (closed by default) -->
71 <div id="MSearchResultsWindow">
72 <iframe src="javascript:void(0)" frameborder="0"
73 name="MSearchResults" id="MSearchResults">
74 </iframe>
75 </div>
76
77 </div><!-- top -->
78 <div class="header">
79 <div class="headertitle">
80 <div class="title">Touchpad button behavior </div> </div>
81 </div><!--header-->
82 <div class="contents">
83 <div class="textblock"><p>For touchpad devices without physical buttons, libinput enables an emulated right button area through either of two methods.</p>
84 <h1>Software button areas </h1>
85 <p>On most touchpads, the bottom area of the touchpad is split into a left and a right-button area. Pressing the touchpad down with a finger in those areas will generate clicks as shown in the diagram below:</p>
86 <div class="fragment"><div class="line"> +------------------------+</div>
87 <div class="line"> | |</div>
88 <div class="line"> | |</div>
89 <div class="line"> | LEFT |</div>
90 <div class="line"> | |</div>
91 <div class="line"> | |</div>
92 <div class="line"> +------------------------+</div>
93 <div class="line"> | LEFT | RIGHT |</div>
94 <div class="line"> +------------------------+</div>
95 <div class="line">* </div>
96 </div><!-- fragment --><p>Generally, the touchpad will emulate a right-button click if the finger was set down in the right button area and did not leave the right button area before clicking, even if another finger was already down on the touchpad in another area. A middle click is generated by clicking the touchpad when one finger is in the bottom left button area, and one finger is in the botton right button area. The exact behavior of the touchpad is implementation-dependent.</p>
97 <h1>Top software button area </h1>
98 <p>On selected touchpads, the top area of the touchpad is a separate set of software buttons split into a left, middle and right button area. Pressing the touchpad down with a finger in those areas will generate clicks as shown in the diagram below:</p>
99 <div class="fragment"><div class="line"> +------------------------+</div>
100 <div class="line"> | LEFT | MIDDLE | RIGHT |</div>
101 <div class="line"> +------------------------+</div>
102 <div class="line"> | |</div>
103 <div class="line"> | LEFT |</div>
104 <div class="line"> | |</div>
105 <div class="line"> +------------------------+</div>
106 <div class="line"> | LEFT | RIGHT |</div>
107 <div class="line"> +------------------------+</div>
108 <div class="line">* </div>
109 </div><!-- fragment --><p> This behavior is enabled on the Lenovo *40 series (T440, T540, T240...) and the Lenovo Helix, Yoga S1 and Carbon X1 2nd.</p>
110 <h1>Clickfinger </h1>
111 <p>On Apple touchpads, no button areas are provided. Instead, use a two-finger click for a right button click, and a three-finger click for a middle button click. </p>
112 </div></div><!-- contents -->
113 <!-- start footer part -->
114 <hr class="footer"/><address class="footer"><small>
115 Generated on Tue Jul 22 2014 21:37:21 for libinput by &#160;<a href="http://www.doxygen.org/index.html">
116 <img class="footer" src="doxygen.png" alt="doxygen"/>
117 </a> 1.8.5
118 </small></address>
119 </body>
120 </html>