diff --git a/dev_hidraw.c b/dev_hidraw.c index 58d26f9..045ff01 100644 --- a/dev_hidraw.c +++ b/dev_hidraw.c @@ -12,7 +12,7 @@ static bool hidraw_matches( return false; } else if (in_dev->info.vendor != in_filters->vid) { return false; - } + } else if (in_dev->rdesc.size != in_filters->rdesc_size) return true; } diff --git a/dev_in.c b/dev_in.c index 9756f51..910031d 100644 --- a/dev_in.c +++ b/dev_in.c @@ -111,7 +111,7 @@ int iio_open_device( const char *const dev_name = dev_iio_get_name(out_dev->iiodev); printf( - "Opened iio device:\n name: %s has accel: %s\n has anglvel: %s\n", + "Opened iio device:\n name: %s\n has accel: %s\n has anglvel: %s\n", (dev_name != NULL) ? dev_name : "NULL", dev_iio_has_accel(out_dev->iiodev) ? "yes" : "no", dev_iio_has_anglvel(out_dev->iiodev) ? "yes" : "no" diff --git a/input_dev.h b/input_dev.h index e6e830d..72e96ad 100644 --- a/input_dev.h +++ b/input_dev.h @@ -28,7 +28,7 @@ typedef enum input_dev_type { typedef struct hidraw_filters { const int16_t pid; const int16_t vid; - const uint16_t rdesc_size; // wc -c < /sys/class/hidraw/hidraw0/device/report_descriptor + const uint32_t rdesc_size; // wc -c < /sys/class/hidraw/hidraw0/device/report_descriptor } hidraw_filters_t; typedef struct uinput_filters {