How to Make a Computer Behave as a Bluetooth Hid Device

Making a Windows Mobile device emulate a Bluetooth HID device

It's perfectly possible. Just start a bluetooth server registered with the HID service Guid {00001124-0000-1000-8000-00805f9b34fb}. If the device supports the Microsoft bluetooth stack you can use Peter Foot's excellent .NET CF library (http://32feet.net/) and BluetoothService.HumanInterfaceDevice;

UPDATE:

With Peter Foot's library the server would look something like this:

using System.IO;
using InTheHand.Net.Sockets;
using InTheHand.Net.Bluetooth;

// ...

BluetoothListener l = new BluetoothListener(
BluetoothService.HumanInterfaceDevice);
using (l) {
BluetoothClient c = l.AcceptBluetoothClient();
using (c) {
Stream s = c.GetStream();
using (s) {
// send HID bytes
}
}
}

Regards,
tamberg

how use a windows pc as bluetooth hid?

I reached the answer for this question. In order to use your pc as bluetooth HID you must have a special hardware that can implement a HID profile.
I did not found any device that could implement this. The only way is to build one with a specific hardware piece like RN-42 .
anyway, there is no way to do this via software with your default bluetooth hardware on your pc.

USB HID Enumeration with BLED112

just for information, this is the response given by the silicon labs technical team :

"Unfortunately that is not possible, the BLED112 enumerates as a USB CDC device only. It communicates with the PC using BGAPI messages which is our proprietary protocol to interface with our modules."

Can you get Windows raw input data immediately without WM_INPUT messages?

You can use (possibly overlapped - for async reads) ReadFile on a HID device file handle.
See Obtaining HID Reports article and HClient sample application that is doing both - enumerating devices and reads from them. It is doing that without WM_INPUT/Raw Input API.

Making linux into a bluetooth keyboard (HID)

For Bluetooth there are a couple of ways HID devices are implemented.

  • Classic Bluetooth is documented at Human Interface Device (HID)Profile
  • Bluetooth Low Energy is documented as HID over GATT (HoG) Profile

The Linux Bluetooth Stack can implement this selecting different profiles using the D-Bus API documented at: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/profile-api.txt

A while ago I did an experiment to create a HID keyboard service with Python on a RPi:
https://gist.github.com/ukBaz/a47e71e7b87fbc851b27cde7d1c0fcf0



Related Topics



Leave a reply



Submit