After seeing Richard Clamp's excellent talk at a london.pm techmeet on using Ericsson phones as remote controls I went away to code something similar (but less fully-functioned) in python for my own use. My code plugs into the Twisted framework and listens for phone keypress events. It uses the AT commands defined in an Ericsson PDF for the R320 phone, and it works with my T610.
My main need for a remote was for controlling slides when doing presentations, so I looked into how to send fake keypresses to X applications. My presentation format of choice is PDFs, so I just needed to be able to send PgUp and PgDown events to Acrobat Reader.
X has a useful extension called XTEST that is designed to help automated testing of GUI apps. It has a fairly simple API, and with the help of the source of the X11::GUITest CPAN module I created a python extension that lets me write code such as keycontrol.tapkey('PGU') to simulate tapping on the PgUp key.
The resulting code defines an Ericsson class that can be subclassed to receive events such as cursor_left and camera when the keys are pressed on the phone. It helps to have the keypad lock activated when using it so that you don't end up triggering events on the phone itself.
Libby Miller took a photo of me using it at the XML Summer School Semantic Web forum, where it came in very handy. The phone is just visible in my right hand.