Quote:
Originally Posted by KevinH
The actual Qt code includes that modifier (from qevent.cpp)
Code:
Qt::KeyboardModifiers QKeyEvent::modifiers() const
{
if (key() == Qt::Key_Shift)
return Qt::KeyboardModifiers(QInputEvent::modifiers()^Qt::ShiftModifier);
if (key() == Qt::Key_Control)
return Qt::KeyboardModifiers(QInputEvent::modifiers()^Qt::ControlModifier);
if (key() == Qt::Key_Alt)
return Qt::KeyboardModifiers(QInputEvent::modifiers()^Qt::AltModifier);
if (key() == Qt::Key_Meta)
return Qt::KeyboardModifiers(QInputEvent::modifiers()^Qt::MetaModifier);
if (key() == Qt::Key_AltGr)
return Qt::KeyboardModifiers(QInputEvent::modifiers()^Qt::GroupSwitchModifier);
return QInputEvent::modifiers();
}
But I think the Windows platform code may not enable it?
|
Could key() be returning different values for subsequent if statements? What about doing
Code:
k = key();
if (k == Qt::Key_Shift)
etc.