Fortunately, there are a lot of utilities in Cydia (accessible from any jailbroken iDevice) that provide help in using these devices.
Generally, they're easy to use: get the apps from Cydia. The mouse handler (BTstack Mouse) and Zeemote iOS Driver
All these apps put an icon on the SpringBoard. Whenever you want to connect and use the hardware, you tap the icon, initiate connection by selecting the device from the list and that's all.
Tested with an external Bluetooth unit and a 2nd generation iPod touch. Worked great with external map apps!
This has nothing to do with the well-known GPSed service (additional user explanation of why it might be useful HERE
Note that there is another GPS hack for making use external GPS units, RoqyBT4
Also, there is GPSSerial
I don't recommend xGPS. The cheap(!), (as opposed to xGPS) reliable(!) and constantly upgraded/not abandoned(!) AppStore(!) MotionX-GPS (HD)
A dedicated, highly recommended article is HERE.
BTstack Keyboard by Matthias Ringwald 1.0-25570
While most Bluetooth keyboards (e.g., Apple's own Wireless Keyboards starting with the second model released in 2007
And this is the message under iOS5 (beta3):
Needless to say, the message used in iOS versions prior to iOS5 is more straightforward as casual iOS users will know right away their hardware isn't supported. The new error message is pretty confusing and will result in a lot of poor users' trying to reconnect, re-power their keyboards. Apple might want to re-introduce the old message to avoid user confusion.
BTstack Mouse by Matthias Ringwald
Games where no multiple touches are needed can also be played: tested with Battle Squadron 1, Angry Birds HD, Tiny Wings
No automatic reconnection!
Using a “hacked” BT stack also means there's no automatic reconnection. This is a major problem (you need to manually connect your mouse) and also means you will need to make your mouse discoverable again and again. For example, on the MoGo mouse, you need to press a small button to make it discoverable. You'll need to do this every time(!) you connect it to your iPad. (Fortunately, if you suspend the iDevice [or it's auto-suspended], it'll still maintain the connection and it doesn't need to be initiated again.)
If the mouse is auto-discoverable (the case of, among others, the above-mentioned, albeit incompatible [see the disconnection after half a minute] Apple Wireless Mouse), at least making it is not necessary.
Fortunately, simply closing the keyboard connection and shutting down both apps seem to work (or, sometimes, with an additional respring) – no full restart is needed.
I, on the other hand, had no problems with connecting the keyboard first and, then, the mouse. You may also want to go this way.
Gamepad: Zeemote iOS Driver 0.9.0-2
Remember my article “Zeemote - right now, the best Bluetooth game controller - on WinMo / iPhone soon?”? Well, unfortunately, Apple still hasn't officially allowed the Zeemote to be used by the platform but there already is a free driver
Remember to press and hold the D button (the one just below the joystick) for 3 seconds to turn on your JS1 until the indicator light begins to flash; it's only then will the iDevice find it (as with other clients).
It's nearly not as good to play as a BT mouse in, say, Battle Squadron 1 and can't be used with any game with a D-pad as it's, essentially, a joystick-based emulation of a mouse cursor. If you've ever done it on any platform (e.g., moving the mouse cursor on the PC's keyboard), you know how hard it is. As there's not any iDevice app in the appstore to take advantage of the Zeemote, currently I don't see much point in using it. Unless you absolutely don't have access to a Bluetooth mouse but do have a Zeemote and want to move the pointer around / remotely suspend/resume the device / start and exit apps.
Other gamepads / controllers
Unfortunately, there is absolutely no support for BGP100
ZodTTD's emulators don't support the pad either, and it's highly unlikely they ever will as ZodTTD (as with the developers / porters of the PSX emulator, FPSce) seem to have completely switched to Android because of its far more game console emulator developer-friendly approach.
None
Videos
I've prepared three videos showing BTstack Mouse / Keyboard and Zeemote iOS Driver
Let's start with the latter, the Zeemote controller. The (first
The video (original HERE
Note that there is another, more than two-year-old Zeemote + iPhone video HERE
b.) using the Mogo mouse and the Apple Wireless Keyboard at the same time, including the right order of connecting (remember: keyboard first, mouse second). I also show how you can quickly notice you've used the wrong order (or there's another problem) as, after finishing playing, I don't disconnect the mouse but try to connect the keyboard right away. (This happens from 3:33; it's at 3:49 that I switch on the keyboard; in a second or two, it becomes visible to the iPad too.) Notice the blue, generic Bluetooth icons on the left! This means it won't connect. This is why I first respring the device and when I, at 4:13, realize keyboards will still not work, I respring again. This time, I also shut down the “Keyboard” app (at 4:19) so that it can re-discover the Bluetooth devices.