Use Bluetooth mouse or trackpad ...

Connect an external Bluetooth GPS ...

Use real game controllers to play ...

iOS device as a Bluetooth mouse & ...

Mac as Bluetooth keyboard for iOS ...

To use a Bluetooth keyboard and a mouse at the same time, check out BTC Mouse & Trackpad.

It provides a better user experience by integrating with the iOS Bluetooth Stack instead of replacing it. New features incl. automatic reconnect, zoom/pinch and swipe simulations.
Write emails, notes, and SMSs using a real Bluetooth keyboard.

BTstack Keyboard gives you the freedom to use all your fingers when typing. Supports all HID Bluetooth keyboards and the Celluon CL800/850 Laser Keyboards.

The demo version does not allow to use your keyboard with other applications. To full enable it, you have to buy the full version.
Last used device button for quick connect
On-screen keyboard hidden while connected (3.0-3.1.3: only working partially)
24 new and improved keyboard layouts
Advanced editing and navigation: Select All, Cut, Copy, Paste. Undo. Redo. (Shift-)Cursor. TAB. (3.2+ only)
Character composition for latin scripts (e.g., Alt-u + u => )
Retina icon
F1/F2: Brightness control Down/Up (3.2+ only)
F5: Toggle Keyboard
F7-F9: Media Keys
F10: Volume Mute (3.2+ only)
F11/F12: Volume Down/Up
ESC: Home Button
CMD-ESC: Lock Button
Many, many bug fixes...
Supports 24 keyboard layouts: Arabic, Belgian, British, Canadian, Danish, Dutch, Dvorak, French, German, Hebrew, Hungarian, Italian, Japanese, Korean, Norwegian, Portugese, Russian, Serbian, Slovenian, Spanish, Swedish, Swiss French, Swiss German, and US English.
Supports most function keys of iOS 3.2 and later.
Full cursor control and cut/copy/paste in iOS 3.2+, basic cursor simulation on older systems.
Keeps connection to Bluetooth keyboard alive for 60 minutes while the iPhone is locked.
Provides easy lock (CMD+ESC) and unlock (any key).
BTstack Keyboard has been tested on iPhone (2G, 3G, 3GS, 4, 4S), iPod (2G, 3G, 4G), iPad (1, 2, 3) with firmware 3.0 and later.
BTstack Keyboard is based on BTstack, an open-source Bluetooth stack. BTstack cannot run in parallel to Apple's Bluetooth. Therefore, BTstack Keyboard has to turn off Apple's Bluetooth. You can re-enable Apple's only after quitting the Keyboard app.