diff --git a/lib/logitech_receiver/descriptors.py b/lib/logitech_receiver/descriptors.py index c44d91d9..fa6a28e4 100644 --- a/lib/logitech_receiver/descriptors.py +++ b/lib/logitech_receiver/descriptors.py @@ -739,3 +739,14 @@ _D( # Some exotics... _D('Fujitsu Sonic Mouse', codename='Sonic', protocol=1.0, wpid='1029') + +# Headset + +_D( + 'Logitech PRO X Wireless Gaming Headset', + codename='PRO Wireless Headset', + protocol=2.0, + interface=3, + kind=_DK.headset, + usbid=0x0aba +) diff --git a/lib/logitech_receiver/device.py b/lib/logitech_receiver/device.py index 538e515c..4e8c23fa 100644 --- a/lib/logitech_receiver/device.py +++ b/lib/logitech_receiver/device.py @@ -397,7 +397,9 @@ class Device: def ping(self): """Checks if the device is online, returns True of False""" - protocol = _base.ping(self.handle or self.receiver.handle, self.number, long_message=self.bluetooth) + protocol = _base.ping( + self.handle or self.receiver.handle, self.number, long_message=self.bluetooth or self._protocol >= 2.0 + ) self.online = protocol is not None if protocol: self._protocol = protocol diff --git a/lib/logitech_receiver/hidpp10.py b/lib/logitech_receiver/hidpp10.py index 096c2952..b4032684 100644 --- a/lib/logitech_receiver/hidpp10.py +++ b/lib/logitech_receiver/hidpp10.py @@ -43,6 +43,7 @@ DEVICE_KIND = _NamedInts( remote=0x07, trackball=0x08, touchpad=0x09, + headset=0x0D, # not from Logitech documentation remote_control=0x0E, # for compatability with HID++ 2.0 receiver=0x0F # for compatability with HID++ 2.0 )