Dead keys: act on compose status at press time
- Two dead keys that compose (´´ → ´) type the result right away; a dead key that can't continue the sequence types the old accents and starts anew - With Ctrl/Alt/Super, a dead key sends its dead keysym, as the physical key does, not the spacing accent from its label Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -373,6 +373,16 @@ private Q_SLOTS:
|
||||
QCOMPARE(engine.output, u"+Ľ2");
|
||||
}
|
||||
|
||||
void ctrlWithDeadKeySendsTheDeadKeysym()
|
||||
{
|
||||
KeyDef acute = makeKey(KeyType::Character, u"´"_s);
|
||||
acute.dead = XKB_KEY_dead_acute;
|
||||
tap(modifierKey(u"ctrl"_s));
|
||||
tap(acute);
|
||||
QCOMPARE(engine.keysyms, QList<quint32>{XKB_KEY_dead_acute});
|
||||
QCOMPARE(engine.lastModifiers, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void deadKeyComposesWithNextCharacter()
|
||||
{
|
||||
KeyDef acute = makeKey(KeyType::Character, u"´"_s);
|
||||
|
||||
Reference in New Issue
Block a user