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:
@@ -30,6 +30,16 @@ private Q_SLOTS:
|
||||
QCOMPARE(dead.compose(u"q"_s), u"ˇq");
|
||||
}
|
||||
|
||||
void twoDeadKeysComposeAtOnce()
|
||||
{
|
||||
DeadKeys dead(u"en_US.UTF-8"_s);
|
||||
QVERIFY(dead.press(XKB_KEY_dead_acute).isEmpty());
|
||||
QCOMPARE(dead.press(XKB_KEY_dead_acute), u"´");
|
||||
QVERIFY(!dead.isPending());
|
||||
dead.press(XKB_KEY_dead_acute); // a fresh sequence
|
||||
QCOMPARE(dead.compose(u"e"_s), u"é");
|
||||
}
|
||||
|
||||
void cancelForgetsTheAccent()
|
||||
{
|
||||
DeadKeys dead(u"en_US.UTF-8"_s);
|
||||
|
||||
Reference in New Issue
Block a user