Windows can't disconnect from some peripherals, only Unpair ('Remove device')

Hello!

I'm wondering why there's an option to simply disconnect from a bonded device for certain types of peripherals in Windows, but no such option for other types, only Unpair (and disconnect).

I'd love to have that option for my application which is based on an nRF52840 and the HID example.

I know this could be a Windows driver-level thing, but I just couldn't find any satisfying information online.

Does it depend on the type of the device and thus its drivers (Headphone vs HID), or the fact that my headset is not BLE?

Parents
  • Hi Adam

    I couldn't really find any information about it either, this seems to be Windows specific behavior.  

    I expect it to be caused by the fact that this is a HID device. HID devices are normally treated differently by most operating systems (including mobile phones) since HID devices are system level devices that communicate directly with the event system of the OS and not just with a specific app or service. 

    On the OS side there is generally a lot shared between the USB HID stack and the BLE HID stack (since HoG is essentially just a port of the USB HID standard, but running over BLE), and for USB there is no concept of disconnecting devices, so possibly that is why this is not available for BLE HID devices either. 

    Is it not possible for you to disconnect from the nRF side instead?

    Best regards
    Torbjørn

Reply
  • Hi Adam

    I couldn't really find any information about it either, this seems to be Windows specific behavior.  

    I expect it to be caused by the fact that this is a HID device. HID devices are normally treated differently by most operating systems (including mobile phones) since HID devices are system level devices that communicate directly with the event system of the OS and not just with a specific app or service. 

    On the OS side there is generally a lot shared between the USB HID stack and the BLE HID stack (since HoG is essentially just a port of the USB HID standard, but running over BLE), and for USB there is no concept of disconnecting devices, so possibly that is why this is not available for BLE HID devices either. 

    Is it not possible for you to disconnect from the nRF side instead?

    Best regards
    Torbjørn

Children
Related