libevdev.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
2 /*
3 * Copyright © 2013 Red Hat, Inc.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to
7 * deal in the Software without restriction, including without limitation the
8 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9 * sell copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22 * IN THE SOFTWARE.
23 *
24 */
25
26 #ifndef LIBEVDEV_H
27 #define LIBEVDEV_H
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #include <linux/input.h>
34 #include <stdarg.h>
35
36 #define LIBEVDEV_ATTRIBUTE_PRINTF(_format, _args) __attribute__ ((format (printf, _format, _args)))
37
755 struct libevdev;
756
760 enum libevdev_read_flag {
761 LIBEVDEV_READ_FLAG_SYNC = 1,
762 LIBEVDEV_READ_FLAG_NORMAL = 2,
763 LIBEVDEV_READ_FLAG_FORCE_SYNC = 4,
765 LIBEVDEV_READ_FLAG_BLOCKING = 8
766 };
767
782 struct libevdev* libevdev_new(void);
783
806 int libevdev_new_from_fd(int fd, struct libevdev **dev);
807
821 void libevdev_free(struct libevdev *dev);
822
826 enum libevdev_log_priority {
827 LIBEVDEV_LOG_ERROR = 10,
828 LIBEVDEV_LOG_INFO = 20,
829 LIBEVDEV_LOG_DEBUG = 30
830 };
831
848 typedef void (*libevdev_log_func_t)(enum libevdev_log_priority priority,
849 void *data,
850 const char *file, int line,
851 const char *func,
852 const char *format, va_list args)
853 LIBEVDEV_ATTRIBUTE_PRINTF(6, 0);
854
873 void libevdev_set_log_function(libevdev_log_func_t logfunc, void *data);
874
887 void libevdev_set_log_priority(enum libevdev_log_priority priority);
888
900 enum libevdev_log_priority libevdev_get_log_priority(void);
901
921 typedef void (*libevdev_device_log_func_t)(const struct libevdev *dev,
922 enum libevdev_log_priority priority,
923 void *data,
924 const char *file, int line,
925 const char *func,
926 const char *format, va_list args)
927 LIBEVDEV_ATTRIBUTE_PRINTF(7, 0);
928
950 void libevdev_set_device_log_function(struct libevdev *dev,
951 libevdev_device_log_func_t logfunc,
952 enum libevdev_log_priority priority,
953 void *data);
954
958 enum libevdev_grab_mode {
959 LIBEVDEV_GRAB = 3,
960 LIBEVDEV_UNGRAB = 4
961 };
962
985 int libevdev_grab(struct libevdev *dev, enum libevdev_grab_mode grab);
986
1019 int libevdev_set_fd(struct libevdev* dev, int fd);
1020
1059 int libevdev_change_fd(struct libevdev* dev, int fd);
1060
1069 int libevdev_get_fd(const struct libevdev* dev);
1070
1074 enum libevdev_read_status {
1081 LIBEVDEV_READ_STATUS_SUCCESS = 0,
1090 LIBEVDEV_READ_STATUS_SYNC = 1
1091 };
1092
1143 int libevdev_next_event(struct libevdev *dev, unsigned int flags, struct input_event *ev);
1144
1167 int libevdev_has_event_pending(struct libevdev *dev);
1168
1183 const char* libevdev_get_name(const struct libevdev *dev);
1184
1198 void libevdev_set_name(struct libevdev *dev, const char *name);
1199
1215 const char * libevdev_get_phys(const struct libevdev *dev);
1216
1230 void libevdev_set_phys(struct libevdev *dev, const char *phys);
1231
1245 const char * libevdev_get_uniq(const struct libevdev *dev);
1246
1260 void libevdev_set_uniq(struct libevdev *dev, const char *uniq);
1261
1271 int libevdev_get_id_product(const struct libevdev *dev);
1272
1284 void libevdev_set_id_product(struct libevdev *dev, int product_id);
1285
1295 int libevdev_get_id_vendor(const struct libevdev *dev);
1296
1308 void libevdev_set_id_vendor(struct libevdev *dev, int vendor_id);
1309
1319 int libevdev_get_id_bustype(const struct libevdev *dev);
1320
1332 void libevdev_set_id_bustype(struct libevdev *dev, int bustype);
1333
1343 int libevdev_get_id_version(const struct libevdev *dev);
1344
1356 void libevdev_set_id_version(struct libevdev *dev, int version);
1357
1367 int libevdev_get_driver_version(const struct libevdev *dev);
1368
1379 int libevdev_has_property(const struct libevdev *dev, unsigned int prop);
1380
1392 int libevdev_enable_property(struct libevdev *dev, unsigned int prop);
1393
1402 int libevdev_disable_property(struct libevdev *dev, unsigned int prop);
1403
1414 int libevdev_has_event_type(const struct libevdev *dev, unsigned int type);
1415
1427 int libevdev_has_event_code(const struct libevdev *dev, unsigned int type, unsigned int code);
1428
1441 int libevdev_get_abs_minimum(const struct libevdev *dev, unsigned int code);
1442
1455 int libevdev_get_abs_maximum(const struct libevdev *dev, unsigned int code);
1456
1469 int libevdev_get_abs_fuzz(const struct libevdev *dev, unsigned int code);
1470
1483 int libevdev_get_abs_flat(const struct libevdev *dev, unsigned int code);
1484
1497 int libevdev_get_abs_resolution(const struct libevdev *dev, unsigned int code);
1498
1512 const struct input_absinfo* libevdev_get_abs_info(const struct libevdev *dev, unsigned int code);
1513
1535 int libevdev_get_event_value(const struct libevdev *dev, unsigned int type, unsigned int code);
1536
1571 int libevdev_set_event_value(struct libevdev *dev, unsigned int type, unsigned int code, int value);
1572
1598 int libevdev_fetch_event_value(const struct libevdev *dev, unsigned int type, unsigned int code, int *value);
1599
1620 int libevdev_get_slot_value(const struct libevdev *dev, unsigned int slot, unsigned int code);
1621
1650 int libevdev_set_slot_value(struct libevdev *dev, unsigned int slot, unsigned int code, int value);
1651
1677 int libevdev_fetch_slot_value(const struct libevdev *dev, unsigned int slot, unsigned int code, int *value);
1678
1692 int libevdev_get_num_slots(const struct libevdev *dev);
1693
1709 int libevdev_get_current_slot(const struct libevdev *dev);
1710
1722 void libevdev_set_abs_minimum(struct libevdev *dev, unsigned int code, int val);
1723
1735 void libevdev_set_abs_maximum(struct libevdev *dev, unsigned int code, int val);
1736
1748 void libevdev_set_abs_fuzz(struct libevdev *dev, unsigned int code, int val);
1749
1761 void libevdev_set_abs_flat(struct libevdev *dev, unsigned int code, int val);
1762
1774 void libevdev_set_abs_resolution(struct libevdev *dev, unsigned int code, int val);
1775
1787 void libevdev_set_abs_info(struct libevdev *dev, unsigned int code, const struct input_absinfo *abs);
1788
1806 int libevdev_enable_event_type(struct libevdev *dev, unsigned int type);
1807
1834 int libevdev_disable_event_type(struct libevdev *dev, unsigned int type);
1835
1869 int libevdev_enable_event_code(struct libevdev *dev, unsigned int type, unsigned int code, const void *data);
1870
1898 int libevdev_disable_event_code(struct libevdev *dev, unsigned int type, unsigned int code);
1899
1914 int libevdev_kernel_set_abs_info(struct libevdev *dev, unsigned int code, const struct input_absinfo *abs);
1915
1919 enum libevdev_led_value {
1920 LIBEVDEV_LED_ON = 3,
1921 LIBEVDEV_LED_OFF = 4
1922 };
1923
1937 int libevdev_kernel_set_led_value(struct libevdev *dev, unsigned int code, enum libevdev_led_value value);
1938
1962 int libevdev_kernel_set_led_values(struct libevdev *dev, ...);
1963
1978 int libevdev_set_clock_id(struct libevdev *dev, int clockid);
1979
2001 int libevdev_event_is_type(const struct input_event *ev, unsigned int type);
2002
2026 int libevdev_event_is_code(const struct input_event *ev, unsigned int type, unsigned int code);
2027
2039 const char * libevdev_event_type_get_name(unsigned int type);
2052 const char * libevdev_event_code_get_name(unsigned int type, unsigned int code);
2053
2074 const char * libevdev_event_value_get_name(unsigned int type,
2075 unsigned int code,
2076 int value);
2090 const char* libevdev_property_get_name(unsigned int prop);
2091
2104 int libevdev_event_type_get_max(unsigned int type);
2105
2120 int libevdev_event_type_from_name(const char *name);
2121
2138 int libevdev_event_type_from_name_n(const char *name, size_t len);
2139
2159 int libevdev_event_code_from_name(unsigned int type, const char *name);
2160
2182 int libevdev_event_code_from_name_n(unsigned int type, const char *name,
2183 size_t len);
2184
2206 int libevdev_event_value_from_name(unsigned int type, unsigned int code,
2207 const char *name);
2208
2225 int
2226 libevdev_event_type_from_code_name(const char *name);
2227
2246 int
2247 libevdev_event_type_from_code_name_n(const char *name, size_t len);
2248
2265 int
2266 libevdev_event_code_from_code_name(const char *name);
2267
2286 int
2287 libevdev_event_code_from_code_name_n(const char *name, size_t len);
2288
2312 int libevdev_event_value_from_name_n(unsigned int type, unsigned int code,
2313 const char *name, size_t len);
2314
2327 int libevdev_property_from_name(const char *name);
2328
2343 int libevdev_property_from_name_n(const char *name, size_t len);
2344
2362 int libevdev_get_repeat(const struct libevdev *dev, int *delay, int *period);
2363
2364 /********* DEPRECATED SECTION *********/
2365 #if defined(__GNUC__) && __GNUC__ >= 4
2366 #define LIBEVDEV_DEPRECATED __attribute__ ((deprecated))
2367 #else
2368 #define LIBEVDEV_DEPRECATED
2369 #endif
2370
2371 #ifdef __cplusplus
2372 }
2373 #endif
2374
2375 #endif /* LIBEVDEV_H */
libevdev_get_id_vendor
int libevdev_get_id_vendor(const struct libevdev *dev)
libevdev_fetch_event_value
int libevdev_fetch_event_value(const struct libevdev *dev, unsigned int type, unsigned int code, int *value)
Fetch the current value of the event type.
libevdev_get_abs_fuzz
int libevdev_get_abs_fuzz(const struct libevdev *dev, unsigned int code)
Get the axis fuzz for the given axis, as advertised by the kernel.
libevdev_get_id_product
int libevdev_get_id_product(const struct libevdev *dev)
libevdev_get_driver_version
int libevdev_get_driver_version(const struct libevdev *dev)
libevdev_has_property
int libevdev_has_property(const struct libevdev *dev, unsigned int prop)
libevdev_has_event_type
int libevdev_has_event_type(const struct libevdev *dev, unsigned int type)
libevdev_get_abs_minimum
int libevdev_get_abs_minimum(const struct libevdev *dev, unsigned int code)
Get the minimum axis value for the given axis, as advertised by the kernel.
libevdev_get_phys
const char * libevdev_get_phys(const struct libevdev *dev)
Retrieve the device's physical location, either as set by the caller or as read from the kernel.
libevdev_get_event_value
int libevdev_get_event_value(const struct libevdev *dev, unsigned int type, unsigned int code)
Behaviour of this function is undefined if the device does not provide the event.
libevdev_get_abs_flat
int libevdev_get_abs_flat(const struct libevdev *dev, unsigned int code)
Get the axis flat for the given axis, as advertised by the kernel.
libevdev_get_abs_info
const struct input_absinfo * libevdev_get_abs_info(const struct libevdev *dev, unsigned int code)
Get the axis info for the given axis, as advertised by the kernel.
libevdev_get_uniq
const char * libevdev_get_uniq(const struct libevdev *dev)
Retrieve the device's unique identifier, either as set by the caller or as read from the kernel.
libevdev_get_abs_resolution
int libevdev_get_abs_resolution(const struct libevdev *dev, unsigned int code)
Get the axis resolution for the given axis, as advertised by the kernel.
libevdev_get_id_version
int libevdev_get_id_version(const struct libevdev *dev)
libevdev_get_abs_maximum
int libevdev_get_abs_maximum(const struct libevdev *dev, unsigned int code)
Get the maximum axis value for the given axis, as advertised by the kernel.
libevdev_get_id_bustype
int libevdev_get_id_bustype(const struct libevdev *dev)
libevdev_has_event_code
int libevdev_has_event_code(const struct libevdev *dev, unsigned int type, unsigned int code)
libevdev_get_name
const char * libevdev_get_name(const struct libevdev *dev)
Retrieve the device's name, either as set by the caller or as read from the kernel.
libevdev_get_repeat
int libevdev_get_repeat(const struct libevdev *dev, int *delay, int *period)
Get the repeat delay and repeat period values for this device.
libevdev_read_status
libevdev_read_status
Definition: libevdev.h:1074
libevdev_read_flag
libevdev_read_flag
Definition: libevdev.h:760
libevdev_next_event
int libevdev_next_event(struct libevdev *dev, unsigned int flags, struct input_event *ev)
Get the next event from the device.
libevdev_has_event_pending
int libevdev_has_event_pending(struct libevdev *dev)
Check if there are events waiting for us.
LIBEVDEV_READ_STATUS_SYNC
@ LIBEVDEV_READ_STATUS_SYNC
Depending on the libevdev_next_event() read flag:
Definition: libevdev.h:1090
LIBEVDEV_READ_STATUS_SUCCESS
@ LIBEVDEV_READ_STATUS_SUCCESS
libevdev_next_event() has finished without an error and an event is available for processing.
Definition: libevdev.h:1081
LIBEVDEV_READ_FLAG_BLOCKING
@ LIBEVDEV_READ_FLAG_BLOCKING
The fd is not in O_NONBLOCK and a read may block.
Definition: libevdev.h:765
LIBEVDEV_READ_FLAG_SYNC
@ LIBEVDEV_READ_FLAG_SYNC
Process data in sync mode.
Definition: libevdev.h:761
LIBEVDEV_READ_FLAG_FORCE_SYNC
@ LIBEVDEV_READ_FLAG_FORCE_SYNC
Pretend the next event is a SYN_DROPPED and require the caller to sync.
Definition: libevdev.h:763
LIBEVDEV_READ_FLAG_NORMAL
@ LIBEVDEV_READ_FLAG_NORMAL
Process data in normal mode.
Definition: libevdev.h:762
libevdev_new
struct libevdev * libevdev_new(void)
Initialize a new libevdev device.
libevdev_grab
int libevdev_grab(struct libevdev *dev, enum libevdev_grab_mode grab)
Grab or ungrab the device through a kernel EVIOCGRAB.
libevdev_set_fd
int libevdev_set_fd(struct libevdev *dev, int fd)
Set the fd for this struct and initialize internal data.
libevdev_new_from_fd
int libevdev_new_from_fd(int fd, struct libevdev **dev)
Initialize a new libevdev device from the given fd.
libevdev_grab_mode
libevdev_grab_mode
Definition: libevdev.h:958
libevdev_get_fd
int libevdev_get_fd(const struct libevdev *dev)
libevdev_change_fd
int libevdev_change_fd(struct libevdev *dev, int fd)
Change the fd for this device, without re-reading the actual device.
libevdev_free
void libevdev_free(struct libevdev *dev)
Clean up and free the libevdev struct.
LIBEVDEV_UNGRAB
@ LIBEVDEV_UNGRAB
Ungrab the device if currently grabbed.
Definition: libevdev.h:960
LIBEVDEV_GRAB
@ LIBEVDEV_GRAB
Grab the device if not currently grabbed.
Definition: libevdev.h:959
libevdev_set_slot_value
int libevdev_set_slot_value(struct libevdev *dev, unsigned int slot, unsigned int code, int value)
Set the value for a given code for the given slot.
libevdev_set_abs_resolution
void libevdev_set_abs_resolution(struct libevdev *dev, unsigned int code, int val)
Change the resolution for the given EV_ABS event code, if the code exists.
libevdev_set_abs_maximum
void libevdev_set_abs_maximum(struct libevdev *dev, unsigned int code, int val)
Change the maximum for the given EV_ABS event code, if the code exists.
libevdev_set_clock_id
int libevdev_set_clock_id(struct libevdev *dev, int clockid)
Set the clock ID to be used for timestamps.
libevdev_kernel_set_abs_info
int libevdev_kernel_set_abs_info(struct libevdev *dev, unsigned int code, const struct input_absinfo *abs)
Set the device's EV_ABS axis to the value defined in the abs parameter.
libevdev_set_uniq
void libevdev_set_uniq(struct libevdev *dev, const char *uniq)
Change the device's unique identifier as returned by libevdev_get_uniq().
libevdev_enable_event_code
int libevdev_enable_event_code(struct libevdev *dev, unsigned int type, unsigned int code, const void *data)
Forcibly enable an event code on this device, even if the underlying device does not support it.
libevdev_enable_event_type
int libevdev_enable_event_type(struct libevdev *dev, unsigned int type)
Forcibly enable an event type on this device, even if the underlying device does not support it.
libevdev_disable_event_code
int libevdev_disable_event_code(struct libevdev *dev, unsigned int type, unsigned int code)
Forcibly disable an event code on this device, even if the underlying device provides it.
libevdev_set_id_product
void libevdev_set_id_product(struct libevdev *dev, int product_id)
libevdev_set_event_value
int libevdev_set_event_value(struct libevdev *dev, unsigned int type, unsigned int code, int value)
Set the value for a given event type and code.
libevdev_led_value
libevdev_led_value
Definition: libevdev.h:1919
libevdev_set_id_vendor
void libevdev_set_id_vendor(struct libevdev *dev, int vendor_id)
libevdev_disable_property
int libevdev_disable_property(struct libevdev *dev, unsigned int prop)
libevdev_kernel_set_led_values
int libevdev_kernel_set_led_values(struct libevdev *dev,...)
Turn multiple LEDs on or off simultaneously.
libevdev_set_abs_fuzz
void libevdev_set_abs_fuzz(struct libevdev *dev, unsigned int code, int val)
Change the fuzz for the given EV_ABS event code, if the code exists.
libevdev_kernel_set_led_value
int libevdev_kernel_set_led_value(struct libevdev *dev, unsigned int code, enum libevdev_led_value value)
Turn an LED on or off.
libevdev_disable_event_type
int libevdev_disable_event_type(struct libevdev *dev, unsigned int type)
Forcibly disable an event type on this device, even if the underlying device provides it.
libevdev_set_abs_flat
void libevdev_set_abs_flat(struct libevdev *dev, unsigned int code, int val)
Change the flat for the given EV_ABS event code, if the code exists.
libevdev_set_abs_minimum
void libevdev_set_abs_minimum(struct libevdev *dev, unsigned int code, int val)
Change the minimum for the given EV_ABS event code, if the code exists.
libevdev_set_phys
void libevdev_set_phys(struct libevdev *dev, const char *phys)
Change the device's physical location as returned by libevdev_get_phys().
libevdev_set_name
void libevdev_set_name(struct libevdev *dev, const char *name)
Change the device's name as returned by libevdev_get_name().
libevdev_set_id_version
void libevdev_set_id_version(struct libevdev *dev, int version)
libevdev_set_id_bustype
void libevdev_set_id_bustype(struct libevdev *dev, int bustype)
libevdev_enable_property
int libevdev_enable_property(struct libevdev *dev, unsigned int prop)
libevdev_set_abs_info
void libevdev_set_abs_info(struct libevdev *dev, unsigned int code, const struct input_absinfo *abs)
Change the abs info for the given EV_ABS event code, if the code exists.
LIBEVDEV_LED_OFF
@ LIBEVDEV_LED_OFF
Turn the LED off.
Definition: libevdev.h:1921
LIBEVDEV_LED_ON
@ LIBEVDEV_LED_ON
Turn the LED on.
Definition: libevdev.h:1920
libevdev_log_priority
libevdev_log_priority
Definition: libevdev.h:826
libevdev_get_log_priority
enum libevdev_log_priority libevdev_get_log_priority(void)
Return the current log priority level.
libevdev_set_device_log_function
void libevdev_set_device_log_function(struct libevdev *dev, libevdev_device_log_func_t logfunc, enum libevdev_log_priority priority, void *data)
Set a printf-style logging handler for library-internal logging for this device context.
libevdev_set_log_function
void libevdev_set_log_function(libevdev_log_func_t logfunc, void *data)
Set a printf-style logging handler for library-internal logging.
libevdev_device_log_func_t
void(* libevdev_device_log_func_t)(const struct libevdev *dev, enum libevdev_log_priority priority, void *data, const char *file, int line, const char *func, const char *format, va_list args)
Logging function called by library-internal logging for a specific libevdev context.
Definition: libevdev.h:921
libevdev_log_func_t
void(* libevdev_log_func_t)(enum libevdev_log_priority priority, void *data, const char *file, int line, const char *func, const char *format, va_list args)
Logging function called by library-internal logging.
Definition: libevdev.h:848
libevdev_set_log_priority
void libevdev_set_log_priority(enum libevdev_log_priority priority)
Define the minimum level to be printed to the log handler.
LIBEVDEV_LOG_ERROR
@ LIBEVDEV_LOG_ERROR
critical errors and application bugs
Definition: libevdev.h:827
LIBEVDEV_LOG_INFO
@ LIBEVDEV_LOG_INFO
informational messages
Definition: libevdev.h:828
LIBEVDEV_LOG_DEBUG
@ LIBEVDEV_LOG_DEBUG
debug information
Definition: libevdev.h:829
libevdev_event_code_from_name_n
int libevdev_event_code_from_name_n(unsigned int type, const char *name, size_t len)
Look up an event code by its type and name.
libevdev_event_value_from_name
int libevdev_event_value_from_name(unsigned int type, unsigned int code, const char *name)
Look up an event value by its type, code and name.
libevdev_event_is_code
int libevdev_event_is_code(const struct input_event *ev, unsigned int type, unsigned int code)
Helper function to check if an event is of a specific type and code.
libevdev_event_type_from_name_n
int libevdev_event_type_from_name_n(const char *name, size_t len)
Look up an event-type by its name.
libevdev_event_code_from_code_name_n
int libevdev_event_code_from_code_name_n(const char *name, size_t len)
Look up an event code by its name.
libevdev_event_type_from_name
int libevdev_event_type_from_name(const char *name)
Look up an event-type by its name.
libevdev_event_code_from_name
int libevdev_event_code_from_name(unsigned int type, const char *name)
Look up an event code by its type and name.
libevdev_property_from_name
int libevdev_property_from_name(const char *name)
Look up an input property by its name.
libevdev_property_from_name_n
int libevdev_property_from_name_n(const char *name, size_t len)
Look up an input property by its name.
libevdev_event_type_from_code_name_n
int libevdev_event_type_from_code_name_n(const char *name, size_t len)
Look up an event type for a event code name.
libevdev_event_code_get_name
const char * libevdev_event_code_get_name(unsigned int type, unsigned int code)
libevdev_event_is_type
int libevdev_event_is_type(const struct input_event *ev, unsigned int type)
Helper function to check if an event is of a specific type.
libevdev_event_code_from_code_name
int libevdev_event_code_from_code_name(const char *name)
Look up an event code by its name.
libevdev_event_value_get_name
const char * libevdev_event_value_get_name(unsigned int type, unsigned int code, int value)
This function resolves the event value for a code.
libevdev_event_type_get_max
int libevdev_event_type_get_max(unsigned int type)
libevdev_event_type_get_name
const char * libevdev_event_type_get_name(unsigned int type)
libevdev_property_get_name
const char * libevdev_property_get_name(unsigned int prop)
libevdev_event_type_from_code_name
int libevdev_event_type_from_code_name(const char *name)
Look up an event type for a event code name.
libevdev_event_value_from_name_n
int libevdev_event_value_from_name_n(unsigned int type, unsigned int code, const char *name, size_t len)
Look up an event value by its type, code and name.
libevdev_get_slot_value
int libevdev_get_slot_value(const struct libevdev *dev, unsigned int slot, unsigned int code)
Return the current value of the code for the given slot.
libevdev_fetch_slot_value
int libevdev_fetch_slot_value(const struct libevdev *dev, unsigned int slot, unsigned int code, int *value)
Fetch the current value of the code for the given slot.
libevdev_get_current_slot
int libevdev_get_current_slot(const struct libevdev *dev)
Get the currently active slot.
libevdev_get_num_slots
int libevdev_get_num_slots(const struct libevdev *dev)
Get the number of slots supported by this device.
LIBEVDEV_ATTRIBUTE_PRINTF
#define LIBEVDEV_ATTRIBUTE_PRINTF(_format, _args)
Definition: libevdev.h:36