From eda87cdf919fb65eb630d33d387a091ed866391c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Sun, 9 Jun 2013 19:48:19 +1000 Subject: [PATCH] Add an API to get the repeat values Signed-off-by: Peter Hutterer --- libevdev/libevdev.c | 14 ++++++++++++++ libevdev/libevdev.h | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index 2dbc6c1..5c5a2fa 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -963,3 +963,17 @@ libevdev_get_event_type_max(unsigned int type) return ev_max[type]; } + +int +libevdev_get_repeat(struct libevdev *dev, int *delay, int *period) +{ + if (!libevdev_has_event_type(dev, EV_REP)) + return -1; + + if (delay != NULL) + *delay = dev->rep_values[REP_DELAY]; + if (period != NULL) + *period = dev->rep_values[REP_PERIOD]; + + return 0; +} diff --git a/libevdev/libevdev.h b/libevdev/libevdev.h index 9fd16d8..f3fe5ba 100644 --- a/libevdev/libevdev.h +++ b/libevdev/libevdev.h @@ -536,4 +536,14 @@ const char * libevdev_get_input_prop_name(unsigned int prop); */ int libevdev_get_event_type_max(unsigned int type); +/** + * Get the repeat delay and repeat period values for this device. + * + * @param delay If not null, set to the repeat delay value + * @param period If not null, set to the repeat period value + * + * @return 0 on success, -1 if this device does not have repeat settings. + */ +int libevdev_get_repeat(struct libevdev *dev, int *delay, int *period); + #endif /* libevdev_H */