diff --git a/addons/hw_drivers/drivers/KeyboardUSBDriver.py b/addons/hw_drivers/drivers/KeyboardUSBDriver.py index 39cd8e102608bb3fc03689df843bb88e3758e103..31835539f07cec2755c3f39e1b9a22b92ec9974d 100644 --- a/addons/hw_drivers/drivers/KeyboardUSBDriver.py +++ b/addons/hw_drivers/drivers/KeyboardUSBDriver.py @@ -51,7 +51,7 @@ class KeyboardUSBDriver(Driver): if (self.dev.idVendor == device.info.vendor) and (self.dev.idProduct == device.info.product): self.input_device = device - if 'barcode' in self._device_name.lower() or 'scanner' in self._device_name.lower(): + if 'barcode' in self._device_name.lower() or 'scanner' in self._device_name.lower() or self.interface_protocol == '0': self._device_type = 'scanner' self._barcodes = Queue() self._current_barcode = '' @@ -62,7 +62,8 @@ class KeyboardUSBDriver(Driver): def supported(cls, device): for cfg in device: for itf in cfg: - if itf.bInterfaceClass == 3 and itf.bInterfaceProtocol == 1: + if itf.bInterfaceClass == 3 and itf.bInterfaceProtocol != 2: + device.interface_protocol = itf.bInterfaceProtocol return True return False