mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-06-29 10:30:36 +00:00
Change freeglut to only look for ctrl/alt/shift down events when window
has focus. Previously this functionality was in libqb.
This commit is contained in:
parent
6e0fd03256
commit
86a6646bdb
|
@ -29745,23 +29745,12 @@ void sub__maptriangle(int32 cull_options,float sx1,float sy1,float sx2,float sy2
|
|||
if (key==GLUT_KEY_INSERT){vk=0x5200;}
|
||||
|
||||
#ifdef CORE_FREEGLUT
|
||||
#ifdef QB64_WINDOWS
|
||||
if (window_handle==GetForegroundWindow()) {
|
||||
if (key==112){vk=VK+QBVK_LSHIFT;}
|
||||
if (key==113){vk=VK+QBVK_RSHIFT;}
|
||||
if (key==114){vk=VK+QBVK_LCTRL;}
|
||||
if (key==115){vk=VK+QBVK_RCTRL;}
|
||||
if (key==116){vk=VK+QBVK_LALT;}
|
||||
if (key==117){vk=VK+QBVK_RALT;}
|
||||
}
|
||||
#else
|
||||
if (key==112){vk=VK+QBVK_LSHIFT;}
|
||||
if (key==113){vk=VK+QBVK_RSHIFT;}
|
||||
if (key==114){vk=VK+QBVK_LCTRL;}
|
||||
if (key==115){vk=VK+QBVK_RCTRL;}
|
||||
if (key==116){vk=VK+QBVK_LALT;}
|
||||
if (key==117){vk=VK+QBVK_RALT;}
|
||||
#endif
|
||||
if (key==112){vk=VK+QBVK_LSHIFT;}
|
||||
if (key==113){vk=VK+QBVK_RSHIFT;}
|
||||
if (key==114){vk=VK+QBVK_LCTRL;}
|
||||
if (key==115){vk=VK+QBVK_RCTRL;}
|
||||
if (key==116){vk=VK+QBVK_LALT;}
|
||||
if (key==117){vk=VK+QBVK_RALT;}
|
||||
#endif
|
||||
|
||||
if (vk!=-1){
|
||||
|
|
|
@ -1948,59 +1948,61 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
|
|||
if ( window )
|
||||
{
|
||||
/* Checking for CTRL, ALT, and SHIFT key positions: Key Down! */
|
||||
if ( !lControl && GetAsyncKeyState ( VK_LCONTROL ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_CTRL_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if (hWnd == GetForegroundWindow()) {
|
||||
if ( !lControl && GetAsyncKeyState ( VK_LCONTROL ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_CTRL_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
lControl = 1;
|
||||
}
|
||||
lControl = 1;
|
||||
}
|
||||
|
||||
if ( !rControl && GetAsyncKeyState ( VK_RCONTROL ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_CTRL_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if ( !rControl && GetAsyncKeyState ( VK_RCONTROL ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_CTRL_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
rControl = 1;
|
||||
}
|
||||
rControl = 1;
|
||||
}
|
||||
|
||||
if ( !lShift && GetAsyncKeyState ( VK_LSHIFT ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_SHIFT_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if ( !lShift && GetAsyncKeyState ( VK_LSHIFT ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_SHIFT_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
lShift = 1;
|
||||
}
|
||||
lShift = 1;
|
||||
}
|
||||
|
||||
if ( !rShift && GetAsyncKeyState ( VK_RSHIFT ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_SHIFT_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if ( !rShift && GetAsyncKeyState ( VK_RSHIFT ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_SHIFT_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
rShift = 1;
|
||||
}
|
||||
rShift = 1;
|
||||
}
|
||||
|
||||
if ( !lAlt && GetAsyncKeyState ( VK_LMENU ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_ALT_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if ( !lAlt && GetAsyncKeyState ( VK_LMENU ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_ALT_L, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
lAlt = 1;
|
||||
}
|
||||
lAlt = 1;
|
||||
}
|
||||
|
||||
if ( !rAlt && GetAsyncKeyState ( VK_RMENU ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_ALT_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
if ( !rAlt && GetAsyncKeyState ( VK_RMENU ) )
|
||||
{
|
||||
INVOKE_WCB ( *window, Special,
|
||||
( GLUT_KEY_ALT_R, window->State.MouseX, window->State.MouseY )
|
||||
);
|
||||
|
||||
rAlt = 1;
|
||||
}
|
||||
rAlt = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Checking for CTRL, ALT, and SHIFT key positions: Key Up! */
|
||||
if ( lControl && !GetAsyncKeyState ( VK_LCONTROL ) )
|
||||
|
|
Loading…
Reference in a new issue