I want to make my laptop announce itself as a bluetooth keyboard or/and a bluetooth mouse. It would be nice to be able to connect the computer to my phone or my media computer using bluetooth.
Does anyone know of a good way to do this?
I want to make my laptop announce itself as a bluetooth keyboard or/and a bluetooth mouse. It would be nice to be able to connect the computer to my phone or my media computer using bluetooth.
Does anyone know of a good way to do this?
The hidclient program makes a Bluetooth® technology equipped computer appear as a Bluetooth® keyboard and mouse device to other machines. Input events (like keystrokes and mouse movements) of the locally attached input devices will be forwarded to another machine via the Bluetooth® link. For the counterpart (which might be a Linux PC, a Win PC, a PDA...) there is no technical difference to "real" Bluetooth® input devices.
It doesn't seem to be maintained anymore, but a somewhat updated fork is accessible at https://github.com/benizi/hidclient
As said you should to configure your laptop to implement an HID device profile.
If you are on Linux a good starting point could be libhid.
HID Device Interface (hiddev) works very well, and is actually very easy to understand. Documentation can be found, as usual, in the Kernel docs too. Also, the include file hiddev.h in /usr/include/linux was also very helpful of course.
This little piece of code claims to do what you want. I assume this is what Marko was referring to (another answer). I'm looking for the same kind of thing: a quick way to use a real keyboard (for mostly email) on my mobile phone, without buying another piece of hardware. From the description:
What is it?
xkbd-bthid
is a Bluetooth HID Keyboard in software, meaning this is an application which emulates a Bluetooth Keyboard. I call it soft-HID.What could you use it for?
You can turn any Linux box, PDA or tablet into Bluetooth keyboard and control your DVR, MP3 player or what ever with it.
I made a preliminary effort to compile it, but it won't work against BlueZ v4. However, the Ubuntu repositories have some packages for backwards compatibility with BlueZ 3, which gives me some hope. xkbd-bthid depends on BlueZ 2.4. I probably won't get further just now, since my bluetooth stack is currently messed up in Linux, but do post here if you manage to compile it.
The closest I know that does what you want is BlueMaemo http://www.valeriovalerio.org/?page_id=174
It's for Nokia tablets, but those run Linux anyway.
It shouldn't be too hard for someone to port it for use with a laptop.
GIMX
http://code.google.com/p/diyps3controller/
is able to make a laptop act as a BT HID device to connect to a PS3. Can even make a laptop behave as a HID over USB.
If you're just looking to share the keyboard and mouse you might want to consider using Synergy. It's probably a lot easier than trying to get the bluetooth setup.
From the website:
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own monitor(s).
Redirecting the mouse and keyboard is as simple as moving the mouse off the edge of your screen. Synergy also merges the clipboards of all the systems into one, allowing cut-and-paste between systems. Furthermore, it synchronizes screen savers so they all start and stop together and, if screen locking is enabled, only one screen requires a password to unlock them all. Learn more about how it works.
I use it to share my desktop's mouse and keyboard with my laptop when I am using both computers.
As far as i remember bluetooth devices implement a set of profiles, in order to act as a remote keyboard your laptop should appears as implementing the HID profile. It would probably require hacking the bluetooth driver of your laptop to enable such fonctionnality.
This would involve implementing the HID Device profile as opposed to the HID Host profile that most Bluetooth stacks implement.