diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c index 728846216e..8ca463da9d 100644 --- a/dlls/dinput/keyboard.c +++ b/dlls/dinput/keyboard.c @@ -85,6 +85,7 @@ static LRESULT CALLBACK KeyboardCallback( int code, WPARAM wparam, LPARAM lparam DInputKeyState[dik_code] = new_diks; TRACE(" setting %02X to %02X\n", dik_code, DInputKeyState[dik_code]); + dik_code = id_to_offset(&This->base.data_format, DIDFT_MAKEINSTANCE(dik_code) | DIDFT_PSHBUTTON); EnterCriticalSection(&This->base.crit); queue_event((LPDIRECTINPUTDEVICE8A)This, dik_code, new_diks, hook->time, This->dinput->evsequence++); LeaveCriticalSection(&This->base.crit);