Full keyboard mode, Ctrl/Alt/Super, dead keys, shift levels
- Full (iPad Pro) mode: every typing key from the keymap, number row, tab, caps lock, ctrl/super/alt; shifted symbol shown above and flickable - Dead keys compose with the locale's XKB compose table - Ctrl/Alt/Super stick like shift and turn keys into shortcuts; a tapped or held shift joins shortcuts and non-text keys, auto-shift and caps lock don't - Auto-capitalization and caps lock only capitalize letters; the user's shift picks the keymap's shifted level - Mode switch in settings keeps key size by resizing the window Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -72,14 +72,18 @@ private Q_SLOTS:
|
||||
void builtLayersHaveEvenRows_data()
|
||||
{
|
||||
QTest::addColumn<QString>("xkbLayout");
|
||||
for (const char *layout : {"us", "sk", "se", "de", "fr", "ru", "gr"})
|
||||
QTest::newRow(layout) << QString::fromLatin1(layout);
|
||||
QTest::addColumn<KeyboardMode>("mode");
|
||||
for (const char *layout : {"us", "sk", "se", "de", "fr", "ru", "gr"}) {
|
||||
QTest::addRow("%s compact", layout) << QString::fromLatin1(layout) << KeyboardMode::Compact;
|
||||
QTest::addRow("%s full", layout) << QString::fromLatin1(layout) << KeyboardMode::Full;
|
||||
}
|
||||
}
|
||||
|
||||
void builtLayersHaveEvenRows()
|
||||
{
|
||||
QFETCH(QString, xkbLayout);
|
||||
const Layout layout = TestLayouts::build(qPrintable(xkbLayout));
|
||||
QFETCH(KeyboardMode, mode);
|
||||
const Layout layout = TestLayouts::build(qPrintable(xkbLayout), mode);
|
||||
for (const Layer &layer : layout.layers) {
|
||||
const QList<QRectF> rects = computeKeyRects(layer, {1000, 300});
|
||||
qsizetype i = 0;
|
||||
|
||||
Reference in New Issue
Block a user