Since the iPhone was first introduced, there have been efforts to bring support for external accessories. The iPhone 3.0 external accessory framework allowing accessories that connect to the universal dock connector or use Bluetooth has been closed, and only a few companies have developed accessories using the framework. The BTStack project by Matthias Ringwald offers a more complete and open Bluetooth stack for jailbroken iPhones. The stack has even been used with an iPhone and a Wii Remote over Bluetooth. To use a Bluetooth keyboard for quick and easy data entry into your iPhone, you'll need to jailbreak your iPhone, which can be done with an application like blackra1n.
Read on to find how I set up my iPhone to use the Apple Wireless Keyboard, and how it works with the iPhone.
Once you've jailbroken your iPhone and installed Cydia, you'll need to look for the BTstack Keyboard package, which is available for US$5. There's a free demo version also available for Cydia that allows limited use of a Bluetooth keyboard. The BTstack Keyboard package enables many of the normal features of a keyboard, including the arrow keys. This package should work with most of the apps already on your iPhone, and allows you to type in editable text views and text fields. You'll also be able to use a Bluetooth keyboard for entering text in web views.
After installing the BTstack Keyboard package, it's very easy to set up and pair your keyboard. First, you'll want to make sure the keyboard you're going to use isn't currently paired with anything else. To unpair your keyboard in Mac OS X, go to the Bluetooth preference pane in System Preferences, select the keyboard, and then click the minus (-) button below the list of devices.
To pair the keyboard with your iPhone, launch the "Keyboard" app that was installed as part of the BTstack Keyboard package, and it will search for a keyboard. Make sure your keyboard is in pairing mode, which can be done on an Apple Wireless Keyboard by pressing the Power button on the right side of the keyboard. You'll be able to select your keyboard from a list of Bluetooth devices. After selecting the keyboard, enter the 4 digit passcode displayed on the iPhone, and then press Enter on your keyboard. You should be able to start using your Bluetooth keyboard with your iPhone immediately. When it's enabled, you'll see a "On" badge on the icon of the Keyboard app.
When using the keyboard to type on the iPhone, there's no sluggishness at all. There are still a few things that sometimes feel incomplete; for example, you can use the keyboard arrow keys to move the cursor in a text field or text view, but you can't in a web view. In addition, there's no support for the Caps Lock key or any of the function (F) keys. The Escape key allows you to exit a editable view or field.
Using BTStack Keyboard and an external Bluetooth keyboard did not seem to have a negative impact on the iPhone's battery life. Overall, this setup can be useful for anyone who wants to do any extensive typing on the go without having to carry around a notebook. However, it's not for those who wish to remain "legal" (have a non-jailbroken iPhone or iPod touch), or who are unable or unwilling to jailbreak their devices.