Mine has always worked fine for DirectX games, the lParam and wParam are important...But testing it would be the only way to guarantee it works.
Also my currently plan is to make a DLL that hooks all keyboard monitoring functions, then you inject it into any APP/GAME.
Then it has a backdoor so you can send "fake/spoofed" key input to that APP/GAME without interfering with any other application. It should even if written properly not interfere with typing inside the game as a normal human.