Reasons not to use DirectInput for Keyboard Input
I've got fed up searching through my past posts to copy and paste posts in reply to people using DirectInput for keyboard input. So I'll make an entry here, and then just link to it from other topics, and I'll edit this entry to add points.
Thanks to S1CA for keymaps, Input Method Editors and voice control points.
Reasons against using DirectInput for any form of keyboard input:
And reasons not to use it for Mouse input:
Overall, using DirectInput offers no advantages when reading data from mouse or keyboard devices, and the use of DirectInput in these scenarios is discouraged.
There's one occasion where it's acceptable to use DirectInput for mouse input, and that's if you need high DPI mouse input and you need to support pre-Win2k machines (Where raw input isn't available) - and that's supporting an OS that even Microsoft isn't supporting any longer. There are no other reasons you should ever use DI for mouse or keyboard input.
EDIT: Added mouse input stuff.