#include <fcntl.h>
#include <sys/ioctl.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <dev/evdev/input.h>
+#else
#include <linux/input.h>
+#endif
#include <errno.h>
#include "../input.h"
no_abs:
if (count == 0 && !have_abs) {
+ free(dev->kbits);
free(dev);
goto skip;
}
}
static const char * const *
-in_evdev_get_key_names(int *count)
+in_evdev_get_key_names(const in_drv_t *drv, int *count)
{
+ const struct in_pdata *pdata = drv->pdata;
*count = KEY_CNT;
+
+ if (pdata->key_names)
+ return pdata->key_names;
return in_evdev_keys;
}