aboutsummaryrefslogtreecommitdiffstats
path: root/lsinput.c
diff options
context:
space:
mode:
Diffstat (limited to 'lsinput.c')
-rw-r--r--lsinput.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/lsinput.c b/lsinput.c
index 45f50e5..b500d03 100644
--- a/lsinput.c
+++ b/lsinput.c
@@ -1,5 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
+#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
@@ -10,14 +11,19 @@
static void list_devices(void)
{
int i,fd;
+ char filename[32];
+ struct stat statbuf;
for (i = 0; i < 32; i++) {
- /* try to open */
- fd = device_open(i,1);
- if (-1 == fd)
- return;
- device_info(fd);
- close(fd);
+ snprintf(filename,sizeof(filename), "/dev/input/event%d",i);
+ if (stat(filename, &statbuf) == 0) {
+ /* try to open */
+ fd = device_open(i,1);
+ if (-1 == fd)
+ return;
+ device_info(fd);
+ close(fd);
+ }
}
return;
}