Revert "Qt xcb: remove false detects of Qt::GroupSwitchModifier"

This reverts commit 25a7034d78aeb12726a1052d64c0aa3314a1f69d.

The change makes the 5th modifier key broken, which is more
serious than Backspace key doesn't work in CapsLock on.

And we don't have a better solution for both of them now,
perhaps it's better to keep the old behavior in 6.2 LTS.

Task-number: QTBUG-49771
Fixes: QTBUG-95108
Fixes: QTBUG-95289
Pick-to: 6.2 6.2.0 5.15
Change-Id: Ie5d0aafa562b5097e089cafc83ae227c75c6d752
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Liang Qi 2021-09-17 10:02:24 +02:00
parent fae419a8e6
commit bb4b40b7e1

View File

@ -60,11 +60,11 @@ Qt::KeyboardModifiers QXcbKeyboard::translateModifiers(int s) const
ret |= Qt::ShiftModifier;
if (s & XCB_MOD_MASK_CONTROL)
ret |= Qt::ControlModifier;
if ((s & rmod_masks.alt) == rmod_masks.alt)
if (s & rmod_masks.alt)
ret |= Qt::AltModifier;
if ((s & rmod_masks.meta) == rmod_masks.meta)
if (s & rmod_masks.meta)
ret |= Qt::MetaModifier;
if ((s & rmod_masks.altgr) == rmod_masks.altgr)
if (s & rmod_masks.altgr)
ret |= Qt::GroupSwitchModifier;
return ret;
}