This file is indexed.

/usr/share/doc/libratbag-dev/html/libratbag_8h.html is in libratbag-doc 0.9-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.13"/>
        <script type="text/javascript" src="file:///usr/share/javascript/jquery/jquery.js"></script>
        <title>libratbag: /build/libratbag-1ltGPZ/libratbag-0.9/src/libratbag.h File Reference</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
        <script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="file:///usr/share/javascript/mathjax/MathJax.js"></script>
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link href="bootstrap.css" rel="stylesheet" type="text/css"/>
        <link href="bootstrap.css" rel="stylesheet" type="text/css" />
        <script src="file:///usr/share/javascript/bootstrap/js/bootstrap.js"></script>
        <script type="text/javascript" src="doxy-boot.js"></script>
    </head>
    <body>
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand">libratbag 0.9.0</a>
                </div>
            </div>
        </nav>
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">libratbag.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;stdarg.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;libudev.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for libratbag.h:</div>
<div class="dyncontent">
<div class="center"><img src="libratbag_8h__incl.png" border="0" usemap="#_2build_2libratbag-1ltGPZ_2libratbag-0_89_2src_2libratbag_8h" alt=""/></div>
<map name="_2build_2libratbag-1ltGPZ_2libratbag-0_89_2src_2libratbag_8h" id="_2build_2libratbag-1ltGPZ_2libratbag-0_89_2src_2libratbag_8h">
</map>
</div>
</div>
<p><a href="libratbag_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structratbag__color.html">ratbag_color</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents LED color in RGB format.  <a href="structratbag__color.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structratbag__interface.html">ratbag_interface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">libratbag does not open file descriptors to devices directly, instead <a class="el" href="structratbag__interface.html#a7625875340ab631722a6717a975d02bd" title="Open the device at the given path with the flags provided and return the fd. ">open_restricted()</a> and <a class="el" href="structratbag__interface.html#a5ccac29e0114151d12aba7f4acb82491" title="Close the file descriptor. ">close_restricted()</a> are called for each path that must be opened.  <a href="structratbag__interface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ab2787026c82761eee155214ad8d5e54c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libratbag_8h.html#ab2787026c82761eee155214ad8d5e54c">LIBRATBAG_ATTRIBUTE_PRINTF</a>(_format,  _args)</td></tr>
<tr class="separator:ab2787026c82761eee155214ad8d5e54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87f8b098530f550588a6dc63bffcc68a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libratbag_8h.html#a87f8b098530f550588a6dc63bffcc68a">LIBRATBAG_ATTRIBUTE_DEPRECATED</a></td></tr>
<tr class="separator:a87f8b098530f550588a6dc63bffcc68a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8ea38d087793faa644e44d36caf41a04"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga8ea38d087793faa644e44d36caf41a04">ratbag_log_handler</a>) (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>, enum <a class="el" href="group__base.html#ga23609c083d2bf82a65db8c780fea0125">ratbag_log_priority</a> priority, const char *format, va_list args) <a class="el" href="libratbag_8h.html#ab2787026c82761eee155214ad8d5e54c">LIBRATBAG_ATTRIBUTE_PRINTF</a>(3</td></tr>
<tr class="memdesc:ga8ea38d087793faa644e44d36caf41a04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log handler type for custom logging.  <a href="group__base.html#ga8ea38d087793faa644e44d36caf41a04">More...</a><br /></td></tr>
<tr class="separator:ga8ea38d087793faa644e44d36caf41a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf91249ec430e6f82df68f48b3796f7ae"><td class="memItemLeft" align="right" valign="top">typedef void(*) voi&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gaf91249ec430e6f82df68f48b3796f7ae">ratbag_log_set_priority</a>) (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>, enum <a class="el" href="group__base.html#ga23609c083d2bf82a65db8c780fea0125">ratbag_log_priority</a> priority)</td></tr>
<tr class="memdesc:gaf91249ec430e6f82df68f48b3796f7ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the log priority for the ratbag context.  <a href="group__base.html#gaf91249ec430e6f82df68f48b3796f7ae">More...</a><br /></td></tr>
<tr class="separator:gaf91249ec430e6f82df68f48b3796f7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga778f6aa9aeee462860007415895baec1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a> { <br />
&#160;&#160;<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1a2e737355144b856d0a872b648a5da140">RATBAG_SUCCESS</a>, 
<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1a6126953b4fc122e5e9e796175597dbc6">RATBAG_ERROR_DEVICE</a>, 
<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1a53c6de635fca4186074550e8f7bcc008">RATBAG_ERROR_CAPABILITY</a>, 
<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1aa4181dfc60a9fd47d85fcf05cc62e9a2">RATBAG_ERROR_VALUE</a>, 
<br />
&#160;&#160;<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1aa497fc927ae7b6f4d34ea1097669257d">RATBAG_ERROR_SYSTEM</a>, 
<a class="el" href="group__base.html#gga778f6aa9aeee462860007415895baec1a9d0f55d2981272643e23ac2880dbe3da">RATBAG_ERROR_IMPLEMENTATION</a>
<br />
 }<tr class="memdesc:ga778f6aa9aeee462860007415895baec1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes used by libratbag.  <a href="group__base.html#ga778f6aa9aeee462860007415895baec1">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga778f6aa9aeee462860007415895baec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23609c083d2bf82a65db8c780fea0125"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga23609c083d2bf82a65db8c780fea0125">ratbag_log_priority</a> { <a class="el" href="group__base.html#gga23609c083d2bf82a65db8c780fea0125a663d17fb774c6c86f8234fa8624ff5c6">RATBAG_LOG_PRIORITY_RAW</a>, 
<a class="el" href="group__base.html#gga23609c083d2bf82a65db8c780fea0125a1ef357dad433d3d5326e6037fcfd3640">RATBAG_LOG_PRIORITY_DEBUG</a>, 
<a class="el" href="group__base.html#gga23609c083d2bf82a65db8c780fea0125a072d5e9b642837eb365a540363e352aa">RATBAG_LOG_PRIORITY_INFO</a>, 
<a class="el" href="group__base.html#gga23609c083d2bf82a65db8c780fea0125ae0116289263b8c2ed01d9b190bea8e2c">RATBAG_LOG_PRIORITY_ERROR</a>
 }<tr class="memdesc:ga23609c083d2bf82a65db8c780fea0125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log priority for internal logging messages.  <a href="group__base.html#ga23609c083d2bf82a65db8c780fea0125">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga23609c083d2bf82a65db8c780fea0125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadac0b3995c97da4276a6f21ecadecedf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gadac0b3995c97da4276a6f21ecadecedf">ratbag_device_capability</a> { <br />
&#160;&#160;<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfa5272595d43de2ecb86551be9d20bad6f">RATBAG_DEVICE_CAP_NONE</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfaf4fbc43472adb35835f5e1d2fed9a05e">RATBAG_DEVICE_CAP_SWITCHABLE_RESOLUTION</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfa610acfcea4d029aac89b10a73ddaf7dc">RATBAG_DEVICE_CAP_SWITCHABLE_PROFILE</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfa950d081db409d31604b86d0a0087fb45">RATBAG_DEVICE_CAP_BUTTON_KEY</a>, 
<br />
&#160;&#160;<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfaa0d892a820b48517c4ea83018ab48eda">RATBAG_DEVICE_CAP_LED</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfac6de8a11a57ee4971be159e511c0065e">RATBAG_DEVICE_CAP_BUTTON_MACROS</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfaf70724e79aec52503a32566d4f7bbb32">RATBAG_DEVICE_CAP_DEFAULT_PROFILE</a>, 
<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfacee7c64e3ea8797c2462c72001afe619">RATBAG_DEVICE_CAP_QUERY_CONFIGURATION</a>, 
<br />
&#160;&#160;<a class="el" href="group__device.html#ggadac0b3995c97da4276a6f21ecadecedfaca1ffce8a02c08124ed78ac5192869a8">RATBAG_DEVICE_CAP_DISABLE_PROFILE</a>
<br />
 }</td></tr>
