SDL 1.2.0: Little bug found...! :-(

Source: src/video/win32/wincommon/SDL_sysevents.c
Function: WIN_GetKeyboardState(void)

Constants VK_LSHIFT and VK_RSHIFT works only in WinNT,
in Win9x it should be VK_SHIFT
The same is for VK_LCONTROL and VK_RCONTROL (that should be VK_CONTROL),
and obviosly for VK_LMENU and VK_RMENU (that should be VK_MENU).

How can I add a platform check to distinguish between the two cases?

And in the same function there’s another thing that doesn’t work:

	if ( keyboard[VK_NUMLOCK] & 0x80) {
		state |= KMOD_NUM;
	if ( keyboard[VK_CAPITAL] & 0x80) {
		state |= KMOD_CAPS;

because the 0x80 mask is for the PRESS status, and for these keys
the correct check must be on mask 0x01 (TOGGLE status).

Thanks for any feedback.