I am exploring the feasibility of building a simple application that
can run on a PDA/phone and emulate a HID (Human Interface Device) over
its bluetooth interface (or, USB). In this way, a nearby PC could
recognize it as a keyboard or mouse instantly without the need for new
drivers or for building a client/server pair. The purpose would not be
malicious, but rather to aid in accessibility with special keyboard
layouts and mouse movers.
Some phones seem to support this natively, but I need a solution that
could run on any device, such as an iPaq running Windows Mobile, or
even another desktop PC with full Windows. Is this limited by the
bluetooth hardware, or is there a way to programmatically expose the
HID profile/service to other devices in range?
There is a bluetooth service that performs old-fashioned Serial over
bluetooth, but on the receiving PC end, it is not translated into
keystrokes or mouse movements without a 3rd party program such as
AACKeys.
The web seems dead silent on this topic, so I was wondering if anyone
had any ideas.
Peter Foot - 20 Sep 2009 21:00 GMT
If you want it to just work with no special software on the PC device then
you have to implement the HID Bluetooth profile exactly. It would be much
easier to write a custom application which send the keystrokes over a socket
and then an app on the PC to convert these back into keystrokes. The
32feet.NET library includes a sample application called Bluetooth Remote
which does exactly this which would provide a good start. Download the
latest release here:-
http://32feet.codeplex.com/
Peter

Signature
Peter Foot
Microsoft Device Application Development MVP
peterfoot.net | appamundi.com | inthehand.com
APPA Mundi Ltd - software solutions for a mobile world
In The Hand Ltd - .NET Components for Mobility
> I am exploring the feasibility of building a simple application that
> can run on a PDA/phone and emulate a HID (Human Interface Device) over
[quoted text clipped - 17 lines]
> The web seems dead silent on this topic, so I was wondering if anyone
> had any ideas.