From eea73592f91925b84a8e307bd5d2f02013308487 Mon Sep 17 00:00:00 2001 From: Gavin MacGregor Date: Sun, 23 Nov 2025 22:01:54 +0000 Subject: [PATCH] Add additional escape key sequences for AZERTY layouts Using the Escape key followed by Shift and a number key to insert a foreground mosaic attribute doesn't work on an AZERTY keyboard layout where the Shift key is always needed to type a number. The additional escape keys are on the top row of letters situated below the equivalent number key as those letters were not previously not used. Red: 1 or A Green: 2 or Z Yellow: 3 or E Blue: 4 or R Magenta: 5 or T Cyan: 6 or Y White: 7 or U Black: 0 or P --- src/qteletextmaker/mainwindow.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/qteletextmaker/mainwindow.cpp b/src/qteletextmaker/mainwindow.cpp index 8047644..997ec07 100644 --- a/src/qteletextmaker/mainwindow.cpp +++ b/src/qteletextmaker/mainwindow.cpp @@ -824,16 +824,23 @@ void MainWindow::createActions() QMenu *alphaColourSubMenu = insertMenu->addMenu(tr("Alphanumeric colour")); QMenu *mosaicColourSubMenu = insertMenu->addMenu(tr("Mosaic colour")); for (int i=0; i<=7; i++) { - const char *colours[] = { "Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White" }; + const char *colourNames[] = { "Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White" }; + const QChar azertyKeys[] = { 'P', 'A', 'Z', 'E', 'R', 'T', 'Y', 'U' }; - QAction *alphaColour = alphaColourSubMenu->addAction(tr(colours[i])); - alphaColour->setShortcut(QKeySequence(QString("Esc, %1").arg(i))); - alphaColour->setStatusTip(QString("Insert alphanumeric %1 attribute").arg(QString(colours[i]).toLower())); + QAction *alphaColour = alphaColourSubMenu->addAction(tr(colourNames[i])); + alphaColour->setShortcuts(QList { + QKeySequence(QString("Esc, %1").arg(i)), + QKeySequence(QString("Esc, %1").arg(azertyKeys[i])) + } ); + alphaColour->setStatusTip(QString("Insert alphanumeric %1 attribute").arg(QString(colourNames[i]).toLower())); connect(alphaColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i); }); - QAction *mosaicColour = mosaicColourSubMenu->addAction(tr(colours[i])); - mosaicColour->setShortcut(QKeySequence(QString("Esc, Shift+%1").arg(i))); - mosaicColour->setStatusTip(QString("Insert mosaic %1 attribute").arg(QString(colours[i]).toLower())); + QAction *mosaicColour = mosaicColourSubMenu->addAction(tr(colourNames[i])); + mosaicColour->setShortcuts(QList { + QKeySequence(QString("Esc, Shift+%1").arg(i)), + QKeySequence(QString("Esc, Shift+%1").arg(azertyKeys[i])) + } ); + mosaicColour->setStatusTip(QString("Insert mosaic %1 attribute").arg(QString(colourNames[i]).toLower())); connect(mosaicColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i+0x10); }); }