Using a notebook as a remote HID for a PC

Topics: Bluetooth - Microsoft, Samples
Oct 16, 2012 at 2:45 PM

I want to use 32feet.NET to write a program that turns a notebook into a Bluetooth Keyboard+Mouse for another PC. I don't want to make changes to the PC at all.

I found some solutions claiming that this would be possible for Linux/Android.

 

If I use the following code, the PC detects the HID service on the notebook, but fails to load a driver.

var listener = new BluetoothListener(BluetoothService.HumanInterfaceDevice);

 

My best guess is to add attributes to the service record. But I do not know which attributes I need to add and how to add them.

Developer
Oct 19, 2012 at 1:45 PM

This won't be easy.

What you are trying there won't work. See for instance http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20Profiles%20and%2032feet.NET.html and note that HID uses L2CAP rather than the RFCOMM protocol. BluetoothListener is RFCOMM only.

Then see http://32feet.codeplex.com/wikipage?title=Bluetooth L2CAP

"For the HID Profile most Bluetooth stacks have built-in ‘host’ support for HID and thus connect directly with the HID device and pass the data directly to Windows’ HID support. [...] It also could be used if one wants to create a HID Device. Depending on the stack, there might be conflicts between the built-in HID services and your implementation however."

Our L2CAP API support is Widcomm only at the moment.

Is this a commercial project or just a hobby project?

Nov 17, 2013 at 5:47 AM
Hi Alan,

I came across this post and I would like to do something similar as a hobby project. Would it be possible to write an app that exposes a PC keyboard as a discoverable BT keyboard? You alluded that it might be on the L2CAP documentation page:

"It also could be used if one wants to create a HID Device"

Also would this be possible with the Broadcom stack? Above you mentioned that only the Widcomm stack was supported, but on the L2CAP documentation page, it states that both Widcomm and Broadcom are supported, so I am little confused.

Lastly, any pointers on how one would go about implementing something like this using 32feet? I was hoping that I could leverage 32feet to handle the all the driver level comms and that I'd only have to write a library that emulate a Bluetooth HID device?

Is this feasible? Thanks in advance.
Apr 9, 2016 at 6:40 AM
Bookmarking in case anyone makes progress on this. It doesn't look too possible for the moment.