<tr class="separator:gadac0b3995c97da4276a6f21ecadecedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5d0b9251bde32091d278b4f2cde0f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libratbag_8h.html#a4d5d0b9251bde32091d278b4f2cde0f3">ratbag_resolution_capability</a> { <a class="el" href="libratbag_8h.html#a4d5d0b9251bde32091d278b4f2cde0f3a7ba0b0c4048bd5315f4eda12a4cd4342">RATBAG_RESOLUTION_CAP_INDIVIDUAL_REPORT_RATE</a>, 
<a class="el" href="libratbag_8h.html#a4d5d0b9251bde32091d278b4f2cde0f3a99ee14f4fe1f3a571316e1c8c3068ed6">RATBAG_RESOLUTION_CAP_SEPARATE_XY_RESOLUTION</a>
 }</td></tr>
<tr class="separator:a4d5d0b9251bde32091d278b4f2cde0f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcdd5e2cf88f351085b341ffbb909fd2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gafcdd5e2cf88f351085b341ffbb909fd2">ratbag_button_type</a> { <br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a7bca635d9025f6900dba449bccda3d3d">RATBAG_BUTTON_TYPE_UNKNOWN</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a8042afc70b84fdf7d7d21b7d949d4b9c">RATBAG_BUTTON_TYPE_LEFT</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2ad3a2abf81fcfd49b56134102a2653676">RATBAG_BUTTON_TYPE_MIDDLE</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a8de7a91e89376d03ac5f0851fab70600">RATBAG_BUTTON_TYPE_RIGHT</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a77288824bca980d8880e2317963176ab">RATBAG_BUTTON_TYPE_THUMB</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2aa878e5948b2b12d13a91f08f309cf1cb">RATBAG_BUTTON_TYPE_THUMB2</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2ac8ab5c27c077f614f4e3e7016425239b">RATBAG_BUTTON_TYPE_THUMB3</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2aedd64f753389d04fe881c8841fb45971">RATBAG_BUTTON_TYPE_THUMB4</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a4e7833dbcc430912bdbbbf04e6625662">RATBAG_BUTTON_TYPE_WHEEL_LEFT</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2abe71df878436dd40e96945b449f67f21">RATBAG_BUTTON_TYPE_WHEEL_RIGHT</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2ae97892b752aabd9811af1030bb91a995">RATBAG_BUTTON_TYPE_WHEEL_CLICK</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a3f34fbc88fcda99c49ab9b93bff1def0">RATBAG_BUTTON_TYPE_WHEEL_UP</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a6e403e17fb115525dba21cf59f2d1607">RATBAG_BUTTON_TYPE_WHEEL_DOWN</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a09d8e95699fa185af5a1aec61fa18b94">RATBAG_BUTTON_TYPE_WHEEL_RATCHET_MODE_SHIFT</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a822f6cc8b0ecbb3ae0c00ef83287a64a">RATBAG_BUTTON_TYPE_EXTRA</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a16e45fc796c4f3f398678b6d2b5fb5a3">RATBAG_BUTTON_TYPE_SIDE</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2ac259042c3f1e3706c03f2313d7707922">RATBAG_BUTTON_TYPE_PINKIE</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2ad47127aaee5e28f4644556f72d60d6fa">RATBAG_BUTTON_TYPE_PINKIE2</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a5a59741e9f83d956b2ed3f4a2c572dd2">RATBAG_BUTTON_TYPE_RESOLUTION_CYCLE_UP</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a41a171b1c2ccdf23f683dedd01eb9bab">RATBAG_BUTTON_TYPE_RESOLUTION_UP</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a8174ea6fac3d7276678f878871302833">RATBAG_BUTTON_TYPE_RESOLUTION_DOWN</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2aa3a4a64a92a0ab82e6e38a782ce07dbb">RATBAG_BUTTON_TYPE_PROFILE_CYCLE_UP</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2a49c607b930139e78180fcb89e6910844">RATBAG_BUTTON_TYPE_PROFILE_UP</a>, 
<a class="el" href="group__button.html#ggafcdd5e2cf88f351085b341ffbb909fd2aac44c2a2f7c31266a8ffbe566efcc8b4">RATBAG_BUTTON_TYPE_PROFILE_DOWN</a>
<br />
 }<tr class="memdesc:gafcdd5e2cf88f351085b341ffbb909fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button types describing the physical button.  <a href="group__button.html#gafcdd5e2cf88f351085b341ffbb909fd2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gafcdd5e2cf88f351085b341ffbb909fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f5b77ec6305b4371baea749105bec13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga9f5b77ec6305b4371baea749105bec13">ratbag_button_action_type</a> { <br />
&#160;&#160;<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13aa086780609b50d838da775d6edcb8720">RATBAG_BUTTON_ACTION_TYPE_UNKNOWN</a>, 
<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13af50bfdfab7f8cf69e06349f40aec9586">RATBAG_BUTTON_ACTION_TYPE_NONE</a>, 
<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ab08c3d054f1d6e7ecc4fdb9b9b20484a">RATBAG_BUTTON_ACTION_TYPE_BUTTON</a>, 
<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ab969f0ad28a4e285454c3dd95414e02c">RATBAG_BUTTON_ACTION_TYPE_SPECIAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ae6a8937936a354d2536c55474591b90d">RATBAG_BUTTON_ACTION_TYPE_KEY</a>, 
<a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13a89b777e45740ba18398c528d85351352">RATBAG_BUTTON_ACTION_TYPE_MACRO</a>
<br />
 }<tr class="memdesc:ga9f5b77ec6305b4371baea749105bec13"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type assigned to a button.  <a href="group__button.html#ga9f5b77ec6305b4371baea749105bec13">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga9f5b77ec6305b4371baea749105bec13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8158a0f03a168268ec347f0a96699473"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga8158a0f03a168268ec347f0a96699473">ratbag_button_action_special</a> { <br />
&#160;&#160;<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473aec5fadf1f36a4ded8ecca313391108be">RATBAG_BUTTON_ACTION_SPECIAL_INVALID</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473ab2d432e782ef10e3989acdbfc1eec1e1">RATBAG_BUTTON_ACTION_SPECIAL_UNKNOWN</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a8f35e47cdafb09262bab48e3eb6f0b5c">RATBAG_BUTTON_ACTION_SPECIAL_DOUBLECLICK</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a3da43a68518921c1617be68c953d0c9f">RATBAG_BUTTON_ACTION_SPECIAL_WHEEL_LEFT</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a18c8de16a7aefa0e943be16b241909dc">RATBAG_BUTTON_ACTION_SPECIAL_WHEEL_RIGHT</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a3b30fce388bb591483da08ac2042f122">RATBAG_BUTTON_ACTION_SPECIAL_WHEEL_UP</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a0d0db353fdff8f2aaad5ca1e21c4b8c8">RATBAG_BUTTON_ACTION_SPECIAL_WHEEL_DOWN</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473ab74802c2069025c7b76431538a9a51ea">RATBAG_BUTTON_ACTION_SPECIAL_RATCHET_MODE_SWITCH</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a992cf85a6d69128e42b2038ffe006740">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_CYCLE_UP</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a22e1732b745a0a6de04fac2c65484a72">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_CYCLE_DOWN</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473af61126c18363c2aa63cc626f94ec10f1">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_UP</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a9ac6b495a4398b5d762e8241742562c9">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_DOWN</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a36b89d5d86f8952b22070f53bca4bf25">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_ALTERNATE</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473af35a8207085784f0c199ce7c246a7269">RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_DEFAULT</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a4eec5bccff9914efde9e020f195e482f">RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_CYCLE_UP</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a41d19cc4ffbc0817965b67f44e120c16">RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_CYCLE_DOWN</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473ae20a7f522c04f61aaa8c8f465d18aa01">RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_UP</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a1582729ba01270530482fb312fd26650">RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_DOWN</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a46369e1a68c1516b94d4370a3bfa3d4d">RATBAG_BUTTON_ACTION_SPECIAL_SECOND_MODE</a>, 
<a class="el" href="group__button.html#gga8158a0f03a168268ec347f0a96699473a6eb414e7c080a5aee427dee1b7b65689">RATBAG_BUTTON_ACTION_SPECIAL_BATTERY_LEVEL</a>
<br />
 }</td></tr>
