Предоставлено Википедия ...
DirectInput и XInput имеют преимущества перед обычными событиями ввода Win32:
- Они позволяют приложению получать данные с устройств ввода, даже когда приложение находится в фоновом режиме.
- Они обеспечивают полную поддержку для любого типа устройства ввода, а также для обратной связи по силе.
- Посредством отображения действий приложения могут извлекать входные данные без необходимости знать, какое устройство используется для их генерации.
В основном DirectInput дает вам больше возможностей отойти от клавиатуры. Если клавиатура - это все, что вы когда-либо планируете использовать, то использование GetAsyncKeyState ()
вероятно не повредит