I'm the developer of G-Hotkey and actually I'm in the same boat with Chris - in that I do not have the expertise to do it - that is in writing driver level software the directly interfaces with DirectInput. G-Hotkey actually intercepts a key/mouse button being pressed and then does something based on that key/mouse button press. The code was written to monitor keyboard/mouse activity using the GetAsyncKeyState library and then executing key presses by using the keybd_event/SendInput library. I'm simply queuing for keyboard/mouse activity approximately every 80th of a second (no it does not slow game performance down). Now you could do something similar in AutoHotkey, but you still would have the following problems that probably cannot be overcome:
PunkBuster will probably block this activity
This will not work with gameguard/nprotect
My understanding is the Belkin N50/N52 is working correctly though with those games that use PunkBuster/gameguard/nprotect so I assume that it uses a driver that directly interfaces with DirectInput. Anwyay in conclusion I still believe the driver solution is the best way as Astaelan pointed out in the thread:
A program that defeats AutoHotKey.