diff --git a/src/driver-etekcity.c b/src/driver-etekcity.c index 853aad79..471ffd35 100644 --- a/src/driver-etekcity.c +++ b/src/driver-etekcity.c @@ -771,6 +771,11 @@ etekcity_probe(struct ratbag_device *device, const struct ratbag_id id) return -ENODEV; } + if (!ratbag_hidraw_has_report(device, ETEKCITY_REPORT_ID_KEY_MAPPING)) { + ratbag_close_hidraw(device); + return -ENODEV; + } + drv_data = zalloc(sizeof(*drv_data)); ratbag_set_drv_data(device, drv_data); diff --git a/src/driver-roccat.c b/src/driver-roccat.c index 410e710c..17f2a117 100644 --- a/src/driver-roccat.c +++ b/src/driver-roccat.c @@ -784,6 +784,11 @@ roccat_probe(struct ratbag_device *device, const struct ratbag_id id) return -ENODEV; } + if (!ratbag_hidraw_has_report(device, ROCCAT_REPORT_ID_KEY_MAPPING)) { + ratbag_close_hidraw(device); + return -ENODEV; + } + drv_data = zalloc(sizeof(*drv_data)); ratbag_set_drv_data(device, drv_data);