<tr class="separator:ga8158a0f03a168268ec347f0a96699473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1be32cfd9fa5b3a423211f11bed67d1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gad1be32cfd9fa5b3a423211f11bed67d1">ratbag_led_mode</a> { <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a3a0c208dc717aa497be7ce44f1d4140f">RATBAG_LED_OFF</a>, 
<a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a4ad514c9f66e6de6261b849f2c7bc47f">RATBAG_LED_ON</a>, 
<a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a1118650e587ec5fac6ae4969b318e640">RATBAG_LED_CYCLE</a>, 
<a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a77a9df31393082ff27cee3361551c26f">RATBAG_LED_BREATHING</a>
 }<tr class="memdesc:gad1be32cfd9fa5b3a423211f11bed67d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">RATBAG_LED_OFF - led is now off, RATBAG_LED_ON - led is on with static color, RATBAG_LED_CYCLE - led is cycling between all colors.  <a href="group__led.html#gad1be32cfd9fa5b3a423211f11bed67d1">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gad1be32cfd9fa5b3a423211f11bed67d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade0742d37e151927d6bc08e37e83c930"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gade0742d37e151927d6bc08e37e83c930">ratbag_led_type</a> { <a class="el" href="group__led.html#ggade0742d37e151927d6bc08e37e83c930a6c7e99efb36224e445649010040e6125">RATBAG_LED_TYPE_UNKNOWN</a>, 
<a class="el" href="group__led.html#ggade0742d37e151927d6bc08e37e83c930a8d0984c0f2f5e21fa7a85adca3cf6ace">RATBAG_LED_TYPE_LOGO</a>, 
<a class="el" href="group__led.html#ggade0742d37e151927d6bc08e37e83c930a87600e3a9f3349f9c27497ded26ca170">RATBAG_LED_TYPE_SIDE</a>
 }<tr class="memdesc:gade0742d37e151927d6bc08e37e83c930"><td class="mdescLeft">&#160;</td><td class="mdescRight">LED types, usually based on their physical location.  <a href="group__led.html#gade0742d37e151927d6bc08e37e83c930">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gade0742d37e151927d6bc08e37e83c930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga212d6f42b701a7795c73a5a1caba02fb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga212d6f42b701a7795c73a5a1caba02fb">ratbag_macro_event_type</a> { <br />
&#160;&#160;<a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fba1f860412a64de869a0a45d65cb009edf">RATBAG_MACRO_EVENT_INVALID</a>, 
<a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fba20c83bbdb34b15f779df6fd2f2055744">RATBAG_MACRO_EVENT_NONE</a>, 
<a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbae037921092a1d9a7cb2e2cea7edd4195">RATBAG_MACRO_EVENT_KEY_PRESSED</a>, 
<a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbaa48c811d550da53cf698132131fe1d51">RATBAG_MACRO_EVENT_KEY_RELEASED</a>, 
<br />
&#160;&#160;<a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbaf9b44f200255f432b9cbb9d261fc8a22">RATBAG_MACRO_EVENT_WAIT</a>
<br />
 }<tr class="memdesc:ga212d6f42b701a7795c73a5a1caba02fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro event types describing the event.  <a href="group__button.html#ga212d6f42b701a7795c73a5a1caba02fb">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga212d6f42b701a7795c73a5a1caba02fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga050316341453af027b12f5955fa8ad6a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga23609c083d2bf82a65db8c780fea0125">ratbag_log_priority</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga050316341453af027b12f5955fa8ad6a">ratbag_log_get_priority</a> (const struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>)</td></tr>
