You can make your computer act as a Bluetooth keyboard for other devices, provided that:
- It has Bluetooth, and runs Bluez. (This is true of Ubuntu systems with Bluetooth.)
- It's running a Linux-based operating system. (That includes Ubuntu!)
- You have administrative abilities in your Linux-based OS (for example, you can
There is a FOSS program that does this, called hidclient:
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
For the counterpart (which might be a Linux PC, a Win PC, a PDA...)
there is no technical difference to "real" Bluetooth® input devices.
Source: hidclient's official site (main page).
That totally rocks: you don't have to do anything special to your iPad (or any other mobile device that works with Bluetooth keyboards) to get this to work. You don't have to jailbreak it. You don't have to install any special apps. Just install and run hidclient, then tell your mobile device (the iPad) you want to use your Bluetooth keyboard!
Everything you need to get the software and learn how to use it is right here.
After reading the whole page (so you understand how it works), make sure to use the instructions at the end (for Ubuntu).
Here's a compact version (essentially the same procedure – this worked better for me):
- Install libbluetooth-dev .
- Download hidclient source code for Ubuntu. (Check the official page to make sure that's not out of date.) Put it in a folder by itself and extract its contents.
make and press Enter to compile the source.
- Back up and edit your Bluetooth configuration:
sudo cp /etc/bluetooth/main.conf /etc/bluetooth/main.conf.old
gksu gedit /etc/bluetooth/main.conf
#DisablePlugins = network,input add the line
DisablePlugins = input (no
• Add a
# to the beginning of
Class = 0x000100; under it, write
• Save the file and quit the text editor.
- If you want to be able to run
hidclient like a normal command:
sudo cp hidclient /usr/local/bin.
• Check if
/usr/local/bin is in your path with
• If it's not, add it with any of these methods.
If you skip this step, you can run
hidclient by making sure you're in the directory where you compiled it, and running
./hidclient instead of
hidclient --help (or see the bottom of the web page) to see how to use it.
Except when run with the
hidclient must be run as root. So use
sudo hidclient (followed by whatever options you're specifying, as explained in the help).
Basically, there's two steps:
sudo hidclient -l for a numbered list of devices.
sudo hidclient -eN -x, replacing
N with the number of the device you want to "forward" over Bluetooth. In your case, this will be the keyboard.
You're all set. Tell your mobile device (iPad) to use a Bluetooth keyboard.
The last thing you need to be able to do is to stop using the keyboard for Bluetooth input. See, when
hidclient is running, the device you select is no longer giving input to your Ubuntu system. If it were anything but the keyboard (say, the mouse), you could quit
hidclient by pressing Ctrl+C in the Terminal.
But you cannot do that, because keyboard input won't go to the Terminal or any other Ubuntu program. The keyboard is acting as a Bluetooth device!
So, when "forwarding" the keyboard, quit
hidclient by closing the Terminal window (or tab) in which it's running, with the mouse (or trackpad).
- Of course, if your Ubuntu machine has multiple keyboards, you could "forward" one as a Bluetooth device and continue to use the other on your computer.