PS3ReCon banner
You can write your own plugin and it's a pretty easy task to do !
Here's the smallest possible plugin for PS3ReCon

/* "Hello world" plugin for PS3ReCon by Kevin DEHLINGER (c) 2009 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace PS3ReCon //do not change that
{
    public class Plugin //do not change that
    {
       
        public static void SendCode(object[] code) // mandatory method
        {
            switch((int)Convert.ToInt32(code[0].ToString()))
            {
                case 1:  MessageBox.Show ("Hello World !! ;)", "Nice Work",MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break;
                default: MessageBox.Show ("Something went wrong :(", "Unknown Code",MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break;
            }
           
        }
 
        public static string[] GetCodes() // mandatory method
        {
            // send the codes list to ps3recon, even indexes are the actual code, while odd indexes are the text that'll be displayed
            string[] codes = new string[] {    "1","Hello World" };
            return (codes);
        }
    }
}


Here's an example: my Winamp plugin for PS3ReCon
/* Winamp plugin for PS3ReCon by Kevin DEHLINGER (c) 2009 */
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
 
namespace PS3ReCon //do not change that
{
    public class Plugin //do not change that
    {
        /* Import win32 SendMessage */
        [DllImport("user32.dll", EntryPoint = "SendMessageW")]
        static  extern int SendMessage(IntPtr hWnd,int msg,int wParam);
 
        /* Import win32 FindWindow */
        [DllImport("user32.dll")]
        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
       
        /* winamp API */
        private static IntPtr handle = IntPtr.Zero;
        private static String classname = "Winamp v1.x";
        private static int WM_COMMAND = 0x0111;
 
 
        public static void SendCode(object[] code) // mandatory method
        {
            /* here's the code that'll be executed when you press a button that has been configured to call your plugin */
            /* basicaly you just have to do whatever you wanna do with the code */
 
            /* Send message to Winamp */
            handle = FindWindow(classname, null);
            int tmp = (int)Convert.ToInt32(code[0].ToString());
            if (handle != IntPtr.Zero)
            {
                SendMessage(handle, WM_COMMAND, tmp);
            }
        }
 
        public static string[] GetCodes() // mandatory method
        {
            // send the codes list to ps3recon, even indexes are the actual code (an int in a string format), while odd indexes are the text that'll be displayed
            string[] codes = new string[] {    "40044","(Winamp) Previous track button",
                                               "40048","(Winamp) Next track button",
                                               "40045","(Winamp) Play button",
                                               "40046","(Winamp) Pause/Unpause button",
                                               "40047","(Winamp) Stop button",
                                               "40148","(Winamp) Fast-forward 5 seconds",
                                               "40144","(Winamp) Fast-rewind 5 seconds",
                                               "40001","(Winamp) Close",
                                               "40058","(Winamp) Raise volume by 1%",
                                               "40059","(Winamp) Lower volume by 1%"         };
            return (codes);
        }
    }
}