For HF2 you don't specify any method of recognizing an HID interface as providing HF2. I suggest two possible methods: 1. Interface name containing "HF2". 2. Declare a HID usage page for HF2. Ideally both would be required in an implementation, letting the host use whichever is easiest and/or supported by the USB library being used.