Search code examples
javaandroidbluetoothhid

Imitate bluetooth Human Interface Device


I would like to know if there is a possibility that an app can simulate a Human Interface Device over bluetooth of an android device.

In my context this would be an app, which simulates a mouse, that should be recognized by a computer as a bluetooth mouse. Ideally this should be realizeable in java.

I know this question has been asked several times in the past but i want to know if there are new nonoutdated possibilities.


Solution

  • This should be possible in android pie and later by using the HID device profile, but a lot of chinese manufacturers ignored to implement the HID profile. You can check if your phone supports Bluetooth HID device profile with the app - https://play.google.com/store/apps/details?id=com.rkaneapplabs.bluetooth_hid.bluetoothproxy and let your device manufacturer know if they don't support your device because its part of android pie and should be supported.

    During discovery the Android app will publish a SDP service-record where the computer can find out that the Android device support the HID-profile. The Android device will still be identified as the original Class of Device (COD). Most PC's will work great with a BT mouse app on a phone, but some devices (Game consoles) scanning for a BT-mouse will only look for devices belonging to the 'mouse' COD, and ignore other devices such as phones and tablet.