Like nanny07 and others, I had the same problem with the PS3 BD Remote not getting "Connected: 1" (and thus not appearing in '/proc/bus/input/devices | grep emot'). This was after running kitlaan's bluez and ps3 pairing script multiple times. I also confirmed that my output from 'bluetoothd -nd' was as expected, and /var/lib/bluetooth/ contained all the right device codes (the same as kitlaan's).
Then I saw nanny07's post about having done a pairing in windows and things suddenly working for him. I tried to do the same, but I could not pair the remote in windows, because the IOGEAR software that came with my dongle wouldn't accept a pairing without a PIN number.
That's when I happened accross the following:
and decided to give it a shot. After updating line 27, per the author's instructions, to have the remote's MAC address, I fired up the script, and to my surprise it worked! Every keypress was reported by the script correctly, 'list-devices' returned "Connected: 1", and cat /proc/bus/input/devices showed the remote. For the first time ever, Linux and the remote were communicating.
But, as soon as I CTRL-C'd out of the script, things returned to their previous state. No more "Connected: 1" in list-devices, and no more remote in /proc/bus/input/devices.
Back to no communication between the remote and bluetoothd. Frustrating.
I ran the script several more times (3? 5?), to see if I could reproducibly have it connect. It worked every time, holding enter+start per the instructions.
That's when something unbelievable happened. After I exited the script (after X runs, maybe 5), I held enter+start while running 'bluetoothd -nd' but without running the script, and output appeared from bluetoothd. I hit some random buttons on the remote and bluetoothd reported the ID #'s of the keypresses every time.
I exited out of 'bluetoothd -nd' and re-ran it as '/etc/init.d/bluetooth start', and this time just hit a few buttons on the remote (not enter+start). Checking list-devices, to my surprise, it was "Connected: 1". It also appeared in /proc/bus/input/devices. Hitting numbers on the remote did exactly as was described above, they appeared in my xterm window.
Wanting to see if this working state would survive a reboot, I power cycled.. and again hit a few arrow keys on the remote, and it instantly connected again. Firing up XBMC, the basic directional navigation and selection worked! Amazing. Since that point, hitting any button on the remote causes it to pair/connect instantly, and it stays that way until my input.conf Timeout, at which point it goes to sleep (I'm using a timeout of 1 minute currently). Pressing buttons on it again pairs/connects it, so everything is working great.
So how to explain this drastic switch to a working state? This remote was brand new out of the box, and I don't own a PS3, and it had never been paired with anything before.
As such, the following is a wild hypothesis (for which I have no data to back up) which may or may not be true:
I propose that the act of direct-connecting to the PS3 BD Remote X times (where X = 1? 3? 5?) via the h00s script
trained the remote to connect back to my dongle's MAC address whenever it's woken up via keypress. Under this (admittedly far fetched) model, the remote connects to the last bluetooth MAC address which connected to it. Perhaps this is why the PS3 BD Remote instructions say that it can only be paired with one PS3 at a time.
(I really know nothing about Bluetooth, so if this theory is completely ridiculous, now you know why!)
Hopefully this "silly" method of getting the remote to connect helps someone else. If it makes any sense and holds out for others, perhaps kitlaan can update his pairing script to also perform an outbound connection as a final step. I'm now on to playing with Keymaps to get the other half of the buttons to work in XBMC.
Thanks to everyone who's contributed to this thread. The work is tremendous and appreaciated.