libevdev
0.5
A wrapper library for evdev devices
Main Page
Related Pages
Modules
Files
File List
Globals
All
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libevdev
libevdev.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013 Red Hat, Inc.
3
*
4
* Permission to use, copy, modify, distribute, and sell this software and its
5
* documentation for any purpose is hereby granted without fee, provided that
6
* the above copyright notice appear in all copies and that both that copyright
7
* notice and this permission notice appear in supporting documentation, and
8
* that the name of the copyright holders not be used in advertising or
9
* publicity pertaining to distribution of the software without specific,
10
* written prior permission. The copyright holders make no representations
11
* about the suitability of this software for any purpose. It is provided "as
12
* is" without express or implied warranty.
13
*
14
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20
* OF THIS SOFTWARE.
21
*/
22
23
#ifndef LIBEVDEV_H
24
#define LIBEVDEV_H
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
#include <linux/input.h>
31
#include <stdarg.h>
32
345
struct
libevdev;
346
350
enum
libevdev_read_flag
{
351
LIBEVDEV_READ_FLAG_SYNC
= 1,
352
LIBEVDEV_READ_FLAG_NORMAL
= 2,
353
LIBEVDEV_READ_FLAG_FORCE_SYNC
= 4,
355
LIBEVDEV_READ_FLAG_BLOCKING
= 8,
357
};
358
373
struct
libevdev*
libevdev_new
(
void
);
374
397
int
libevdev_new_from_fd
(
int
fd,
struct
libevdev **dev);
398
409
void
libevdev_free
(
struct
libevdev *dev);
410
414
enum
libevdev_log_priority
{
415
LIBEVDEV_LOG_ERROR
= 10,
416
LIBEVDEV_LOG_INFO
= 20,
417
LIBEVDEV_LOG_DEBUG
= 30,
418
};
419
436
typedef
void (*
libevdev_log_func_t
)(
enum
libevdev_log_priority
priority,
437
void
*data,
438
const
char
*file,
int
line,
439
const
char
*func,
440
const
char
*format, va_list args);
441
454
void
libevdev_set_log_function
(
libevdev_log_func_t
logfunc,
void
*data);
455
466
void
libevdev_set_log_priority
(
enum
libevdev_log_priority
priority);
467
473
enum
libevdev_log_priority
libevdev_get_log_priority
(
void
);
474
478
enum
libevdev_grab_mode
{
479
LIBEVDEV_GRAB
= 3,
480
LIBEVDEV_UNGRAB
= 4,
481
};
482
501
int
libevdev_grab
(
struct
libevdev *dev,
enum
libevdev_grab_mode
grab);
502
526
int
libevdev_set_fd
(
struct
libevdev* dev,
int
fd);
527
552
int
libevdev_change_fd
(
struct
libevdev* dev,
int
fd);
553
562
int
libevdev_get_fd
(
const
struct
libevdev* dev);
563
564
568
enum
libevdev_read_status
{
575
LIBEVDEV_READ_STATUS_SUCCESS
= 0,
584
LIBEVDEV_READ_STATUS_SYNC
= 1,
585
};
620
int
libevdev_next_event
(
struct
libevdev *dev,
unsigned
int
flags,
struct
input_event *ev);
621
644
int
libevdev_has_event_pending
(
struct
libevdev *dev);
645
656
const
char
*
libevdev_get_name
(
const
struct
libevdev *dev);
657
667
void
libevdev_set_name
(
struct
libevdev *dev,
const
char
*name);
668
680
const
char
*
libevdev_get_phys
(
const
struct
libevdev *dev);
681
691
void
libevdev_set_phys
(
struct
libevdev *dev,
const
char
*phys);
692
702
const
char
*
libevdev_get_uniq
(
const
struct
libevdev *dev);
703
713
void
libevdev_set_uniq
(
struct
libevdev *dev,
const
char
*uniq);
714
724
int
libevdev_get_id_product
(
const
struct
libevdev *dev);
725
735
void
libevdev_set_id_product
(
struct
libevdev *dev,
int
product_id);
736
746
int
libevdev_get_id_vendor
(
const
struct
libevdev *dev);
747
757
void
libevdev_set_id_vendor
(
struct
libevdev *dev,
int
vendor_id);
758
768
int
libevdev_get_id_bustype
(
const
struct
libevdev *dev);
769
779
void
libevdev_set_id_bustype
(
struct
libevdev *dev,
int
bustype);
780
790
int
libevdev_get_id_version
(
const
struct
libevdev *dev);
791
801
void
libevdev_set_id_version
(
struct
libevdev *dev,
int
version);
802
812
int
libevdev_get_driver_version
(
const
struct
libevdev *dev);
813
824
int
libevdev_has_property
(
const
struct
libevdev *dev,
unsigned
int
prop);
825
837
int
libevdev_enable_property
(
struct
libevdev *dev,
unsigned
int
prop);
838
849
int
libevdev_has_event_type
(
const
struct
libevdev *dev,
unsigned
int
type);
850
862
int
libevdev_has_event_code
(
const
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code);
863
874
int
libevdev_get_abs_minimum
(
const
struct
libevdev *dev,
unsigned
int
code);
885
int
libevdev_get_abs_maximum
(
const
struct
libevdev *dev,
unsigned
int
code);
896
int
libevdev_get_abs_fuzz
(
const
struct
libevdev *dev,
unsigned
int
code);
907
int
libevdev_get_abs_flat
(
const
struct
libevdev *dev,
unsigned
int
code);
918
int
libevdev_get_abs_resolution
(
const
struct
libevdev *dev,
unsigned
int
code);
919
931
const
struct
input_absinfo*
libevdev_get_abs_info
(
const
struct
libevdev *dev,
unsigned
int
code);
932
955
int
libevdev_get_event_value
(
const
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code);
956
983
int
libevdev_set_event_value
(
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code,
int
value);
984
1010
int
libevdev_fetch_event_value
(
const
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code,
int
*value);
1011
1032
int
libevdev_get_slot_value
(
const
struct
libevdev *dev,
unsigned
int
slot,
unsigned
int
code);
1033
1060
int
libevdev_set_slot_value
(
struct
libevdev *dev,
unsigned
int
slot,
unsigned
int
code,
int
value);
1061
1087
int
libevdev_fetch_slot_value
(
const
struct
libevdev *dev,
unsigned
int
slot,
unsigned
int
code,
int
*value);
1088
1102
int
libevdev_get_num_slots
(
const
struct
libevdev *dev);
1103
1117
int
libevdev_get_current_slot
(
const
struct
libevdev *dev);
1118
1126
void
libevdev_set_abs_minimum
(
struct
libevdev *dev,
unsigned
int
code,
int
min);
1127
1135
void
libevdev_set_abs_maximum
(
struct
libevdev *dev,
unsigned
int
code,
int
max);
1136
1144
void
libevdev_set_abs_fuzz
(
struct
libevdev *dev,
unsigned
int
code,
int
fuzz);
1145
1153
void
libevdev_set_abs_flat
(
struct
libevdev *dev,
unsigned
int
code,
int
flat);
1154
1162
void
libevdev_set_abs_resolution
(
struct
libevdev *dev,
unsigned
int
code,
int
resolution);
1163
1171
void
libevdev_set_abs_info
(
struct
libevdev *dev,
unsigned
int
code,
const
struct
input_absinfo *abs);
1172
1190
int
libevdev_enable_event_type
(
struct
libevdev *dev,
unsigned
int
type);
1191
1218
int
libevdev_disable_event_type
(
struct
libevdev *dev,
unsigned
int
type);
1219
1247
int
libevdev_enable_event_code
(
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code,
const
void
*data);
1248
1276
int
libevdev_disable_event_code
(
struct
libevdev *dev,
unsigned
int
type,
unsigned
int
code);
1277
1292
int
libevdev_kernel_set_abs_info
(
struct
libevdev *dev,
unsigned
int
code,
const
struct
input_absinfo *abs);
1293
1294
1298
enum
libevdev_led_value
{
1299
LIBEVDEV_LED_ON
= 3,
1300
LIBEVDEV_LED_OFF
= 4,
1301
};
1302
1316
int
libevdev_kernel_set_led_value
(
struct
libevdev *dev,
unsigned
int
code,
enum
libevdev_led_value
value);
1317
1341
int
libevdev_kernel_set_led_values
(
struct
libevdev *dev, ...);
1342
1357
int
libevdev_set_clock_id
(
struct
libevdev *dev,
int
clockid);
1358
1380
int
libevdev_event_is_type
(
const
struct
input_event *ev,
unsigned
int
type);
1381
1405
int
libevdev_event_is_code
(
const
struct
input_event *ev,
unsigned
int
type,
unsigned
int
code);
1406
1418
const
char
*
libevdev_event_type_get_name
(
unsigned
int
type);
1431
const
char
*
libevdev_event_code_get_name
(
unsigned
int
type,
unsigned
int
code);
1432
1446
const
char
*
libevdev_property_get_name
(
unsigned
int
prop);
1447
1460
int
libevdev_event_type_get_max
(
unsigned
int
type);
1461
1476
int
libevdev_event_type_from_name
(
const
char
*name);
1477
1494
int
libevdev_event_type_from_name_n
(
const
char
*name,
size_t
len);
1495
1515
int
libevdev_event_code_from_name
(
unsigned
int
type,
const
char
*name);
1516
1538
int
libevdev_event_code_from_name_n
(
unsigned
int
type,
const
char
*name,
1539
size_t
len);
1540
1554
int
libevdev_get_repeat
(
struct
libevdev *dev,
int
*delay,
int
*period);
1555
1556
1557
/********* DEPRECATED SECTION *********/
1558
#if defined(__GNUC__) && __GNUC__ >= 4
1559
#define LIBEVDEV_DEPRECATED __attribute__ ((deprecated))
1560
#else
1561
#define LIBEVDEV_DEPRECATED
1562
#endif
1563
1564
LIBEVDEV_DEPRECATED
extern
const
enum
libevdev_read_flag
LIBEVDEV_READ_SYNC
;
1565
LIBEVDEV_DEPRECATED
extern
const
enum
libevdev_read_flag
LIBEVDEV_READ_NORMAL
;
1566
LIBEVDEV_DEPRECATED
extern
const
enum
libevdev_read_flag
LIBEVDEV_FORCE_SYNC
;
1567
LIBEVDEV_DEPRECATED
extern
const
enum
libevdev_read_flag
LIBEVDEV_READ_BLOCKING
;
1568
1569
/* replacement: libevdev_kernel_set_abs_info */
1570
int
libevdev_kernel_set_abs_value
(
struct
libevdev *dev,
unsigned
int
code,
const
struct
input_absinfo *abs)
LIBEVDEV_DEPRECATED
;
1571
1572
1573
/* replacement: libevdev_set_log_function */
1574
void
libevdev_set_log_handler
(
struct
libevdev *dev,
libevdev_log_func_t
logfunc)
LIBEVDEV_DEPRECATED
;
1575
1577
int
libevdev_get_event_type_max
(
unsigned
int
type)
LIBEVDEV_DEPRECATED
;
1578
1580
const
char
*
libevdev_get_property_name
(
unsigned
int
prop)
LIBEVDEV_DEPRECATED
;
1581
1583
const
char
*
libevdev_get_event_type_name
(
unsigned
int
type)
LIBEVDEV_DEPRECATED
;
1585
const
char
*
libevdev_get_event_code_name
(
unsigned
int
type,
unsigned
int
code)
LIBEVDEV_DEPRECATED
;
1586
1588
int
libevdev_is_event_type
(
const
struct
input_event *ev,
unsigned
int
type)
LIBEVDEV_DEPRECATED
;
1589
1591
int
libevdev_is_event_code
(
const
struct
input_event *ev,
unsigned
int
type,
unsigned
int
code)
LIBEVDEV_DEPRECATED
;
1592
/**************************************/
1593
1594
#ifdef __cplusplus
1595
}
1596
#endif
1597
1598
#endif
/* LIBEVDEV_H */
Generated on Fri Nov 22 2013 09:49:53 for libevdev by
1.8.3.1