Hmm... you're right, my question was a bit vague.

Well, I am using DelphiX's DXInput component to read the states of the keys and joystick and the method I'm using a lot of lag on the detection specifically in the menu controls. I use a DXTimer(from DelphiX, again) as my timer for the game and the onTimer event is where I stuck my update function for my DXInput component and controls procedure... I have the GameTimer.interval set so that it matches my wanted frame rate. I may cahnge to a better Timer component later, but for now this is what I'm using.

I hope this is enough to go on?