<tr class="memdesc:ga050316341453af027b12f5955fa8ad6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the context's log priority.  <a href="group__base.html#ga050316341453af027b12f5955fa8ad6a">More...</a><br /></td></tr>
<tr class="separator:ga050316341453af027b12f5955fa8ad6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbfae84a89699399e5ab09633e00d44f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#gacbfae84a89699399e5ab09633e00d44f">ratbag_log_set_handler</a> (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>, <a class="el" href="group__base.html#ga8ea38d087793faa644e44d36caf41a04">ratbag_log_handler</a> log_handler)</td></tr>
<tr class="memdesc:gacbfae84a89699399e5ab09633e00d44f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the context's log handler.  <a href="group__base.html#gacbfae84a89699399e5ab09633e00d44f">More...</a><br /></td></tr>
<tr class="separator:gacbfae84a89699399e5ab09633e00d44f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3394131f8d3dda1d29bec9384a9ca903"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag.html">ratbag</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga3394131f8d3dda1d29bec9384a9ca903">ratbag_create_context</a> (const struct <a class="el" href="structratbag__interface.html">ratbag_interface</a> *interface, void *userdata)</td></tr>
<tr class="memdesc:ga3394131f8d3dda1d29bec9384a9ca903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new ratbag context.  <a href="group__base.html#ga3394131f8d3dda1d29bec9384a9ca903">More...</a><br /></td></tr>
<tr class="separator:ga3394131f8d3dda1d29bec9384a9ca903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d25e0b78d3dd35b051dc42d1bdfa459"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga5d25e0b78d3dd35b051dc42d1bdfa459">ratbag_set_user_data</a> (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>, void *userdata)</td></tr>
<tr class="memdesc:ga5d25e0b78d3dd35b051dc42d1bdfa459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this context.  <a href="group__base.html#ga5d25e0b78d3dd35b051dc42d1bdfa459">More...</a><br /></td></tr>
<tr class="separator:ga5d25e0b78d3dd35b051dc42d1bdfa459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e7b4b977b8698188646ff9ec9c0c1fc"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga6e7b4b977b8698188646ff9ec9c0c1fc">ratbag_get_user_data</a> (const struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>)</td></tr>
<tr class="memdesc:ga6e7b4b977b8698188646ff9ec9c0c1fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this context, if any.  <a href="group__base.html#ga6e7b4b977b8698188646ff9ec9c0c1fc">More...</a><br /></td></tr>
<tr class="separator:ga6e7b4b977b8698188646ff9ec9c0c1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3986d618589de98ea54a60087c349824"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag.html">ratbag</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga3986d618589de98ea54a60087c349824">ratbag_ref</a> (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>)</td></tr>
<tr class="memdesc:ga3986d618589de98ea54a60087c349824"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the context.  <a href="group__base.html#ga3986d618589de98ea54a60087c349824">More...</a><br /></td></tr>
<tr class="separator:ga3986d618589de98ea54a60087c349824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga554a9d5ef77b8012f6f38e6d82de15bf"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag.html">ratbag</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga554a9d5ef77b8012f6f38e6d82de15bf">ratbag_unref</a> (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>)</td></tr>
<tr class="memdesc:ga554a9d5ef77b8012f6f38e6d82de15bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag context.  <a href="group__base.html#ga554a9d5ef77b8012f6f38e6d82de15bf">More...</a><br /></td></tr>
<tr class="separator:ga554a9d5ef77b8012f6f38e6d82de15bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ce9f80e3f90800d9260af0834046451"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__base.html#ga5ce9f80e3f90800d9260af0834046451">ratbag_device_new_from_udev_device</a> (struct <a class="el" href="structratbag.html">ratbag</a> *<a class="el" href="structratbag.html">ratbag</a>, struct udev_device *udev_device, struct <a class="el" href="structratbag__device.html">ratbag_device</a> **device)</td></tr>
<tr class="memdesc:ga5ce9f80e3f90800d9260af0834046451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new ratbag context from the given udev device.  <a href="group__base.html#ga5ce9f80e3f90800d9260af0834046451">More...</a><br /></td></tr>
<tr class="separator:ga5ce9f80e3f90800d9260af0834046451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaeade1470e390e04848c0fa4f15e4f2b"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__device.html">ratbag_device</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaaeade1470e390e04848c0fa4f15e4f2b">ratbag_device_ref</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:gaaeade1470e390e04848c0fa4f15e4f2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the device.  <a href="group__device.html#gaaeade1470e390e04848c0fa4f15e4f2b">More...</a><br /></td></tr>
<tr class="separator:gaaeade1470e390e04848c0fa4f15e4f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb6674aea50753e1ce30fb0a2bcf4bc8"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__device.html">ratbag_device</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gacb6674aea50753e1ce30fb0a2bcf4bc8">ratbag_device_unref</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:gacb6674aea50753e1ce30fb0a2bcf4bc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag device.  <a href="group__device.html#gacb6674aea50753e1ce30fb0a2bcf4bc8">More...</a><br /></td></tr>
<tr class="separator:gacb6674aea50753e1ce30fb0a2bcf4bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa41c2f2db4ee920548aa4e9a72f86a14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gaa41c2f2db4ee920548aa4e9a72f86a14">ratbag_device_set_user_data</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device, void *userdata)</td></tr>
<tr class="memdesc:gaa41c2f2db4ee920548aa4e9a72f86a14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this device.  <a href="group__device.html#gaa41c2f2db4ee920548aa4e9a72f86a14">More...</a><br /></td></tr>
<tr class="separator:gaa41c2f2db4ee920548aa4e9a72f86a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72297497f8c82952604f25b30fc29e83"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga72297497f8c82952604f25b30fc29e83">ratbag_device_get_user_data</a> (const struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:ga72297497f8c82952604f25b30fc29e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this device, if any.  <a href="group__device.html#ga72297497f8c82952604f25b30fc29e83">More...</a><br /></td></tr>
<tr class="separator:ga72297497f8c82952604f25b30fc29e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab463581e68404f6362537b27744fdd04"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gab463581e68404f6362537b27744fdd04">ratbag_device_get_name</a> (const struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="separator:gab463581e68404f6362537b27744fdd04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab51b2638874739f6be746c2fc14365a5"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#gab51b2638874739f6be746c2fc14365a5">ratbag_device_get_svg_name</a> (const struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="separator:gab51b2638874739f6be746c2fc14365a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga234f5713cd4db3dc7c100461bfabe269"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga234f5713cd4db3dc7c100461bfabe269">ratbag_device_has_capability</a> (const struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device, enum <a class="el" href="group__device.html#gadac0b3995c97da4276a6f21ecadecedf">ratbag_device_capability</a> cap)</td></tr>
<tr class="memdesc:ga234f5713cd4db3dc7c100461bfabe269"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note that a device may not support any of the capabilities but still initialize fine otherwise.  <a href="group__device.html#ga234f5713cd4db3dc7c100461bfabe269">More...</a><br /></td></tr>
<tr class="separator:ga234f5713cd4db3dc7c100461bfabe269"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ba9d519de19961846cccd63e632a2f2"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga7ba9d519de19961846cccd63e632a2f2">ratbag_device_commit</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:ga7ba9d519de19961846cccd63e632a2f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write any changes to the device.  <a href="group__device.html#ga7ba9d519de19961846cccd63e632a2f2">More...</a><br /></td></tr>
<tr class="separator:ga7ba9d519de19961846cccd63e632a2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45a7982c317f4a7ece37b42d6dcbb4c1"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga45a7982c317f4a7ece37b42d6dcbb4c1">ratbag_device_get_num_profiles</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:ga45a7982c317f4a7ece37b42d6dcbb4c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of profiles supported by this device.  <a href="group__device.html#ga45a7982c317f4a7ece37b42d6dcbb4c1">More...</a><br /></td></tr>
<tr class="separator:ga45a7982c317f4a7ece37b42d6dcbb4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b04791bc03f4f5ea6691ca346cf8c18"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga3b04791bc03f4f5ea6691ca346cf8c18">ratbag_device_get_num_buttons</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:ga3b04791bc03f4f5ea6691ca346cf8c18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of buttons available on this device.  <a href="group__device.html#ga3b04791bc03f4f5ea6691ca346cf8c18">More...</a><br /></td></tr>
<tr class="separator:ga3b04791bc03f4f5ea6691ca346cf8c18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ef8f8c5e8c45ca7660fb2c9b7586f52"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device.html#ga5ef8f8c5e8c45ca7660fb2c9b7586f52">ratbag_device_get_num_leds</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device)</td></tr>
<tr class="memdesc:ga5ef8f8c5e8c45ca7660fb2c9b7586f52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of LEDs available on this device.  <a href="group__device.html#ga5ef8f8c5e8c45ca7660fb2c9b7586f52">More...</a><br /></td></tr>
<tr class="separator:ga5ef8f8c5e8c45ca7660fb2c9b7586f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafa8356d4af464a063c72daf7ab3da8f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#gaafa8356d4af464a063c72daf7ab3da8f">ratbag_profile_ref</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:gaafa8356d4af464a063c72daf7ab3da8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the profile.  <a href="group__profile.html#gaafa8356d4af464a063c72daf7ab3da8f">More...</a><br /></td></tr>
<tr class="separator:gaafa8356d4af464a063c72daf7ab3da8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5f9d8032769e9f84e78f8e02187eb91"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#gab5f9d8032769e9f84e78f8e02187eb91">ratbag_profile_unref</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:gab5f9d8032769e9f84e78f8e02187eb91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag profile.  <a href="group__profile.html#gab5f9d8032769e9f84e78f8e02187eb91">More...</a><br /></td></tr>
<tr class="separator:gab5f9d8032769e9f84e78f8e02187eb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf11661959bbc73dace4da8591e719e98"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#gaf11661959bbc73dace4da8591e719e98">ratbag_profile_set_enabled</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile, bool enabled)</td></tr>
<tr class="memdesc:gaf11661959bbc73dace4da8591e719e98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable the ratbag profile.  <a href="group__profile.html#gaf11661959bbc73dace4da8591e719e98">More...</a><br /></td></tr>
<tr class="separator:gaf11661959bbc73dace4da8591e719e98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88aab098ab4ebef59dd1200cfeb66f1b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga88aab098ab4ebef59dd1200cfeb66f1b">ratbag_profile_is_enabled</a> (const struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:ga88aab098ab4ebef59dd1200cfeb66f1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the ratbag profile is enabled or not.  <a href="group__profile.html#ga88aab098ab4ebef59dd1200cfeb66f1b">More...</a><br /></td></tr>
<tr class="separator:ga88aab098ab4ebef59dd1200cfeb66f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf3e26861590805407cc52fac30dfb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#gaebf3e26861590805407cc52fac30dfb2">ratbag_profile_set_user_data</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile, void *userdata)</td></tr>
<tr class="memdesc:gaebf3e26861590805407cc52fac30dfb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this profile.  <a href="group__profile.html#gaebf3e26861590805407cc52fac30dfb2">More...</a><br /></td></tr>
<tr class="separator:gaebf3e26861590805407cc52fac30dfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a606957ee177707273f168a892f9ae5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga1a606957ee177707273f168a892f9ae5">ratbag_profile_get_user_data</a> (const struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:ga1a606957ee177707273f168a892f9ae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this profile, if any.  <a href="group__profile.html#ga1a606957ee177707273f168a892f9ae5">More...</a><br /></td></tr>
<tr class="separator:ga1a606957ee177707273f168a892f9ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7678b274a5307f764fe829849c313088"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga7678b274a5307f764fe829849c313088">ratbag_device_get_profile</a> (struct <a class="el" href="structratbag__device.html">ratbag_device</a> *device, unsigned int index)</td></tr>
<tr class="memdesc:ga7678b274a5307f764fe829849c313088"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates if necessary and returns a profile for the given index.  <a href="group__profile.html#ga7678b274a5307f764fe829849c313088">More...</a><br /></td></tr>
<tr class="separator:ga7678b274a5307f764fe829849c313088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ed8ff2c772f5f6a4165e30533fc5628"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga2ed8ff2c772f5f6a4165e30533fc5628">ratbag_profile_is_active</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:ga2ed8ff2c772f5f6a4165e30533fc5628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given profile is the currently active one.  <a href="group__profile.html#ga2ed8ff2c772f5f6a4165e30533fc5628">More...</a><br /></td></tr>
<tr class="separator:ga2ed8ff2c772f5f6a4165e30533fc5628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87f321a303c031292c5850e77f2c3194"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga87f321a303c031292c5850e77f2c3194">ratbag_profile_set_active</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:ga87f321a303c031292c5850e77f2c3194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make the given profile the currently active profile.  <a href="group__profile.html#ga87f321a303c031292c5850e77f2c3194">More...</a><br /></td></tr>
<tr class="separator:ga87f321a303c031292c5850e77f2c3194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27de2026ec173d33da48f8635ebd65cb"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga27de2026ec173d33da48f8635ebd65cb">ratbag_profile_get_num_resolutions</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile)</td></tr>
<tr class="memdesc:ga27de2026ec173d33da48f8635ebd65cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> available in this profile.  <a href="group__profile.html#ga27de2026ec173d33da48f8635ebd65cb">More...</a><br /></td></tr>
<tr class="separator:ga27de2026ec173d33da48f8635ebd65cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga952c361c0c853e7a3b6669dc1f4fedb5"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga952c361c0c853e7a3b6669dc1f4fedb5">ratbag_profile_get_resolution</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile, unsigned int idx)</td></tr>
<tr class="memdesc:ga952c361c0c853e7a3b6669dc1f4fedb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the resolution in DPI and the report rate in Hz for the resolution mode identified by the given index.  <a href="group__profile.html#ga952c361c0c853e7a3b6669dc1f4fedb5">More...</a><br /></td></tr>
<tr class="separator:ga952c361c0c853e7a3b6669dc1f4fedb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0718f2922e37ed10704fad2d2aeefece"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga0718f2922e37ed10704fad2d2aeefece">ratbag_resolution_ref</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:ga0718f2922e37ed10704fad2d2aeefece"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the resolution.  <a href="group__resolution.html#ga0718f2922e37ed10704fad2d2aeefece">More...</a><br /></td></tr>
<tr class="separator:ga0718f2922e37ed10704fad2d2aeefece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b207a0de53cd01460af70494b7493b6"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga3b207a0de53cd01460af70494b7493b6">ratbag_resolution_unref</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:ga3b207a0de53cd01460af70494b7493b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag resolution.  <a href="group__resolution.html#ga3b207a0de53cd01460af70494b7493b6">More...</a><br /></td></tr>
<tr class="separator:ga3b207a0de53cd01460af70494b7493b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0d204063f6e14dbf1cac1348bea14e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gac0d204063f6e14dbf1cac1348bea14e5">ratbag_resolution_set_user_data</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution, void *userdata)</td></tr>
<tr class="memdesc:gac0d204063f6e14dbf1cac1348bea14e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this resolution.  <a href="group__resolution.html#gac0d204063f6e14dbf1cac1348bea14e5">More...</a><br /></td></tr>
<tr class="separator:gac0d204063f6e14dbf1cac1348bea14e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0687e5dd24d1842cc9450db536f82c4"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gac0687e5dd24d1842cc9450db536f82c4">ratbag_resolution_get_user_data</a> (const struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gac0687e5dd24d1842cc9450db536f82c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this resolution, if any.  <a href="group__resolution.html#gac0687e5dd24d1842cc9450db536f82c4">More...</a><br /></td></tr>
<tr class="separator:gac0687e5dd24d1842cc9450db536f82c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45c509541bacca70c1cf1a5726a3d7d2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga45c509541bacca70c1cf1a5726a3d7d2">ratbag_resolution_has_capability</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution, enum <a class="el" href="libratbag_8h.html#a4d5d0b9251bde32091d278b4f2cde0f3">ratbag_resolution_capability</a> cap)</td></tr>
<tr class="memdesc:ga45c509541bacca70c1cf1a5726a3d7d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a resolution has a specific capability.  <a href="group__resolution.html#ga45c509541bacca70c1cf1a5726a3d7d2">More...</a><br /></td></tr>
<tr class="separator:ga45c509541bacca70c1cf1a5726a3d7d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac77329eb260520654e5a12b3bed9fe75"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gac77329eb260520654e5a12b3bed9fe75">ratbag_resolution_set_dpi</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution, unsigned int dpi)</td></tr>
<tr class="memdesc:gac77329eb260520654e5a12b3bed9fe75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the resolution in DPI for the resolution mode.  <a href="group__resolution.html#gac77329eb260520654e5a12b3bed9fe75">More...</a><br /></td></tr>
<tr class="separator:gac77329eb260520654e5a12b3bed9fe75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66b841bb901766ca23dad631d2a0d7a4"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga66b841bb901766ca23dad631d2a0d7a4">ratbag_resolution_set_dpi_xy</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution, unsigned int x, unsigned int y)</td></tr>
<tr class="memdesc:ga66b841bb901766ca23dad631d2a0d7a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the x and y resolution in DPI for the resolution mode.  <a href="group__resolution.html#ga66b841bb901766ca23dad631d2a0d7a4">More...</a><br /></td></tr>
<tr class="separator:ga66b841bb901766ca23dad631d2a0d7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae26eaf50161f9f3d83b4c93c7f9ef49f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gae26eaf50161f9f3d83b4c93c7f9ef49f">ratbag_resolution_get_dpi</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gae26eaf50161f9f3d83b4c93c7f9ef49f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the resolution in DPI for the resolution mode.  <a href="group__resolution.html#gae26eaf50161f9f3d83b4c93c7f9ef49f">More...</a><br /></td></tr>
<tr class="separator:gae26eaf50161f9f3d83b4c93c7f9ef49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace364969e6ad48504f23869ab0e7751d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gace364969e6ad48504f23869ab0e7751d">ratbag_resolution_get_dpi_x</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gace364969e6ad48504f23869ab0e7751d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the x resolution in DPI for the resolution mode.  <a href="group__resolution.html#gace364969e6ad48504f23869ab0e7751d">More...</a><br /></td></tr>
<tr class="separator:gace364969e6ad48504f23869ab0e7751d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d3a916a9e79b92f271bb4a1758e74d7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga8d3a916a9e79b92f271bb4a1758e74d7">ratbag_resolution_get_dpi_y</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:ga8d3a916a9e79b92f271bb4a1758e74d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the y resolution in DPI for the resolution mode.  <a href="group__resolution.html#ga8d3a916a9e79b92f271bb4a1758e74d7">More...</a><br /></td></tr>
<tr class="separator:ga8d3a916a9e79b92f271bb4a1758e74d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1f8e59e543527306649fec849066d11"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gac1f8e59e543527306649fec849066d11">ratbag_resolution_set_report_rate</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution, unsigned int hz)</td></tr>
<tr class="memdesc:gac1f8e59e543527306649fec849066d11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the report rate in Hz for the resolution mode.  <a href="group__resolution.html#gac1f8e59e543527306649fec849066d11">More...</a><br /></td></tr>
<tr class="separator:gac1f8e59e543527306649fec849066d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb45f662b634e7452852d835179109d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gabb45f662b634e7452852d835179109d3">ratbag_resolution_get_report_rate</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gabb45f662b634e7452852d835179109d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the report rate in Hz for the resolution mode.  <a href="group__resolution.html#gabb45f662b634e7452852d835179109d3">More...</a><br /></td></tr>
<tr class="separator:gabb45f662b634e7452852d835179109d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga398d09762ac2e7bd2b8f29770f1b3ae7"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga398d09762ac2e7bd2b8f29770f1b3ae7">ratbag_resolution_set_active</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:ga398d09762ac2e7bd2b8f29770f1b3ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate the given resolution mode.  <a href="group__resolution.html#ga398d09762ac2e7bd2b8f29770f1b3ae7">More...</a><br /></td></tr>
<tr class="separator:ga398d09762ac2e7bd2b8f29770f1b3ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdef33344806b7bf188ac4c62ad576d2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gacdef33344806b7bf188ac4c62ad576d2">ratbag_resolution_is_active</a> (const struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gacdef33344806b7bf188ac4c62ad576d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the resolution mode is the currently active one.  <a href="group__resolution.html#gacdef33344806b7bf188ac4c62ad576d2">More...</a><br /></td></tr>
<tr class="separator:gacdef33344806b7bf188ac4c62ad576d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26c8a1ed15dd7f8df86ce71427cd151f"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#ga26c8a1ed15dd7f8df86ce71427cd151f">ratbag_resolution_set_default</a> (struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:ga26c8a1ed15dd7f8df86ce71427cd151f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default resolution mode for the associated profile.  <a href="group__resolution.html#ga26c8a1ed15dd7f8df86ce71427cd151f">More...</a><br /></td></tr>
<tr class="separator:ga26c8a1ed15dd7f8df86ce71427cd151f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf53fe8bfc5fd3272073d11e90a125c8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__resolution.html#gadf53fe8bfc5fd3272073d11e90a125c8">ratbag_resolution_is_default</a> (const struct <a class="el" href="structratbag__resolution.html">ratbag_resolution</a> *resolution)</td></tr>
<tr class="memdesc:gadf53fe8bfc5fd3272073d11e90a125c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the resolution mode is the default one in this profile.  <a href="group__resolution.html#gadf53fe8bfc5fd3272073d11e90a125c8">More...</a><br /></td></tr>
<tr class="separator:gadf53fe8bfc5fd3272073d11e90a125c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64451f65602cdf5805792c1ab9e3182f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__button.html">ratbag_button</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile.html#ga64451f65602cdf5805792c1ab9e3182f">ratbag_profile_get_button</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile, unsigned int index)</td></tr>
<tr class="memdesc:ga64451f65602cdf5805792c1ab9e3182f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a reference to the button given by the index.  <a href="group__profile.html#ga64451f65602cdf5805792c1ab9e3182f">More...</a><br /></td></tr>
<tr class="separator:ga64451f65602cdf5805792c1ab9e3182f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga332d7dde5121d3b34b1af6371c375c75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga332d7dde5121d3b34b1af6371c375c75">ratbag_button_set_user_data</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, void *userdata)</td></tr>
<tr class="memdesc:ga332d7dde5121d3b34b1af6371c375c75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set caller-specific data associated with this button.  <a href="group__button.html#ga332d7dde5121d3b34b1af6371c375c75">More...</a><br /></td></tr>
<tr class="separator:ga332d7dde5121d3b34b1af6371c375c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57b7c5582b9a92c08cc70dffa7bbf3c9"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga57b7c5582b9a92c08cc70dffa7bbf3c9">ratbag_button_get_user_data</a> (const struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:ga57b7c5582b9a92c08cc70dffa7bbf3c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the caller-specific data associated with this button, if any.  <a href="group__button.html#ga57b7c5582b9a92c08cc70dffa7bbf3c9">More...</a><br /></td></tr>
<tr class="separator:ga57b7c5582b9a92c08cc70dffa7bbf3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae25844ee57fc9ca22a9b33427ad066fb"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__button.html#gafcdd5e2cf88f351085b341ffbb909fd2">ratbag_button_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gae25844ee57fc9ca22a9b33427ad066fb">ratbag_button_get_type</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:gae25844ee57fc9ca22a9b33427ad066fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of the physical button.  <a href="group__button.html#gae25844ee57fc9ca22a9b33427ad066fb">More...</a><br /></td></tr>
<tr class="separator:gae25844ee57fc9ca22a9b33427ad066fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabde4d3cbf659daec6309da81640463f4"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__button.html#ga9f5b77ec6305b4371baea749105bec13">ratbag_button_action_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gabde4d3cbf659daec6309da81640463f4">ratbag_button_get_action_type</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="separator:gabde4d3cbf659daec6309da81640463f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a3d6e7b1708d11912acab9732b2f91e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga1a3d6e7b1708d11912acab9732b2f91e">ratbag_button_has_action_type</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, enum <a class="el" href="group__button.html#ga9f5b77ec6305b4371baea749105bec13">ratbag_button_action_type</a> action_type)</td></tr>
<tr class="memdesc:ga1a3d6e7b1708d11912acab9732b2f91e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a button supports a specific action type.  <a href="group__button.html#ga1a3d6e7b1708d11912acab9732b2f91e">More...</a><br /></td></tr>
<tr class="separator:ga1a3d6e7b1708d11912acab9732b2f91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d8d788732b2ffb5c328c27b6bf32ab9"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga1d8d788732b2ffb5c328c27b6bf32ab9">ratbag_button_get_button</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:ga1d8d788732b2ffb5c328c27b6bf32ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">If a button's action is <a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ab08c3d054f1d6e7ecc4fdb9b9b20484a">RATBAG_BUTTON_ACTION_TYPE_BUTTON</a>, this function returns the logical button number this button is mapped to, starting at 1.  <a href="group__button.html#ga1d8d788732b2ffb5c328c27b6bf32ab9">More...</a><br /></td></tr>
<tr class="separator:ga1d8d788732b2ffb5c328c27b6bf32ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30d5f9eb5b66d54686aa0f303cd45bc0"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga30d5f9eb5b66d54686aa0f303cd45bc0">ratbag_button_set_button</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, unsigned int btn)</td></tr>
<tr class="memdesc:ga30d5f9eb5b66d54686aa0f303cd45bc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="group__button.html#ga1d8d788732b2ffb5c328c27b6bf32ab9" title="If a button&#39;s action is RATBAG_BUTTON_ACTION_TYPE_BUTTON, this function returns the logical button nu...">ratbag_button_get_button()</a> for a description of the button number.  <a href="group__button.html#ga30d5f9eb5b66d54686aa0f303cd45bc0">More...</a><br /></td></tr>
<tr class="separator:ga30d5f9eb5b66d54686aa0f303cd45bc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0f65eefca1a380075718a96535cb6ef"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__button.html#ga8158a0f03a168268ec347f0a96699473">ratbag_button_action_special</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gaf0f65eefca1a380075718a96535cb6ef">ratbag_button_get_special</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:gaf0f65eefca1a380075718a96535cb6ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">If a button's action is <a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ab969f0ad28a4e285454c3dd95414e02c">RATBAG_BUTTON_ACTION_TYPE_SPECIAL</a>, this function returns the special function assigned to this button.  <a href="group__button.html#gaf0f65eefca1a380075718a96535cb6ef">More...</a><br /></td></tr>
<tr class="separator:gaf0f65eefca1a380075718a96535cb6ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga539a6d3e5721132efe001f8b6f18b801"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__led.html">ratbag_led</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#ga539a6d3e5721132efe001f8b6f18b801">ratbag_profile_get_led</a> (struct <a class="el" href="structratbag__profile.html">ratbag_profile</a> *profile, unsigned int index)</td></tr>
<tr class="memdesc:ga539a6d3e5721132efe001f8b6f18b801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a reference to the LED given by the index.  <a href="group__led.html#ga539a6d3e5721132efe001f8b6f18b801">More...</a><br /></td></tr>
<tr class="separator:ga539a6d3e5721132efe001f8b6f18b801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9836b757484e40d589bb83fe3e258a03"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__led.html#gade0742d37e151927d6bc08e37e83c930">ratbag_led_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#ga9836b757484e40d589bb83fe3e258a03">ratbag_led_get_type</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:ga9836b757484e40d589bb83fe3e258a03"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the type for <a class="el" href="structratbag__led.html" title="Represents a led on the device. ">ratbag_led</a>.  <a href="group__led.html#ga9836b757484e40d589bb83fe3e258a03">More...</a><br /></td></tr>
<tr class="separator:ga9836b757484e40d589bb83fe3e258a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38a9ce74dd1befaf1d89d8d367e7a4e3"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__led.html#gad1be32cfd9fa5b3a423211f11bed67d1">ratbag_led_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#ga38a9ce74dd1befaf1d89d8d367e7a4e3">ratbag_led_get_mode</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:ga38a9ce74dd1befaf1d89d8d367e7a4e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the mode for <a class="el" href="structratbag__led.html" title="Represents a led on the device. ">ratbag_led</a>.  <a href="group__led.html#ga38a9ce74dd1befaf1d89d8d367e7a4e3">More...</a><br /></td></tr>
<tr class="separator:ga38a9ce74dd1befaf1d89d8d367e7a4e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec2018afcd26bb31ca12ac9e8f995d47"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__color.html">ratbag_color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gaec2018afcd26bb31ca12ac9e8f995d47">ratbag_led_get_color</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:gaec2018afcd26bb31ca12ac9e8f995d47"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the led color.  <a href="group__led.html#gaec2018afcd26bb31ca12ac9e8f995d47">More...</a><br /></td></tr>
<tr class="separator:gaec2018afcd26bb31ca12ac9e8f995d47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8c8047c8ad6b476dc25ed24d4e50e89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gaa8c8047c8ad6b476dc25ed24d4e50e89">ratbag_led_get_effect_rate</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:gaa8c8047c8ad6b476dc25ed24d4e50e89"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the LED effect rate.  <a href="group__led.html#gaa8c8047c8ad6b476dc25ed24d4e50e89">More...</a><br /></td></tr>
<tr class="separator:gaa8c8047c8ad6b476dc25ed24d4e50e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0ab94fd921904e83758dc6c0c60d94d"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gaf0ab94fd921904e83758dc6c0c60d94d">ratbag_led_get_brightness</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:gaf0ab94fd921904e83758dc6c0c60d94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the LED brightness.  <a href="group__led.html#gaf0ab94fd921904e83758dc6c0c60d94d">More...</a><br /></td></tr>
<tr class="separator:gaf0ab94fd921904e83758dc6c0c60d94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1a6918e0c7d94e5e2166d73ba8dfa5b"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gac1a6918e0c7d94e5e2166d73ba8dfa5b">ratbag_led_set_mode</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led, enum <a class="el" href="group__led.html#gad1be32cfd9fa5b3a423211f11bed67d1">ratbag_led_mode</a> mode)</td></tr>
<tr class="memdesc:gac1a6918e0c7d94e5e2166d73ba8dfa5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">this function sets the LED mode.  <a href="group__led.html#gac1a6918e0c7d94e5e2166d73ba8dfa5b">More...</a><br /></td></tr>
<tr class="separator:gac1a6918e0c7d94e5e2166d73ba8dfa5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed6c3fd08b50338c852f9e2271bdf19d"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gaed6c3fd08b50338c852f9e2271bdf19d">ratbag_led_set_color</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led, struct <a class="el" href="structratbag__color.html">ratbag_color</a> color)</td></tr>
<tr class="memdesc:gaed6c3fd08b50338c852f9e2271bdf19d"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the LED's mode is <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a4ad514c9f66e6de6261b849f2c7bc47f">RATBAG_LED_ON</a> or <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a77a9df31393082ff27cee3361551c26f">RATBAG_LED_BREATHING</a> then this function sets the LED color, otherwise it has no effect.  <a href="group__led.html#gaed6c3fd08b50338c852f9e2271bdf19d">More...</a><br /></td></tr>
<tr class="separator:gaed6c3fd08b50338c852f9e2271bdf19d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c0777440a1b33e864f6513ea8ddbb2e"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#ga5c0777440a1b33e864f6513ea8ddbb2e">ratbag_led_set_effect_rate</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led, unsigned int rate)</td></tr>
<tr class="memdesc:ga5c0777440a1b33e864f6513ea8ddbb2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the LED's mode is <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a1118650e587ec5fac6ae4969b318e640">RATBAG_LED_CYCLE</a> or <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a77a9df31393082ff27cee3361551c26f">RATBAG_LED_BREATHING</a> then this function sets the LED rate in Hz.  <a href="group__led.html#ga5c0777440a1b33e864f6513ea8ddbb2e">More...</a><br /></td></tr>
<tr class="separator:ga5c0777440a1b33e864f6513ea8ddbb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b4f360abe5a0617b26dd47d22a582f9"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#ga1b4f360abe5a0617b26dd47d22a582f9">ratbag_led_set_brightness</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led, unsigned int brightness)</td></tr>
<tr class="memdesc:ga1b4f360abe5a0617b26dd47d22a582f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the LED's mode is <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a1118650e587ec5fac6ae4969b318e640">RATBAG_LED_CYCLE</a> or <a class="el" href="group__led.html#ggad1be32cfd9fa5b3a423211f11bed67d1a77a9df31393082ff27cee3361551c26f">RATBAG_LED_BREATHING</a> then this function sets the LED brightness, otherwise it has no effect.  <a href="group__led.html#ga1b4f360abe5a0617b26dd47d22a582f9">More...</a><br /></td></tr>
<tr class="separator:ga1b4f360abe5a0617b26dd47d22a582f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2651e1b9603d22e7cf003a0ef9273a97"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga2651e1b9603d22e7cf003a0ef9273a97">ratbag_button_set_special</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, enum <a class="el" href="group__button.html#ga8158a0f03a168268ec347f0a96699473">ratbag_button_action_special</a> action)</td></tr>
<tr class="memdesc:ga2651e1b9603d22e7cf003a0ef9273a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the special function assigned to this button.  <a href="group__button.html#ga2651e1b9603d22e7cf003a0ef9273a97">More...</a><br /></td></tr>
<tr class="separator:ga2651e1b9603d22e7cf003a0ef9273a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd6cb74791510fff4b81cdc4ec05dccb"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gacd6cb74791510fff4b81cdc4ec05dccb">ratbag_button_get_key</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, unsigned int *modifiers, size_t *sz)</td></tr>
<tr class="memdesc:gacd6cb74791510fff4b81cdc4ec05dccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">If a button's action is <a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13ae6a8937936a354d2536c55474591b90d">RATBAG_BUTTON_ACTION_TYPE_KEY</a>, this function returns the key or button configured for this button.  <a href="group__button.html#gacd6cb74791510fff4b81cdc4ec05dccb">More...</a><br /></td></tr>
<tr class="separator:gacd6cb74791510fff4b81cdc4ec05dccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c23b964b5d0a4296af343786c128033"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga7c23b964b5d0a4296af343786c128033">ratbag_button_set_key</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, unsigned int key, unsigned int *modifiers, size_t sz)</td></tr>
<tr class="separator:ga7c23b964b5d0a4296af343786c128033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a68272f2ee379d44e1c96ae1096481f"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga7a68272f2ee379d44e1c96ae1096481f">ratbag_button_disable</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="separator:ga7a68272f2ee379d44e1c96ae1096481f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadad04a96fcf421dea448c9dea95b1a39"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gadad04a96fcf421dea448c9dea95b1a39">ratbag_button_macro_get_name</a> (struct ratbag_button_macro *macro)</td></tr>
<tr class="separator:gadad04a96fcf421dea448c9dea95b1a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccdc81330ea5eae6204a670865769e65"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gaccdc81330ea5eae6204a670865769e65">ratbag_button_macro_get_num_events</a> (struct ratbag_button_macro *macro)</td></tr>
<tr class="separator:gaccdc81330ea5eae6204a670865769e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bd7c610e5dfc0d9316be2c9f73e891f"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__button.html#ga212d6f42b701a7795c73a5a1caba02fb">ratbag_macro_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga1bd7c610e5dfc0d9316be2c9f73e891f">ratbag_button_macro_get_event_type</a> (struct ratbag_button_macro *macro, unsigned int index)</td></tr>
<tr class="memdesc:ga1bd7c610e5dfc0d9316be2c9f73e891f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the macro event type configured for the event at the given index.  <a href="group__button.html#ga1bd7c610e5dfc0d9316be2c9f73e891f">More...</a><br /></td></tr>
<tr class="separator:ga1bd7c610e5dfc0d9316be2c9f73e891f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4f923df7f8228334ca202a404df7af3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gaa4f923df7f8228334ca202a404df7af3">ratbag_button_macro_get_event_key</a> (struct ratbag_button_macro *macro, unsigned int index)</td></tr>
<tr class="memdesc:gaa4f923df7f8228334ca202a404df7af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the event stored at the given index is <a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbae037921092a1d9a7cb2e2cea7edd4195">RATBAG_MACRO_EVENT_KEY_PRESSED</a> or <a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbaa48c811d550da53cf698132131fe1d51">RATBAG_MACRO_EVENT_KEY_RELEASED</a>, this function returns the key code configured for the event at the given index.  <a href="group__button.html#gaa4f923df7f8228334ca202a404df7af3">More...</a><br /></td></tr>
<tr class="separator:gaa4f923df7f8228334ca202a404df7af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59bf9309c5c5566c970e24f5e8b00aaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga59bf9309c5c5566c970e24f5e8b00aaa">ratbag_button_macro_get_event_timeout</a> (struct ratbag_button_macro *macro, unsigned int index)</td></tr>
<tr class="memdesc:ga59bf9309c5c5566c970e24f5e8b00aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the event stored at the given index is <a class="el" href="group__button.html#gga212d6f42b701a7795c73a5a1caba02fbaf9b44f200255f432b9cbb9d261fc8a22">RATBAG_MACRO_EVENT_WAIT</a>, this function returns the timeout configured for the event at the given index.  <a href="group__button.html#ga59bf9309c5c5566c970e24f5e8b00aaa">More...</a><br /></td></tr>
<tr class="separator:ga59bf9309c5c5566c970e24f5e8b00aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0171d0aa19b40efc480890440baed39"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gab0171d0aa19b40efc480890440baed39">ratbag_button_set_macro</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button, const struct ratbag_button_macro *macro)</td></tr>
<tr class="memdesc:gab0171d0aa19b40efc480890440baed39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the button's action to <a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13a89b777e45740ba18398c528d85351352">RATBAG_BUTTON_ACTION_TYPE_MACRO</a> and assigns the given macro to this button.  <a href="group__button.html#gab0171d0aa19b40efc480890440baed39">More...</a><br /></td></tr>
<tr class="separator:gab0171d0aa19b40efc480890440baed39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b3efb01e2183e55e6589bc6d1486be9"><td class="memItemLeft" align="right" valign="top">struct ratbag_button_macro *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga4b3efb01e2183e55e6589bc6d1486be9">ratbag_button_macro_new</a> (const char *name)</td></tr>
<tr class="memdesc:ga4b3efb01e2183e55e6589bc6d1486be9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a new button macro.  <a href="group__button.html#ga4b3efb01e2183e55e6589bc6d1486be9">More...</a><br /></td></tr>
<tr class="separator:ga4b3efb01e2183e55e6589bc6d1486be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ac445a5532b67ab03f8447a41881faf"><td class="memItemLeft" align="right" valign="top">struct ratbag_button_macro *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga7ac445a5532b67ab03f8447a41881faf">ratbag_button_get_macro</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:ga7ac445a5532b67ab03f8447a41881faf"><td class="mdescLeft">&#160;</td><td class="mdescRight">If a button's action is <a class="el" href="group__button.html#gga9f5b77ec6305b4371baea749105bec13a89b777e45740ba18398c528d85351352">RATBAG_BUTTON_ACTION_TYPE_MACRO</a>, this function returns the current button macro.  <a href="group__button.html#ga7ac445a5532b67ab03f8447a41881faf">More...</a><br /></td></tr>
<tr class="separator:ga7ac445a5532b67ab03f8447a41881faf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f7b7270177e9da69b9fdf8d72034f4a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__base.html#ga778f6aa9aeee462860007415895baec1">ratbag_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga8f7b7270177e9da69b9fdf8d72034f4a">ratbag_button_macro_set_event</a> (struct ratbag_button_macro *macro, unsigned int index, enum <a class="el" href="group__button.html#ga212d6f42b701a7795c73a5a1caba02fb">ratbag_macro_event_type</a> type, unsigned int data)</td></tr>
<tr class="memdesc:ga8f7b7270177e9da69b9fdf8d72034f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the macro's event at the given index to the given type with the key code or timeout given.  <a href="group__button.html#ga8f7b7270177e9da69b9fdf8d72034f4a">More...</a><br /></td></tr>
<tr class="separator:ga8f7b7270177e9da69b9fdf8d72034f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6937bdc91d208ac46b91966c34205879"><td class="memItemLeft" align="right" valign="top">struct ratbag_button_macro *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga6937bdc91d208ac46b91966c34205879">ratbag_button_macro_ref</a> (struct ratbag_button_macro *macro)</td></tr>
<tr class="memdesc:ga6937bdc91d208ac46b91966c34205879"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the macro.  <a href="group__button.html#ga6937bdc91d208ac46b91966c34205879">More...</a><br /></td></tr>
<tr class="separator:ga6937bdc91d208ac46b91966c34205879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf57897e6fc96fc6ff321c244b501f752"><td class="memItemLeft" align="right" valign="top">struct ratbag_button_macro *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gaf57897e6fc96fc6ff321c244b501f752">ratbag_button_macro_unref</a> (struct ratbag_button_macro *macro)</td></tr>
<tr class="memdesc:gaf57897e6fc96fc6ff321c244b501f752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag button macro.  <a href="group__button.html#gaf57897e6fc96fc6ff321c244b501f752">More...</a><br /></td></tr>
<tr class="separator:gaf57897e6fc96fc6ff321c244b501f752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbe158e5e95c8efb524406d2b9c6b4eb"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__button.html">ratbag_button</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#gacbe158e5e95c8efb524406d2b9c6b4eb">ratbag_button_ref</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:gacbe158e5e95c8efb524406d2b9c6b4eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the button.  <a href="group__button.html#gacbe158e5e95c8efb524406d2b9c6b4eb">More...</a><br /></td></tr>
<tr class="separator:gacbe158e5e95c8efb524406d2b9c6b4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga259f5ad3d0566bec161c48a285a0206e"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__button.html">ratbag_button</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga259f5ad3d0566bec161c48a285a0206e">ratbag_button_unref</a> (struct <a class="el" href="structratbag__button.html">ratbag_button</a> *button)</td></tr>
<tr class="memdesc:ga259f5ad3d0566bec161c48a285a0206e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag button.  <a href="group__button.html#ga259f5ad3d0566bec161c48a285a0206e">More...</a><br /></td></tr>
<tr class="separator:ga259f5ad3d0566bec161c48a285a0206e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba42b8fbbcabb3756a7c76bf3129b028"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__led.html">ratbag_led</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gaba42b8fbbcabb3756a7c76bf3129b028">ratbag_led_ref</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:gaba42b8fbbcabb3756a7c76bf3129b028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a reference to the led.  <a href="group__led.html#gaba42b8fbbcabb3756a7c76bf3129b028">More...</a><br /></td></tr>
<tr class="separator:gaba42b8fbbcabb3756a7c76bf3129b028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5cd5a96754b67cd3bc542cb5775d260"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structratbag__led.html">ratbag_led</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__led.html#gab5cd5a96754b67cd3bc542cb5775d260">ratbag_led_unref</a> (struct <a class="el" href="structratbag__led.html">ratbag_led</a> *led)</td></tr>
<tr class="memdesc:gab5cd5a96754b67cd3bc542cb5775d260"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the ratbag led.  <a href="group__led.html#gab5cd5a96754b67cd3bc542cb5775d260">More...</a><br /></td></tr>
<tr class="separator:gab5cd5a96754b67cd3bc542cb5775d260"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a87f8b098530f550588a6dc63bffcc68a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87f8b098530f550588a6dc63bffcc68a">&#9670;&nbsp;</a></span>LIBRATBAG_ATTRIBUTE_DEPRECATED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBRATBAG_ATTRIBUTE_DEPRECATED</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab2787026c82761eee155214ad8d5e54c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2787026c82761eee155214ad8d5e54c">&#9670;&nbsp;</a></span>LIBRATBAG_ATTRIBUTE_PRINTF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBRATBAG_ATTRIBUTE_PRINTF</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">_format, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">_args&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a4d5d0b9251bde32091d278b4f2cde0f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d5d0b9251bde32091d278b4f2cde0f3">&#9670;&nbsp;</a></span>ratbag_resolution_capability</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="libratbag_8h.html#a4d5d0b9251bde32091d278b4f2cde0f3">ratbag_resolution_capability</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4d5d0b9251bde32091d278b4f2cde0f3a7ba0b0c4048bd5315f4eda12a4cd4342"></a>RATBAG_RESOLUTION_CAP_INDIVIDUAL_REPORT_RATE&#160;</td><td class="fielddoc"><p>The report rate can be set per resolution mode. </p>
<p>If this property is not available, all resolutions within the same profile have the same report rate and changing one changes the others. </p>
</td></tr>
<tr><td class="fieldname"><a id="a4d5d0b9251bde32091d278b4f2cde0f3a99ee14f4fe1f3a571316e1c8c3068ed6"></a>RATBAG_RESOLUTION_CAP_SEPARATE_XY_RESOLUTION&#160;</td><td class="fielddoc"><p>The resolution can be set for x and y separately. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jan 10 2018 18:56:06 for libratbag by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>