I've recently been getting into DirectX and along with that, game programming. I've started fleshing out my base of the program and now I'm looking to get into handling input. The way I have right now is through calling a function in my main loop which queries the mouse and keyboard using GetDeviceState (in a nutshell) and their respective arguments; however, after doing some more in depth reading into DirectInput, I've seen many people saying how DirectInput is NOT recommended for use anymore. Microsoft seems to agree too!
What I am looking for are other ways to go about doing this, along with discussion on the pros and cons about them (not necessary, but welcome. I can research)