From 99c9a32520fa75eb09ad40672e5341f683a64281 Mon Sep 17 00:00:00 2001 From: Clay Smith Date: Tue, 21 Feb 2023 03:59:41 -0600 Subject: ALL BUT FF --- ff.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 ff.c (limited to 'ff.c') diff --git a/ff.c b/ff.c new file mode 100644 index 0000000..bcffc5d --- /dev/null +++ b/ff.c @@ -0,0 +1,41 @@ +#define _GNU_SOURCE /* for asprintf */ +#include +#include +#include +#include +#include +#include + +#define BITS_PER_LONG (sizeof(long) * 8) +#define BITS_TO_LONGS(x) \ + (((x) + 8 * sizeof (unsigned long) - 1) / (8 * sizeof (unsigned long))) + + +int main(int argc, char** argv) +{ + + int fd = open("/dev/input/event14", O_RDWR); + + + char name[4096]; + int return_value = ioctl(fd, EVIOCGNAME(sizeof(name)), name); + printf("%s\n", name); + printf("%d\n", return_value); + + + unsigned long features[BITS_TO_LONGS(FF_CNT)]; + return_value = ioctl(fd, EVIOCGBIT(EV_FF, sizeof(features)), features); + printf("return of ioctl is: %d\n", return_value); + printf("features[] holds: "); + for (int i = 0; i < BITS_TO_LONGS(FF_CNT); ++i) { + printf("%d ", features[i]); + } + puts(""); + + int num; + return_value = ioctl(fd, EVIOCGEFFECTS, &num); + + printf("return_value: %d, num: %d\n", return_value, num); + + return 0; +} -- cgit v1.2.1