Capturing HID Descriptor stream from Game Controller.via Bluetooth
<p>I'm trying to capture HID Descriptors from a Sony PS4 Controller via Bluetooth. I've managed to establish a connection using the code below.</p>

<pre><code>void findController() {
    int[] deviceIds = mInputManager.getInputDeviceIds();
    for (int deviceId : deviceIds) {
        InputDevice dev = mInputManager.getInputDevice(deviceId);
        int sources = dev.getSources();
        if (((sources &amp; InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) ||
                ((sources &amp; InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK)) {
            // Device is a gamepad or joystick
            listStr = "Controller Found: \r\n";
            listTxt.setText(listStr);
        }
    }
}
</code></pre>

<p>I'm then using a listener to look for a key press or motion event but I've now been informed that I need to look for a data stream from the controller which contains different descriptors. The data is sent in binary data packets and needs to be converted to string data. I've been on Google most of today and although there is plenty of information about HID Descriptors I'm still not clear on how I collect the data.
If anyone has done something along these lines and can help to point me in the right direction or provide any useful links to help me resolve this, would be appreciated.  </p>