The hid2hci command uses the USB hiddev device to be handled as a normal Bluetooth device.
Then the hcid daemon handles all the connections and authentication between the devices and the kernel.
Then the sdpd daemon allow the devices to advertise their services.
And finally, the hidd daemon turns some services of the devices into HID-stuff again.
All of these came from the bluez-utils-2.10 package.
Thus, my start-up script looks like this:
hid2hci
hcid
sdpd
hidd --server
For those using Gentoo (and probably most other distributions), these commands can be handled with the /etc/init.d/bluetooth that comes with bluez-utils.
Just be sure to set HID2HCI_ENABLE=true and HIDD_ENABLE=true in /etc/conf.d/bluetooth. HCID_ENABLE=true and SDPD_ENABLE=true should be on by default.
(Debian: HIDD_ENABLED=1 in /etc/default/bluez-utils)