diff --git a/src/native/win32/org_lwjgl_input_Keyboard.cpp b/src/native/win32/org_lwjgl_input_Keyboard.cpp index d1691bc7..593b8858 100644 --- a/src/native/win32/org_lwjgl_input_Keyboard.cpp +++ b/src/native/win32/org_lwjgl_input_Keyboard.cpp @@ -163,7 +163,8 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Keyboard_nPoll } while (ret != DI_OK && ret != S_FALSE); void *keyboardBuffer = (void *)env->GetDirectBufferAddress(buffer); - lpdiKeyboard->GetDeviceState(256, keyboardBuffer); + jlong buffer_size = env->GetDirectBufferCapacity(buffer); + lpdiKeyboard->GetDeviceState((DWORD)buffer_size, keyboardBuffer); } /*