A little googling led me to this nice little tool : AnyRemote. It provides a Java client and a server tool which allows the user to control of various Linux apps using a phone with bluetooth or WiFi support (theres also infrared support, but i dont think it worth it due to the limitation of IR and requires more setup).
AnyRemote is in Fedora repository , so, Fedora users can just install it by
yum install anyremote anyremote-data.
Now, I don't have a bluetooth dongle, neither internal bluetooth support, so my only option is through WiFi. Good thing in Fedora, the NetworkManager can create an AdHoc Internet Connection Sharing. Which basically gives me a quick way to make my phone to connect to my laptop (and the internet - with cheaper rate).
Creating an AP using NM is easy, watch the demo here.
After the AdHoc network is up and running, I hook my phone to the network and grab the AnyRemote Java client from the download site, install and launch it.
Now I have AnyRemote server installed in my machine, AnyRemote client installed in my phone, and the phone is connected to the WiFi network, time to test my 'brand new' remote.
I want to control an OpenOffice.org Impress presentation, therefore, I launch AnyRemote with the ooimpress.cfg configuration, listening at port 5050.
anyremote -s socket:5050 \
Then, using ifconfig, I took the IP of my laptop in the AdHoc network, and from the AnyRemote client (in my phone), I add the IP and port in, and connect to it (sorry, no pics, no idea how to take the picture of the phone, considering my only camera is the phone itself :P ), and PROFIT!!.
AnyRemote can also control other stuff such as Mplayer, Rhythmbox, xmms, amarok, evince, and lots more. You can also write your own config to control your own apps!.
Perhaps some of you might find this little guide useful, so, enjoy yourself :D