+ case WM_SYSKEYDOWN:
+ case WM_SYSKEYUP:
+ {
+ unsigned key = event.wparam | ((event.lparam>>16)&0x100);
+ if(key==VK_SHIFT)
+ {
+ if(((event.lparam>>16)&0xFF)==MapVirtualKey(VK_RSHIFT, MAPVK_VK_TO_VSC))
+ key = VK_RSHIFT;
+ else
+ key = VK_LSHIFT;
+ }
+ set_button_state(key_from_sys(key), false, true);
+ if(event.msg==WM_KEYDOWN || event.msg==WM_SYSKEYDOWN)
+ set_button_state(key_from_sys(key), true, true);
+ }