- Timestamp:
- May 18, 2023 10:06:30 AM (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
r99479 r99838 1366 1366 return false; 1367 1367 1368 if (!m_fKeyboardCaptured) 1369 return false; 1370 1368 1371 /* It's possible that a key has been pressed while the keyboard was not 1369 1372 * captured, but is being released under the capture. Detect this situation 1370 1373 * and do not pass on the key press to the virtual machine. */ 1371 /** @todo r=bird: Why do this complicated test before the simple m_fKeyboardCaptured one? */1372 1374 uint8_t what_pressed = (event.flags & 0x01) 1373 1375 && (event.vkCode != VK_RSHIFT) 1374 1376 ? IsExtKeyPressed : IsKeyPressed; 1375 1377 if ( (event.flags & 0x80) /* released */ 1376 && ( ( UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination()).contains( event.vkCode)1378 && ( ( UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination()).contains((int)event.vkCode) 1377 1379 && !m_fIsHostkeyInCapture) 1378 1380 || ( m_pressedKeys[event.scanCode & 0x7F] 1379 1381 & (IsKbdCaptured | what_pressed)) 1380 1382 == what_pressed)) 1381 return false;1382 1383 if (!m_fKeyboardCaptured)1384 1383 return false; 1385 1384 … … 1785 1784 symbol = 0; 1786 1785 if (symbol) 1787 fWasProcessed = actionPool()->processHotKey(QKeySequence( (Qt::UNICODE_ACCEL + QChar(symbol).toUpper().unicode())));1786 fWasProcessed = actionPool()->processHotKey(QKeySequence(QChar(symbol).toUpper().unicode())); 1788 1787 } 1789 1788 delete[] pList;
Note:
See TracChangeset
for help on using the changeset viewer.

