forked from bartvdbraak/blender
Fix [#24630] alt+shift+LMB dragging does not work
Reported by Nils Austa There was double handling of modifier keys. With my autumn work on the modifier keys I had moved state checks for modifier keys into convertKey(), but left the call to handleModifierKeys. That caused problems with proper modifier key handling in the entire key handling code of GHOST.
This commit is contained in:
parent
875a7288ca
commit
4eb806b0a4
@ -488,11 +488,6 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L
|
||||
system->retrieveModifierKeys(oldModifiers);
|
||||
system->getModifierKeys(newModifiers);
|
||||
|
||||
// check if modifier keys different from this event have changed and trigger those
|
||||
// This can happen when some action takes a long time (Blender not responding), resulting
|
||||
// in dropped events.
|
||||
system->handleModifierKeys(window, wParam, lParam, oldModifiers, newModifiers);
|
||||
|
||||
//std::cout << wParam << " " << system->m_curKeyStatus[wParam] << " shift pressed: " << system->shiftPressed() << std::endl;
|
||||
|
||||
if ((wParam >= '0') && (wParam <= '9')) {
|
||||
@ -777,12 +772,13 @@ LRESULT CALLBACK GHOST_SystemWin32::s_llKeyboardProc(int nCode, WPARAM wParam, L
|
||||
|
||||
KBDLLHOOKSTRUCT &keyb = *(PKBDLLHOOKSTRUCT)(lParam);
|
||||
system->m_prevKeyStatus[keyb.vkCode] = system->m_curKeyStatus[keyb.vkCode];
|
||||
//std::cout << "ll: " << keyb.vkCode << " " << down << " ";
|
||||
//std::cout << "ll: " << keyb.vkCode << " " << down << " ||| ";
|
||||
if(keyb.flags) {
|
||||
if((keyb.flags & LLKHF_EXTENDED) == LLKHF_EXTENDED) {
|
||||
//std::cout << "extended ";
|
||||
}
|
||||
if((keyb.flags & LLKHF_ALTDOWN) == LLKHF_ALTDOWN) {
|
||||
//std::cout << "alt ";
|
||||
}
|
||||
if((keyb.flags & LLKHF_INJECTED)== LLKHF_INJECTED) {
|
||||
//std::cout << "injected ";
|
||||
|
Loading…
Reference in New Issue
Block a user