skip mouse with no button errors and keep the rest

This commit is contained in:
Grant 2021-06-22 23:00:50 +01:00
parent 4ba0ba4c70
commit c73592d379

View File

@ -479,7 +479,7 @@ static void udev_handle_mouse(void *data,
} }
} }
static bool udev_input_add_device(udev_input_t *udev, static int udev_input_add_device(udev_input_t *udev,
enum udev_input_dev_type type, const char *devnode, device_handle_cb cb) enum udev_input_dev_type type, const char *devnode, device_handle_cb cb)
{ {
unsigned char keycaps[(KEY_MAX / 8) + 1]; unsigned char keycaps[(KEY_MAX / 8) + 1];
@ -518,7 +518,7 @@ static bool udev_input_add_device(udev_input_t *udev,
if (type == UDEV_INPUT_MOUSE || type == UDEV_INPUT_TOUCHPAD ) if (type == UDEV_INPUT_MOUSE || type == UDEV_INPUT_TOUCHPAD )
{ {
if (ioctl(fd, EVIOCGBIT(EV_KEY, sizeof (keycaps)), keycaps) == -1) if (ioctl(fd, EVIOCGBIT(EV_KEY, sizeof (keycaps)), keycaps) == -1)
return 0; /* gotta have some buttons! :) */ return -1; /* gotta have some buttons! return -1 to skip error logging for this:) */
if (ioctl(fd, EVIOCGABS(ABS_X), &absinfo) >= 0) if (ioctl(fd, EVIOCGABS(ABS_X), &absinfo) >= 0)
{ {
@ -1240,13 +1240,11 @@ static bool open_devices(udev_input_t *udev,
if (fd != -1) if (fd != -1)
{ {
bool check = udev_input_add_device(udev, type, devnode, cb); int check = udev_input_add_device(udev, type, devnode, cb);
#ifdef DEBUG if (!check && check != -1 )
if (!check) RARCH_DBG("[udev] udev_input_add_device error : %s (%s).\n",
RARCH_DBG("[udev] udev_input_add_device SKIPPED : %s (%s).\n",
devnode, strerror(errno)); devnode, strerror(errno));
#endif else if (check != -1 && check != 0)
if (check)
{ {
char ident[255]; char ident[255];
if (ioctl(fd, EVIOCGNAME(sizeof(ident)), ident) < 0) if (ioctl(fd, EVIOCGNAME(sizeof(ident)), ident) < 0)