DirectInput is officially deprecated for keyboard and mouse.
Unfortunately it has one nifty advantage: All the possible buttons/axis/etc. of a gamepad/joystick get human readable names assigned, and you get calibration info; something I haven't gotten from RawInput.
In my engine I use RawInput plus DirectInput to match up controller info.