diff --git a/inputcontext/QskInputCompositionModel.cpp b/inputcontext/QskInputCompositionModel.cpp index 741b4362..999dddf3 100644 --- a/inputcontext/QskInputCompositionModel.cpp +++ b/inputcontext/QskInputCompositionModel.cpp @@ -62,7 +62,7 @@ bool QskInputCompositionModel::supportsSuggestions() const return false; } -void QskInputCompositionModel::composeKey( Qt::Key key ) +void QskInputCompositionModel::composeKey( int key ) { /* * This operation might be expensive (e.g. for Hunspell) and diff --git a/inputcontext/QskInputCompositionModel.h b/inputcontext/QskInputCompositionModel.h index d525f4d3..5d41a494 100644 --- a/inputcontext/QskInputCompositionModel.h +++ b/inputcontext/QskInputCompositionModel.h @@ -25,7 +25,7 @@ public: void commit( const QString& ); virtual void commitCandidate( int ); - void composeKey( Qt::Key ); + void composeKey( int key ); virtual int candidateCount() const; virtual QString candidate( int ) const; diff --git a/inputcontext/QskInputContext.cpp b/inputcontext/QskInputContext.cpp index 1036058c..fb5e3c53 100644 --- a/inputcontext/QskInputContext.cpp +++ b/inputcontext/QskInputContext.cpp @@ -444,6 +444,10 @@ void QskInputContext::setFocusObject( QObject* focusObject ) isAccepted = true; } } + else + { + isAccepted = true; + } } if ( isAccepted ) @@ -507,7 +511,7 @@ void QskInputContext::invokeAction( QInputMethod::Action action, int value ) { case QskInputPanel::Compose: { - model->composeKey( static_cast< Qt::Key >( value ) ); + model->composeKey( value ); break; } case QskInputPanel::SelectCandidate: diff --git a/skins/squiek/QskSquiekSkin.cpp b/skins/squiek/QskSquiekSkin.cpp index 0bc2d1cc..4836d36c 100644 --- a/skins/squiek/QskSquiekSkin.cpp +++ b/skins/squiek/QskSquiekSkin.cpp @@ -66,6 +66,9 @@ namespace highlighted = QskRgbValue::RoyalBlue; highlightedText = QskRgbValue::White; + + base = QskRgbValue::White; + baseActive = QskRgbValue::Beige; } else { @@ -76,6 +79,9 @@ namespace highlighted = QskRgbValue::BlueGrey500; highlightedText = QskRgbValue::White; + + base = QskRgbValue::Black; + baseActive = base.lighter( 110 ); } } @@ -91,6 +97,9 @@ namespace QColor darker150; QColor darker200; + QColor base; + QColor baseActive; + QColor contrasted; QColor contrastedText; @@ -304,14 +313,34 @@ void QskSquiekSkin::initTextInputHints() setBoxBorderMetrics( Q::Panel, 2 ); setBoxShape( Q::Panel, 4 ); - QColor fillColor( Qt::white ); + for ( auto state : { NoState, Q::ReadOnly, Q::Editing } ) + { + QColor c; - const QskBoxBorderColors borderColors( - fillColor.darker( 170 ), fillColor.darker( 170 ), - fillColor.darker( 105 ), fillColor.darker( 105 ) ); + if ( state == Q::ReadOnly ) + { + c = pal.theme.lighter( 120 ); + } + else if ( state == Q::Editing ) + { + c = pal.baseActive; + } + else + { + c = pal.base; + } - setBoxBorderColors( Q::Panel, borderColors ); - setGradient( Q::Panel, fillColor ); + const auto aspect = Q::Panel | state; + + const QskBoxBorderColors borderColors( + c.darker( 170 ), c.darker( 170 ), + c.darker( 105 ), c.darker( 105 ) ); + + setBoxBorderColors( aspect, borderColors ); + setGradient( aspect, c ); + } + + setAnimation( Q::Panel | Color, qskDuration ); } void QskSquiekSkin::initFocusIndicatorHints() diff --git a/src/controls/QskTextInput.cpp b/src/controls/QskTextInput.cpp index dd971d31..accd7359 100644 --- a/src/controls/QskTextInput.cpp +++ b/src/controls/QskTextInput.cpp @@ -19,6 +19,12 @@ QSK_QT_PRIVATE_BEGIN #undef private QSK_QT_PRIVATE_END +QSK_SUBCONTROL( QskTextInput, Panel ) +QSK_SUBCONTROL( QskTextInput, Text ) + +QSK_STATE( QskTextInput, ReadOnly, QskAspect::FirstSystemState << 1 ) +QSK_STATE( QskTextInput, Editing, QskAspect::FirstSystemState << 2 ) + static inline void qskBindSignals( const QQuickTextInput* wrappedInput, QskTextInput* input ) { @@ -33,9 +39,6 @@ static inline void qskBindSignals( const QQuickTextInput* wrappedInput, QObject::connect( wrappedInput, &QQuickTextInput::textChanged, input, [ input ] { input->Q_EMIT textChanged( input->text() ); } ); - QObject::connect( wrappedInput, &QQuickTextInput::selectedTextChanged, - input, [ input ] { input->Q_EMIT selectedTextChanged( input->selectedText() ); } ); - QObject::connect( wrappedInput, &QQuickTextInput::validatorChanged, input, &QskTextInput::validatorChanged ); @@ -56,15 +59,6 @@ static inline void qskBindSignals( const QQuickTextInput* wrappedInput, QObject::connect( wrappedInput, &QQuickTextInput::echoModeChanged, input, [ input ] { input->Q_EMIT echoModeChanged( input->echoMode() ); } ); - QObject::connect( wrappedInput, &QQuickTextInput::autoScrollChanged, - input, &QskTextInput::autoScrollChanged ); - - QObject::connect( wrappedInput, &QQuickTextInput::selectByMouseChanged, - input, &QskTextInput::selectByMouseChanged ); - - QObject::connect( wrappedInput, &QQuickTextInput::persistentSelectionChanged, - input, &QskTextInput::persistentSelectionChanged ); - QObject::connect( wrappedInput, &QQuickItem::implicitWidthChanged, input, &QskControl::resetImplicitSize ); @@ -77,113 +71,32 @@ namespace class TextInput final : public QQuickTextInput { public: - TextInput( QQuickItem* parent ): - QQuickTextInput( parent ) - { - classBegin(); + TextInput( QskTextInput* ); - setActiveFocusOnTab( false ); - setFlag( ItemAcceptsInputMethod, false ); - setFocusOnPress( false ); + void setEditing( bool on ); - componentComplete(); - - connect( this, &TextInput::contentSizeChanged, - this, &TextInput::updateClip ); - } - - void setAlignment( Qt::Alignment alignment ) + inline void setAlignment( Qt::Alignment alignment ) { setHAlign( ( HAlignment ) ( int( alignment ) & 0x0f ) ); setVAlign( ( VAlignment ) ( int( alignment ) & 0xf0 ) ); } - inline bool handleEvent( QEvent* event ) - { - return this->event( event ); - } - - virtual void focusInEvent( QFocusEvent* ) override + bool fixup() { auto d = QQuickTextInputPrivate::get( this ); - if ( d->m_readOnly ) - return; + const auto state = static_cast< int >( d->hasAcceptableInput( d->m_text ) ); - d->cursorVisible = true; + bool isAcceptable = ( state == QValidator::Acceptable ); + if ( !isAcceptable ) + isAcceptable = d->fixup(); -#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) - d->updateCursorBlinking(); - d->setBlinkingCursorEnabled( true ); -#else - d->setCursorBlinkPeriod( - QGuiApplication::styleHints()->cursorFlashTime() ); -#endif - - if ( d->determineHorizontalAlignment() ) - { - d->updateLayout(); - d->updateHorizontalScroll(); - d->updateVerticalScroll(); - -#if 0 - updateInputMethod(Qt::ImCursorRectangle | Qt::ImAnchorRectangle); -#endif - } - - connect( QGuiApplication::inputMethod(), - SIGNAL(inputDirectionChanged(Qt::LayoutDirection)), - this, SLOT(q_updateAlignment()) ); - - qGuiApp->inputMethod()->show(); - - polish(); - update(); + return isAcceptable; } - virtual void focusOutEvent( QFocusEvent* event ) override - { - auto d = QQuickTextInputPrivate::get( this ); - - if (d->m_readOnly) - return; - - d->cursorVisible = false; - -#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) - d->updateCursorBlinking(); - d->setBlinkingCursorEnabled( false ); -#else - d->setCursorBlinkPeriod( 0 ); -#endif - - if ( d->m_passwordEchoEditing || d->m_passwordEchoTimer.isActive() ) - { - d->updatePasswordEchoEditing( false ); - } - - if ( event->reason() != Qt::ActiveWindowFocusReason - && event->reason() != Qt::PopupFocusReason ) - { - if ( d->hasSelectedText() && !d->persistentSelection ) - deselect(); - } - - const auto status = d->hasAcceptableInput( d->m_text ); - if ( status == QQuickTextInputPrivate::AcceptableInput ) - { - if ( d->fixup() ) - Q_EMIT editingFinished(); - } - - disconnect( QGuiApplication::inputMethod(), - SIGNAL(inputDirectionChanged(Qt::LayoutDirection)), - this, SLOT(q_updateAlignment()) ); - - polish(); - update(); - } + inline bool handleEvent( QEvent* event ) { return this->event( event ); } + protected: virtual void geometryChanged( const QRectF& newGeometry, const QRectF& oldGeometry ) override { @@ -197,21 +110,63 @@ namespace ( contentHeight() > height() ) ); } }; -} -QSK_SUBCONTROL( QskTextInput, Panel ) -QSK_SUBCONTROL( QskTextInput, Text ) + TextInput::TextInput( QskTextInput* textInput ): + QQuickTextInput( textInput ) + { + classBegin(); + + setActiveFocusOnTab( false ); + setFlag( ItemAcceptsInputMethod, false ); + setFocusOnPress( false ); + + componentComplete(); + + connect( this, &TextInput::contentSizeChanged, + this, &TextInput::updateClip ); + } + + void TextInput::setEditing( bool on ) + { + auto d = QQuickTextInputPrivate::get( this ); + + if ( d->cursorVisible == on ) + return; + + setCursorVisible( on ); + + if ( !on ) + { + if ( d->m_passwordEchoEditing || d->m_passwordEchoTimer.isActive() ) + d->updatePasswordEchoEditing( false ); + + const auto status = d->hasAcceptableInput( d->m_text ); + if ( status == QQuickTextInputPrivate::AcceptableInput ) + { + if ( d->fixup() ) + Q_EMIT editingFinished(); + } + } + + polish(); + update(); + } +} class QskTextInput::PrivateData { public: TextInput* textInput; + + unsigned int activationModes : 3; }; QskTextInput::QskTextInput( QQuickItem* parent ): Inherited( parent ), m_data( new PrivateData() ) { + m_data->activationModes = ActivationOnMouse | ActivationOnKey; + setPolishOnResize( true ); setFocusPolicy( Qt::StrongFocus ); @@ -259,7 +214,37 @@ bool QskTextInput::event( QEvent* event ) void QskTextInput::keyPressEvent( QKeyEvent* event ) { - m_data->textInput->handleEvent( event ); + if ( isEditing() ) + { + if ( event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return ) + { + if ( m_data->textInput->fixup() ) + { + auto inputMethod = QGuiApplication::inputMethod(); + inputMethod->commit(); + + if ( !( inputMethodHints() & Qt::ImhMultiLine) ) + setEditing( false ); + } + } + else + { + m_data->textInput->handleEvent( event ); + } + + return; + } + + if ( ( m_data->activationModes & ActivationOnKey ) && !event->isAutoRepeat() ) + { + if ( event->key() == Qt::Key_Select || event->key() == Qt::Key_Space ) + { + setEditing( true ); + return; + } + } + + Inherited::keyPressEvent( event ); } void QskTextInput::keyReleaseEvent( QKeyEvent* event ) @@ -272,7 +257,7 @@ void QskTextInput::mousePressEvent( QMouseEvent* event ) m_data->textInput->handleEvent( event ); if ( !isReadOnly() && !qGuiApp->styleHints()->setFocusOnTouchRelease() ) - qGuiApp->inputMethod()->show(); + setEditing( true ); } void QskTextInput::mouseMoveEvent( QMouseEvent* event ) @@ -285,7 +270,7 @@ void QskTextInput::mouseReleaseEvent( QMouseEvent* event ) m_data->textInput->handleEvent( event ); if ( !isReadOnly() && qGuiApp->styleHints()->setFocusOnTouchRelease() ) - qGuiApp->inputMethod()->show(); + setEditing( true ); } void QskTextInput::mouseDoubleClickEvent( QMouseEvent* event ) @@ -300,13 +285,29 @@ void QskTextInput::inputMethodEvent( QInputMethodEvent* event ) void QskTextInput::focusInEvent( QFocusEvent* event ) { - m_data->textInput->handleEvent( event ); Inherited::focusInEvent( event ); } void QskTextInput::focusOutEvent( QFocusEvent* event ) { - m_data->textInput->handleEvent( event ); +#if 1 + if ( event->reason() != Qt::ActiveWindowFocusReason + && event->reason() != Qt::PopupFocusReason ) + { + m_data->textInput->deselect(); + } +#endif + + if ( m_data->activationModes & ActivationOnFocus ) + { +#if 0 + if ( !hasFocus() ) + { + setEditing( false ); + } +#endif + } + Inherited::focusOutEvent( event ); } @@ -343,6 +344,20 @@ void QskTextInput::setText( const QString& text ) m_data->textInput->setText( text ); } +QskTextInput::ActivationModes QskTextInput::activationModes() const +{ + return static_cast< QskTextInput::ActivationModes >( m_data->activationModes ); +} + +void QskTextInput::setActivationModes( ActivationModes modes ) +{ + if ( m_data->activationModes != modes ) + { + m_data->activationModes = modes; + Q_EMIT activationModesChanged(); + } +} + int QskTextInput::fontRole() const { return QskSkinnable::fontRole( Text ); @@ -402,10 +417,57 @@ bool QskTextInput::isReadOnly() const void QskTextInput::setReadOnly( bool on ) { - m_data->textInput->setReadOnly( on ); - m_data->textInput->setFlag( QQuickItem::ItemAcceptsInputMethod, false ); + if ( m_data->textInput->isReadOnly() == on ) + return; +#if 1 + // do we want to be able to restore the previous policy ? + setFocusPolicy( Qt::NoFocus ); +#endif + + m_data->textInput->setReadOnly( on ); + + m_data->textInput->setFlag( QQuickItem::ItemAcceptsInputMethod, !on ); qskUpdateInputMethod( this, Qt::ImEnabled ); + + setSkinStateFlag( ReadOnly, true ); +} + +void QskTextInput::setEditing( bool on ) +{ + if ( isReadOnly() || on == ( skinState() & Editing ) ) + return; + + setSkinStateFlag( Editing, on ); + m_data->textInput->setEditing( on ); + + auto inputMethod = QGuiApplication::inputMethod(); + + if ( on ) + { +#if 0 + updateInputMethod(Qt::ImCursorRectangle | Qt::ImAnchorRectangle); + QGuiApplication::inputMethod()->inputDirection +#endif + inputMethod->show(); + } + else + { +#if 0 + inputMethod->reset(); +#endif + inputMethod->hide(); +#if 1 + qskForceActiveFocus( this, Qt::PopupFocusReason ); +#endif + } + + Q_EMIT editingChanged( on ); +} + +bool QskTextInput::isEditing() const +{ + return skinState() & Editing; } void QskTextInput::ensureVisible( int position ) @@ -413,16 +475,6 @@ void QskTextInput::ensureVisible( int position ) m_data->textInput->ensureVisible( position ); } -bool QskTextInput::isCursorVisible() const -{ - return m_data->textInput->isCursorVisible(); -} - -void QskTextInput::setCursorVisible( bool on ) -{ - m_data->textInput->setCursorVisible( on ); -} - int QskTextInput::cursorPosition() const { return m_data->textInput->cursorPosition(); @@ -433,21 +485,6 @@ void QskTextInput::setCursorPosition(int pos) m_data->textInput->setCursorPosition( pos ); } -int QskTextInput::selectionStart() const -{ - return m_data->textInput->selectionStart(); -} - -int QskTextInput::selectionEnd() const -{ - return m_data->textInput->selectionEnd(); -} - -QString QskTextInput::selectedText() const -{ - return m_data->textInput->selectedText(); -} - int QskTextInput::maxLength() const { return m_data->textInput->maxLength(); @@ -524,48 +561,6 @@ void QskTextInput::setOverwriteMode( bool overwrite ) #endif } -bool QskTextInput::autoScroll() const -{ - return m_data->textInput->autoScroll(); -} - -void QskTextInput::setAutoScroll(bool on) -{ - m_data->textInput->setAutoScroll( on ); -} - -bool QskTextInput::selectByMouse() const -{ - return m_data->textInput->selectByMouse(); -} - -void QskTextInput::setSelectByMouse(bool on) -{ - m_data->textInput->setSelectByMouse( on ); -} - -QskTextInput::SelectionMode QskTextInput::mouseSelectionMode() const -{ - const auto mode = m_data->textInput->mouseSelectionMode(); - return static_cast< SelectionMode >( mode ); -} - -void QskTextInput::setMouseSelectionMode( SelectionMode mode ) -{ - m_data->textInput->setMouseSelectionMode( - static_cast< QQuickTextInput::SelectionMode >( mode ) ); -} - -bool QskTextInput::persistentSelection() const -{ - return m_data->textInput->persistentSelection(); -} - -void QskTextInput::setPersistentSelection(bool persist) -{ - m_data->textInput->setPersistentSelection( persist ); -} - bool QskTextInput::hasAcceptableInput() const { return m_data->textInput->hasAcceptableInput(); @@ -623,11 +618,6 @@ bool QskTextInput::canRedo() const return m_data->textInput->canRedo(); } -bool QskTextInput::isInputMethodComposing() const -{ - return m_data->textInput->isInputMethodComposing(); -} - Qt::InputMethodHints QskTextInput::inputMethodHints() const { return m_data->textInput->inputMethodHints(); diff --git a/src/controls/QskTextInput.h b/src/controls/QskTextInput.h index 28080b3d..9155df68 100644 --- a/src/controls/QskTextInput.h +++ b/src/controls/QskTextInput.h @@ -22,10 +22,29 @@ class QSK_EXPORT QskTextInput : public QskControl Q_PROPERTY( Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged ) + Q_PROPERTY( ActivationModes activationModes READ activationModes + WRITE setActivationModes NOTIFY activationModesChanged ) + + Q_PROPERTY( bool editing READ isEditing + WRITE setEditing NOTIFY editingChanged ) + using Inherited = QskControl; public: QSK_SUBCONTROLS( Panel, Text ) + QSK_STATES( ReadOnly, Editing ) + + enum ActivationMode + { + NoActivation, + + ActivationOnFocus = 1 << 0 , + ActivationOnMouse = 1 << 1, + ActivationOnKey = 1 << 2 + }; + + Q_ENUM( ActivationMode ) + Q_DECLARE_FLAGS( ActivationModes, ActivationMode ) enum EchoMode { @@ -34,14 +53,8 @@ public: Password, PasswordEchoOnEdit }; - Q_ENUM(EchoMode) - enum SelectionMode - { - SelectCharacters, - SelectWords - }; - Q_ENUM(SelectionMode) + Q_ENUM(EchoMode) QskTextInput( QQuickItem* parent = nullptr ); QskTextInput( const QString& text, QQuickItem* parent = nullptr ); @@ -56,24 +69,19 @@ public: void setAlignment( Qt::Alignment ); Qt::Alignment alignment() const; - virtual QSizeF contentsSizeHint() const override; + void setActivationModes( ActivationModes ); + ActivationModes activationModes() const; + + bool isEditing() const; QFont font() const; bool isReadOnly() const; void setReadOnly(bool); - bool isCursorVisible() const; - void setCursorVisible( bool ); - int cursorPosition() const; void setCursorPosition( int ); - int selectionStart() const; - int selectionEnd() const; - - QString selectedText() const; - int maxLength() const; void setMaxLength( int ); @@ -92,18 +100,6 @@ public: bool overwriteMode() const; void setOverwriteMode( bool ); - bool autoScroll() const; - void setAutoScroll(bool); - - bool selectByMouse() const; - void setSelectByMouse(bool); - - SelectionMode mouseSelectionMode() const; - void setMouseSelectionMode( SelectionMode ); - - bool persistentSelection() const; - void setPersistentSelection( bool ); - bool hasAcceptableInput() const; virtual QVariant inputMethodQuery( Qt::InputMethodQuery ) const override; @@ -112,17 +108,23 @@ public: bool canUndo() const; bool canRedo() const; - bool isInputMethodComposing() const; - Qt::InputMethodHints inputMethodHints() const; void setInputMethodHints( Qt::InputMethodHints ); void ensureVisible( int position ); + virtual QSizeF contentsSizeHint() const override; + public Q_SLOTS: void setText( const QString& ); + void setEditing( bool ); Q_SIGNALS: + void editingChanged( bool ); + + void activationModesChanged(); + void readOnlyChanged( bool ); + void textChanged( const QString& ); void textEdited( const QString& ); @@ -130,19 +132,9 @@ Q_SIGNALS: void fontRoleChanged(); void alignmentChanged(); - void readOnlyChanged( bool ); - - void accepted(); - void editingFinished(); - - void selectedTextChanged( const QString& ); - void overwriteModeChanged( bool ); void maximumLengthChanged( int ); void echoModeChanged( EchoMode ); - void autoScrollChanged( bool ); - void selectByMouseChanged( bool ); - void persistentSelectionChanged(); void validatorChanged(); void inputMaskChanged( const QString& ); @@ -170,4 +162,7 @@ private: std::unique_ptr< PrivateData > m_data; }; +Q_DECLARE_OPERATORS_FOR_FLAGS( QskTextInput::ActivationModes ) +Q_DECLARE_METATYPE( QskTextInput::ActivationModes ) + #endif diff --git a/src/inputpanel/QskInputPanel.cpp b/src/inputpanel/QskInputPanel.cpp index 6fe7b93a..e5aeef36 100644 --- a/src/inputpanel/QskInputPanel.cpp +++ b/src/inputpanel/QskInputPanel.cpp @@ -202,10 +202,39 @@ void QskInputPanel::commitCandidate( int index ) static_cast< QInputMethod::Action >( SelectCandidate ), index ); } -void QskInputPanel::commitKey( Qt::Key key ) +void QskInputPanel::commitKey( int key ) { QGuiApplication::inputMethod()->invokeAction( static_cast< QInputMethod::Action >( Compose ), key ); } +void QskInputPanel::keyPressEvent( QKeyEvent* event ) +{ + // animate the corresponding key button TODO + + switch( event->key() ) + { + case Qt::Key_Return: + case Qt::Key_Escape: + { + commitKey( event->key() ); + break; + } + + default: + { + const auto text = event->text(); + if ( !text.isEmpty() ) + commitKey( text[0].unicode() ); + else + commitKey( event->key() ); + } + } +} + +void QskInputPanel::keyReleaseEvent( QKeyEvent* event ) +{ + return Inherited::keyReleaseEvent( event ); +} + #include "moc_QskInputPanel.cpp" diff --git a/src/inputpanel/QskInputPanel.h b/src/inputpanel/QskInputPanel.h index 7945b83e..811bf27b 100644 --- a/src/inputpanel/QskInputPanel.h +++ b/src/inputpanel/QskInputPanel.h @@ -41,8 +41,12 @@ public Q_SLOTS: void setCandidatesEnabled( bool ); void setCandidates( const QVector< QString >& ); +protected: + virtual void keyPressEvent( QKeyEvent* ) override; + virtual void keyReleaseEvent( QKeyEvent* ) override; + private: - void commitKey( Qt::Key ); + void commitKey( int key ); void commitCandidate( int ); class PrivateData; diff --git a/src/inputpanel/QskVirtualKeyboard.cpp b/src/inputpanel/QskVirtualKeyboard.cpp index def17c35..6ffa3b5b 100644 --- a/src/inputpanel/QskVirtualKeyboard.cpp +++ b/src/inputpanel/QskVirtualKeyboard.cpp @@ -18,7 +18,7 @@ namespace ColumnCount = 12 }; - using KeyRow = Qt::Key[ ColumnCount ]; + using KeyRow = int[ ColumnCount ]; class Button final : public QskPushButton { @@ -60,7 +60,7 @@ struct QskVirtualKeyboardLayouts { struct KeyCodes { - using Row = Qt::Key[ ColumnCount ]; + using Row = int[ ColumnCount ]; Row data[ RowCount ]; }; @@ -91,14 +91,14 @@ struct QskVirtualKeyboardLayouts Layout zh; // Chinese }; -#define LOWER(x) Qt::Key(x + 32) // Convert an uppercase key to lowercase +#define LOWER(x) int(x + 32) // Convert an uppercase key to lowercase static constexpr const QskVirtualKeyboardLayouts qskKeyboardLayouts = { #include "QskVirtualKeyboardLayouts.cpp" }; #undef LOWER -static qreal qskKeyStretch( Qt::Key key ) +static qreal qskKeyStretch( int key ) { switch( key ) { @@ -143,7 +143,7 @@ static qreal qskRowStretch( const KeyRow& keyRow ) return stretch; } -static QString qskTextForKey( Qt::Key key ) +static QString qskTextForKey( int key ) { // Special cases switch( key ) @@ -318,7 +318,7 @@ void QskVirtualKeyboard::updateLayout() { for ( int col = 0; col < ColumnCount; col++ ) { - if ( keys[ col ] != Qt::Key( 0 ) ) + if ( keys[ col ] != 0 ) totalHSpacing += spacing; } } @@ -328,7 +328,7 @@ void QskVirtualKeyboard::updateLayout() for ( int col = 0; col < ColumnCount; col++ ) { - const Qt::Key key = keys[ col ]; + const int key = keys[ col ]; auto button = m_data->keyButtons[ row * ColumnCount + col ]; button->setVisible( key != Qt::Key( 0 ) ); @@ -358,7 +358,7 @@ void QskVirtualKeyboard::buttonPressed() return; const auto& keyCodes = ( *m_data->currentLayout )[ m_data->mode ]; - const Qt::Key key = keyCodes.data[ button->row() ][ button->column() ]; + const int key = keyCodes.data[ button->row() ][ button->column() ]; // Mode-switching keys switch( key ) diff --git a/src/inputpanel/QskVirtualKeyboard.h b/src/inputpanel/QskVirtualKeyboard.h index 9b720ff0..8724ff7a 100644 --- a/src/inputpanel/QskVirtualKeyboard.h +++ b/src/inputpanel/QskVirtualKeyboard.h @@ -43,7 +43,7 @@ public: Q_SIGNALS: void modeChanged( Mode ); - void keySelected( Qt::Key ); + void keySelected( int keyCode ); protected: virtual bool event( QEvent* ) override; diff --git a/src/inputpanel/QskVirtualKeyboardLayouts.cpp b/src/inputpanel/QskVirtualKeyboardLayouts.cpp index e09832c6..41cef3fa 100644 --- a/src/inputpanel/QskVirtualKeyboardLayouts.cpp +++ b/src/inputpanel/QskVirtualKeyboardLayouts.cpp @@ -9,21 +9,21 @@ { { { // cyrillic lowercase { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Minus, Qt::Key_Period }, - { Qt::Key_Comma, Qt::Key(0x0443)/*u*/, Qt::Key(0x0435)/*ie*/, Qt::Key(0x0438)/*i*/, Qt::Key(0x0448)/*sha*/, Qt::Key(0x0449)/*shcha*/,Qt::Key(0x043A)/*ka*/, Qt::Key(0x0441)/*es*/, Qt::Key(0x0434)/*de*/, Qt::Key(0x0437)/*ze*/, Qt::Key(0x0446)/*tse*/ }, - { Qt::Key(0x044C)/*soft sign*/, Qt::Key(0x044F)/*ya*/, Qt::Key(0x0430)/*a*/, Qt::Key(0x043E)/*o*/, Qt::Key(0x0436)/*zhe*/, Qt::Key(0x0433)/*ghe*/, Qt::Key(0x0442)/*te*/, Qt::Key(0x043D)/*en*/, Qt::Key(0x0432)/*ve*/, Qt::Key(0x043C)/*em*/, Qt::Key(0x0447)/*che*/ }, - { Qt::Key_CapsLock, Qt::Key(0x044E)/*yu*/, Qt::Key(0x0439)/*short i*/, Qt::Key(0x044A)/*hard sign*/, Qt::Key(0x044D)/*e*/, Qt::Key(0x0444)/*ef*/, Qt::Key(0x0445)/*ha*/, Qt::Key(0x043F)/*pe*/, Qt::Key(0x0440)/*er*/, Qt::Key(0x043B)/*el*/, Qt::Key_Backspace }, + { Qt::Key_Comma, 0x0443/*u*/, 0x0435/*ie*/, 0x0438/*i*/, 0x0448/*sha*/, 0x0449/*shcha*/,0x043A/*ka*/, 0x0441/*es*/, 0x0434/*de*/, 0x0437/*ze*/, 0x0446/*tse*/ }, + { 0x044C/*soft sign*/, 0x044F/*ya*/, 0x0430/*a*/, 0x043E/*o*/, 0x0436/*zhe*/, 0x0433/*ghe*/, 0x0442/*te*/, 0x043D/*en*/, 0x0432/*ve*/, 0x043C/*em*/, 0x0447/*che*/ }, + { Qt::Key_CapsLock, 0x044E/*yu*/, 0x0439/*short i*/, 0x044A/*hard sign*/, 0x044D/*e*/, 0x0444/*ef*/, 0x0445/*ha*/, 0x043F/*pe*/, 0x0440/*er*/, 0x043B/*el*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_QuoteLeft, Qt::Key_ParenLeft, Qt::Key_Backslash, Qt::Key_Space, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { // cyrillic uppercase - { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_Plus, Qt::Key_Question, Qt::Key_Percent, Qt::Key_Equal, Qt::Key_Colon, Qt::Key_Slash, Qt::Key_Underscore, Qt::Key(0x2116)/*no sign*/, Qt::Key(0x0406)/*byelorussian-ukrainian i*/, Qt::Key_V }, - { Qt::Key(0x044B)/*small yeru*/, Qt::Key(0x0423)/*u*/, Qt::Key(0x0415)/*ie*/, Qt::Key(0x0418)/*i*/, Qt::Key(0x0428)/*sha*/, Qt::Key(0x0429)/*shcha*/, Qt::Key(0x041A)/* ka*/, Qt::Key(0x0421)/*es*/, Qt::Key(0x0414)/*de*/, Qt::Key(0x0417)/*ze*/, Qt::Key(0x0426)/*tse*/ }, - { Qt::Key(0x042C)/*soft sign*/, Qt::Key(0x042F)/*ya*/, Qt::Key(0x0410)/*a*/, Qt::Key(0x041E)/*o*/, Qt::Key(0x0416)/*zhe*/, Qt::Key(0x0413)/*ghe*/, Qt::Key(0x0422)/*te*/, Qt::Key(0x041D)/*en*/, Qt::Key(0x0412)/*ve*/, Qt::Key(0x041C)/*em*/, Qt::Key(0x0427)/*che*/ }, - { Qt::Key_Shift, Qt::Key(0x042E)/* yu*/, Qt::Key(0x0419)/* short i*/, Qt::Key(0x042A)/*hard sign*/, Qt::Key(0x042D)/*e*/, Qt::Key(0x0424)/*ef*/, Qt::Key(0x0425)/*ha*/, Qt::Key(0x041F)/*pe*/, Qt::Key(0x0420)/*er*/, Qt::Key(0x041B)/*el*/, Qt::Key_Backspace }, + { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_Plus, Qt::Key_Question, Qt::Key_Percent, Qt::Key_Equal, Qt::Key_Colon, Qt::Key_Slash, Qt::Key_Underscore, 0x2116/*no sign*/, 0x0406/*byelorussian-ukrainian i*/, Qt::Key_V }, + { 0x044B/*small yeru*/, 0x0423/*u*/, 0x0415/*ie*/, 0x0418/*i*/, 0x0428/*sha*/, 0x0429/*shcha*/, 0x041A/* ka*/, 0x0421/*es*/, 0x0414/*de*/, 0x0417/*ze*/, 0x0426/*tse*/ }, + { 0x042C/*soft sign*/, 0x042F/*ya*/, 0x0410/*a*/, 0x041E/*o*/, 0x0416/*zhe*/, 0x0413/*ghe*/, 0x0422/*te*/, 0x041D/*en*/, 0x0412/*ve*/, 0x041C/*em*/, 0x0427/*che*/ }, + { Qt::Key_Shift, 0x042E/* yu*/, 0x0419/* short i*/, 0x042A/*hard sign*/, 0x042D/*e*/, 0x0424/*ef*/, 0x0425/*ha*/, 0x041F/*pe*/, 0x0420/*er*/, 0x041B/*el*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_AsciiTilde, Qt::Key_ParenRight, Qt::Key_Semicolon, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_Slash }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde, Qt::Key_NumberSign }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde, Qt::Key_NumberSign }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -33,9 +33,9 @@ // Czech { { { - { Qt::Key_Plus, Qt::Key(0x011B)/*e caron*/, Qt::Key(0x0161)/*s caron*/, Qt::Key(0x010D)/*c caron*/, Qt::Key(0x0159)/*r caron*/, Qt::Key(0x017E)/*z caron*/, LOWER(Qt::Key_Yacute), LOWER(Qt::Key_Aacute), LOWER(Qt::Key_Iacute), LOWER(Qt::Key_Eacute), Qt::Key_Equal, Qt::Key_Asterisk }, + { Qt::Key_Plus, 0x011B/*e caron*/, 0x0161/*s caron*/, 0x010D/*c caron*/, 0x0159/*r caron*/, 0x017E/*z caron*/, LOWER(Qt::Key_Yacute), LOWER(Qt::Key_Aacute), LOWER(Qt::Key_Iacute), LOWER(Qt::Key_Eacute), Qt::Key_Equal, Qt::Key_Asterisk }, { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), LOWER(Qt::Key_Uacute) }, - { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key(0x016F)/*u ring*/, Qt::Key_section }, + { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), 0x016F/*u ring*/, Qt::Key_section }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Semicolon, Qt::Key_ParenRight, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -47,9 +47,9 @@ { Qt::Key_Mode_switch, Qt::Key_degree, Qt::Key_ParenLeft, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Question, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { - { Qt::Key_AsciiTilde, Qt::Key(0x011A)/*E caron*/, Qt::Key(0x0160)/*S caron*/, Qt::Key(0x010C)/*C caron*/, Qt::Key(0x0158)/*R caron*/, Qt::Key(0x017D)/*Z caron*/, Qt::Key_Yacute, Qt::Key_Aacute, Qt::Key_Iacute, Qt::Key_Eacute, Qt::Key_currency }, - { Qt::Key_Backslash, Qt::Key_Bar, Qt::Key(0x20AC)/*Euro*/, Qt::Key_unknown, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x0110)/*D stroke*/, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0141)/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, + { Qt::Key_AsciiTilde, 0x011A/*E caron*/, 0x0160/*S caron*/, 0x010C/*C caron*/, 0x0158/*R caron*/, 0x017D/*Z caron*/, Qt::Key_Yacute, Qt::Key_Aacute, Qt::Key_Iacute, Qt::Key_Eacute, Qt::Key_currency }, + { Qt::Key_Backslash, Qt::Key_Bar, 0x20AC/*Euro*/, Qt::Key_unknown, Qt::Key_division, Qt::Key_multiply }, + { 0x0111/*d stroke*/, 0x0110/*D stroke*/, Qt::Key_BracketLeft, Qt::Key_BracketRight, 0x0142/*l stroke*/, 0x0141/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, { Qt::Key_NumberSign, Qt::Key_Ampersand, Qt::Key_At, Qt::Key_BraceLeft, Qt::Key_BraceRight, Qt::Key_Less, Qt::Key_Greater, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Asterisk, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -73,7 +73,7 @@ } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar }, { Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_NumberSign, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -98,7 +98,7 @@ } }, { { { Qt::Key_paragraph, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_copyright, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, + { Qt::Key_copyright, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_cent, Qt::Key_unknown, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_periodcentered, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -109,21 +109,21 @@ { { { // lowercase { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Apostrophe, Qt::Key_Plus }, - { Qt::Key(0x00B7)/*middle dot*/, Qt::Key(0x03C2)/*sigma*/, Qt::Key(0x03B5)/*epsilon*/, Qt::Key(0x03C1)/*rho*/, Qt::Key(0x03C4)/*tau*/, Qt::Key(0x03C5)/*upsilon*/, Qt::Key(0x03B8)/*theta*/, Qt::Key(0x03B9)/*iota*/, Qt::Key(0x03BF)/*omicron*/, Qt::Key(0x03C0)/*pi*/, Qt::Key(0x2019)/*right single quote*/ }, - { Qt::Key(0x03B1)/*alpha*/, Qt::Key(0x03C3)/*sigma*/, Qt::Key(0x03B4)/*delta*/, Qt::Key(0x03C6)/*phi*/, Qt::Key(0x03B3)/*gamma*/, Qt::Key(0x03B7)/*eta*/, Qt::Key(0x03BE)/*xi*/, Qt::Key(0x03BA)/*kappa*/, Qt::Key(0x03BB)/*lamda*/, Qt::Key_BracketLeft, Qt::Key_BracketRight }, - { Qt::Key_CapsLock, Qt::Key(0x03B6)/*zeta*/, Qt::Key(0x03C7)/*chi*/, Qt::Key(0x03C8)/*psi*/, Qt::Key(0x03C9)/*omega*/, Qt::Key(0x03B2)/*beta*/, Qt::Key(0x03BD)/*nu*/, Qt::Key(0x03BC)/*mu*/, Qt::Key_Backspace }, + { 0x00B7/*middle dot*/, 0x03C2/*sigma*/, 0x03B5/*epsilon*/, 0x03C1/*rho*/, 0x03C4/*tau*/, 0x03C5/*upsilon*/, 0x03B8/*theta*/, 0x03B9/*iota*/, 0x03BF/*omicron*/, 0x03C0/*pi*/, 0x2019/*right single quote*/ }, + { 0x03B1/*alpha*/, 0x03C3/*sigma*/, 0x03B4/*delta*/, 0x03C6/*phi*/, 0x03B3/*gamma*/, 0x03B7/*eta*/, 0x03BE/*xi*/, 0x03BA/*kappa*/, 0x03BB/*lamda*/, Qt::Key_BracketLeft, Qt::Key_BracketRight }, + { Qt::Key_CapsLock, 0x03B6/*zeta*/, 0x03C7/*chi*/, 0x03C8/*psi*/, 0x03C9/*omega*/, 0x03B2/*beta*/, 0x03BD/*nu*/, 0x03BC/*mu*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_onehalf, Qt::Key_twosuperior, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { // uppercase { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_sterling, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_notsign, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_degree, Qt::Key_Asterisk }, - { Qt::Key(0x2015)/*horizontal bar*/, Qt::Key_brokenbar, Qt::Key(0x0395)/*epsilon*/, Qt::Key(0x03A1)/*rho*/, Qt::Key(0x03A4)/*tau*/, Qt::Key(0x03A5)/*upsilon*/, Qt::Key(0x0398)/*theta*/, Qt::Key(0x0399)/*iota*/, Qt::Key(0x039F)/*omicron*/, Qt::Key(0x03A0)/*pi*/, Qt::Key(0x2018)/*left single quote*/ }, - { Qt::Key(0x0391)/*alpha*/, Qt::Key(0x03A3)/*sigma*/, Qt::Key(0x0394)/*delta*/, Qt::Key(0x03A6)/*phi*/, Qt::Key(0x0393)/*gamma*/, Qt::Key(0x0397)/*eta*/, Qt::Key(0x039E)/*xi*/, Qt::Key(0x039A)/*kappa*/, Qt::Key(0x039B)/*lamda*/, Qt::Key_guillemotleft, Qt::Key_guillemotright }, - { Qt::Key_Shift, Qt::Key(0x0396)/*zeta*/, Qt::Key(0x03A7)/*chi*/, Qt::Key(0x03A8)/*psi*/, Qt::Key(0x03A9)/*omega*/, Qt::Key(0x0392)/*beta*/, Qt::Key(0x039D)/*nu*/, Qt::Key(0x039C)/*mu*/, Qt::Key_Backspace }, + { 0x2015/*horizontal bar*/, Qt::Key_brokenbar, 0x0395/*epsilon*/, 0x03A1/*rho*/, 0x03A4/*tau*/, 0x03A5/*upsilon*/, 0x0398/*theta*/, 0x0399/*iota*/, 0x039F/*omicron*/, 0x03A0/*pi*/, 0x2018/*left single quote*/ }, + { 0x0391/*alpha*/, 0x03A3/*sigma*/, 0x0394/*delta*/, 0x03A6/*phi*/, 0x0393/*gamma*/, 0x0397/*eta*/, 0x039E/*xi*/, 0x039A/*kappa*/, 0x039B/*lamda*/, Qt::Key_guillemotleft, Qt::Key_guillemotright }, + { Qt::Key_Shift, 0x0396/*zeta*/, 0x03A7/*chi*/, 0x03A8/*psi*/, 0x03A9/*omega*/, 0x0392/*beta*/, 0x039D/*nu*/, 0x039C/*mu*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_plusminus, Qt::Key_threesuperior, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { - { Qt::Key_paragraph, Qt::Key_sterling, Qt::Key(0x0384)/*tonos*/, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_copyright, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters,Qt::Key_Bar }, + { Qt::Key_paragraph, Qt::Key_sterling, 0x0384/*tonos*/, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, + { Qt::Key_copyright, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters,Qt::Key_Bar }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_cent, Qt::Key_unknown, Qt::Key_mu, }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_periodcentered, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -148,7 +148,7 @@ } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar }, { Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_NumberSign, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -173,7 +173,7 @@ } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight }, - { Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, + { Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, { }, { Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -198,7 +198,7 @@ } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar }, { Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde, Qt::Key_NumberSign }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -223,7 +223,7 @@ } }, { { { Qt::Key_paragraph, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_copyright, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Bar }, + { Qt::Key_copyright, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Bar }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_cent, Qt::Key_unknown, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_periodcentered, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -247,7 +247,7 @@ { Qt::Key_Mode_switch, Qt::Key_threesuperior, Qt::Key_Space, Qt::Key_Percent, Qt::Key_section, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { - { Qt::Key(0x20AC)/*Euro*/, Qt::Key_AsciiTilde, Qt::Key_NumberSign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_Bar, Qt::Key_QuoteLeft, Qt::Key_Backslash, Qt::Key_AsciiCircum, Qt::Key_At, Qt::Key_BracketRight, Qt::Key_BraceRight }, + { 0x20AC/*Euro*/, Qt::Key_AsciiTilde, Qt::Key_NumberSign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_Bar, Qt::Key_QuoteLeft, Qt::Key_Backslash, Qt::Key_AsciiCircum, Qt::Key_At, Qt::Key_BracketRight, Qt::Key_BraceRight }, { LOWER(Qt::Key_Agrave), LOWER(Qt::Key_Egrave), LOWER(Qt::Key_Igrave), LOWER(Qt::Key_Ograve), LOWER(Qt::Key_Ugrave), Qt::Key_Agrave, Qt::Key_Egrave, Qt::Key_Igrave, Qt::Key_Ograve, Qt::Key_Ugrave, Qt::Key_unknown }, { LOWER(Qt::Key_Acircumflex), LOWER(Qt::Key_Ecircumflex), LOWER(Qt::Key_Icircumflex), LOWER(Qt::Key_Ocircumflex), LOWER(Qt::Key_Ucircumflex), Qt::Key_Acircumflex, Qt::Key_Ecircumflex, Qt::Key_Icircumflex, Qt::Key_Ocircumflex, Qt::Key_Ucircumflex }, { LOWER(Qt::Key_Atilde), LOWER(Qt::Key_Ntilde), LOWER(Qt::Key_Otilde), Qt::Key_Atilde, Qt::Key_Ntilde, Qt::Key_Otilde, Qt::Key_Backspace }, @@ -259,22 +259,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, LOWER(Qt::Key_Odiaeresis), LOWER(Qt::Key_Udiaeresis), LOWER(Qt::Key_Oacute) }, - { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), Qt::Key(0x0151)/*o double acute*/ }, + { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), 0x0151/*o double acute*/ }, { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), LOWER(Qt::Key_Eacute), LOWER(Qt::Key_Aacute) }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_0, LOWER(Qt::Key_Icircumflex), LOWER(Qt::Key_Acircumflex), Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Apostrophe, Qt::Key_QuoteDbl, Qt::Key_Plus, Qt::Key_Exclam, Qt::Key_Percent, Qt::Key_Slash, Qt::Key_Equal, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Odiaeresis, Qt::Key_Udiaeresis, Qt::Key_Oacute }, - { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, Qt::Key(0x0150)/*O double acute*/ }, + { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, 0x0150/*O double acute*/ }, { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key_Eacute, Qt::Key_Aacute }, { Qt::Key_Shift, Qt::Key_Y, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_section, Qt::Key_Icircumflex, Qt::Key_Acircumflex, Qt::Key_Space, Qt::Key_Question, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_currency }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x0110)/*D stroke*/, LOWER(Qt::Key_Adiaeresis), Qt::Key_Adiaeresis, LOWER(Qt::Key_Iacute), Qt::Key_Iacute, Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0141)/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, + { 0x0111/*d stroke*/, 0x0110/*D stroke*/, LOWER(Qt::Key_Adiaeresis), Qt::Key_Adiaeresis, LOWER(Qt::Key_Iacute), Qt::Key_Iacute, 0x0142/*l stroke*/, 0x0141/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_AsciiTilde, Qt::Key_Minus, Qt::Key_Underscore, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -298,7 +298,7 @@ } }, { { { Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar }, { Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -308,24 +308,24 @@ // Japanese { // Some special characters (backspace, enter) are replaced with Japanese equivalents for rendering purposes { { // katakana - { Qt::Key(0x30A2)/*a*/, Qt::Key(0x30AB)/*ka*/, Qt::Key(0x30B5)/*sa*/, Qt::Key(0x30BF)/*ta*/, Qt::Key(0x30CA)/*na*/, Qt::Key(0x30CF)/*ha*/, Qt::Key(0x30DE)/*ma*/, Qt::Key(0x30E4)/*ya*/, Qt::Key(0x30E9)/*ra*/, Qt::Key_Muhenkan/*backspace*/ }, - { Qt::Key(0x30A4)/*i*/, Qt::Key(0x30AD)/*ki*/, Qt::Key(0x30B7)/*shi*/, Qt::Key(0x30C1)/*chi*/, Qt::Key(0x30CB)/*ni*/, Qt::Key(0x30D2)/*hi*/, Qt::Key(0x30DF)/*mi*/, Qt::Key_unknown, Qt::Key(0x30EA)/*ri*/, Qt::Key_Mode_switch }, - { Qt::Key(0x30A6)/*u*/, Qt::Key(0x30AF)/*ku*/, Qt::Key(0x30B9)/*su*/, Qt::Key(0x30C4)/*tsu*/, Qt::Key(0x30CC)/*nu*/, Qt::Key(0x30D5)/*fu*/, Qt::Key(0x30E0)/*mu*/, Qt::Key(0x30E6)/*yu*/, Qt::Key(0x30EB)/*ru*/, Qt::Key(0x3001)/*comma*/ }, - { Qt::Key(0x30A8)/*e*/, Qt::Key(0x30B1)/*ke*/, Qt::Key(0x30BB)/*se*/, Qt::Key(0x30C6)/*te*/, Qt::Key(0x30CD)/*ne*/, Qt::Key(0x30D8)/*he*/, Qt::Key(0x30E1)/*me*/, Qt::Key_unknown, Qt::Key(0x30EC)/*re*/, Qt::Key_Kana_Lock }, - { Qt::Key(0x30AA)/*o*/, Qt::Key(0x30B3)/*ko*/, Qt::Key(0x30BD)/*so*/, Qt::Key(0x30C8)/*to*/, Qt::Key(0x30CE)/*no*/, Qt::Key(0x30DB)/*ho*/, Qt::Key(0x30E2)/*mo*/, Qt::Key(0x30E8)/*yo*/, Qt::Key(0x30ED)/*ro*/, Qt::Key_Kanji/*enter*/ } + { 0x30A2/*a*/, 0x30AB/*ka*/, 0x30B5/*sa*/, 0x30BF/*ta*/, 0x30CA/*na*/, 0x30CF/*ha*/, 0x30DE/*ma*/, 0x30E4/*ya*/, 0x30E9/*ra*/, Qt::Key_Muhenkan/*backspace*/ }, + { 0x30A4/*i*/, 0x30AD/*ki*/, 0x30B7/*shi*/, 0x30C1/*chi*/, 0x30CB/*ni*/, 0x30D2/*hi*/, 0x30DF/*mi*/, Qt::Key_unknown, 0x30EA/*ri*/, Qt::Key_Mode_switch }, + { 0x30A6/*u*/, 0x30AF/*ku*/, 0x30B9/*su*/, 0x30C4/*tsu*/, 0x30CC/*nu*/, 0x30D5/*fu*/, 0x30E0/*mu*/, 0x30E6/*yu*/, 0x30EB/*ru*/, 0x3001/*comma*/ }, + { 0x30A8/*e*/, 0x30B1/*ke*/, 0x30BB/*se*/, 0x30C6/*te*/, 0x30CD/*ne*/, 0x30D8/*he*/, 0x30E1/*me*/, Qt::Key_unknown, 0x30EC/*re*/, Qt::Key_Kana_Lock }, + { 0x30AA/*o*/, 0x30B3/*ko*/, 0x30BD/*so*/, 0x30C8/*to*/, 0x30CE/*no*/, 0x30DB/*ho*/, 0x30E2/*mo*/, 0x30E8/*yo*/, 0x30ED/*ro*/, Qt::Key_Kanji/*enter*/ } } }, // v, n ??? { { // katakana deck 2 - { Qt::Key(0x30A1)/*small a*/, Qt::Key(0x30AC)/*ga*/, Qt::Key(0x30B6)/*za*/, Qt::Key(0x30C0)/*da*/, Qt::Key(0x30D0)/*ba*/, Qt::Key(0x30D1)/*pa*/, Qt::Key(0x30EF)/*wa*/, Qt::Key(0x30E3)/*small ya*/, Qt::Key(0x30FB)/*middle dot*/, Qt::Key_Muhenkan/*backspace*/ }, - { Qt::Key(0x30A3)/*small i*/, Qt::Key(0x30AE)/*gi*/, Qt::Key(0x30B8)/*ji*/, Qt::Key(0x30C2)/*ji2*/, Qt::Key(0x30D3)/*bi*/, Qt::Key(0x30D4)/*pi*/, Qt::Key(0x30F0)/*wi*/, Qt::Key_unknown, Qt::Key(0x30FC)/*prolonged sound mark*/, Qt::Key_Mode_switch }, - { Qt::Key(0x30A5)/*small u*/, Qt::Key(0x30B0)/*gu*/, Qt::Key(0x30BA)/*zu*/, Qt::Key(0x30C5)/*zu2*/, Qt::Key(0x30D6)/*bu*/, Qt::Key(0x30D7)/*pu*/, Qt::Key(0x30F4)/*vu*/, Qt::Key(0x30E5)/*small yu*/, Qt::Key(0x30FD)/*iteration mark*/, Qt::Key(0xFF61)/*period*/ }, - { Qt::Key(0x30A7)/*small e*/, Qt::Key(0x30B2)/*ge*/, Qt::Key(0x30BC)/*ze*/, Qt::Key(0x30C7)/*de*/, Qt::Key(0x30D9)/*be*/, Qt::Key(0x30DA)/*pe*/, Qt::Key(0x30F1)/*we*/, Qt::Key_unknown, Qt::Key(0x30FE)/*voiced iteration mark*/, Qt::Key_Kana_Shift }, - { Qt::Key(0x30A9)/*small o*/, Qt::Key(0x30B4)/*go*/, Qt::Key(0x30BE)/*zo*/, Qt::Key(0x30C9)/*do*/, Qt::Key(0x30DC)/*bo*/, Qt::Key(0x30DD)/*po*/, Qt::Key(0x30F2)/*wo*/, Qt::Key(0x30E7)/*small yo*/, Qt::Key(0x30F3)/*n*/, Qt::Key_Kanji/*enter*/ } + { 0x30A1/*small a*/, 0x30AC/*ga*/, 0x30B6/*za*/, 0x30C0/*da*/, 0x30D0/*ba*/, 0x30D1/*pa*/, 0x30EF/*wa*/, 0x30E3/*small ya*/, 0x30FB/*middle dot*/, Qt::Key_Muhenkan/*backspace*/ }, + { 0x30A3/*small i*/, 0x30AE/*gi*/, 0x30B8/*ji*/, 0x30C2/*ji2*/, 0x30D3/*bi*/, 0x30D4/*pi*/, 0x30F0/*wi*/, Qt::Key_unknown, 0x30FC/*prolonged sound mark*/, Qt::Key_Mode_switch }, + { 0x30A5/*small u*/, 0x30B0/*gu*/, 0x30BA/*zu*/, 0x30C5/*zu2*/, 0x30D6/*bu*/, 0x30D7/*pu*/, 0x30F4/*vu*/, 0x30E5/*small yu*/, 0x30FD/*iteration mark*/, 0xFF61/*period*/ }, + { 0x30A7/*small e*/, 0x30B2/*ge*/, 0x30BC/*ze*/, 0x30C7/*de*/, 0x30D9/*be*/, 0x30DA/*pe*/, 0x30F1/*we*/, Qt::Key_unknown, 0x30FE/*voiced iteration mark*/, Qt::Key_Kana_Shift }, + { 0x30A9/*small o*/, 0x30B4/*go*/, 0x30BE/*zo*/, 0x30C9/*do*/, 0x30DC/*bo*/, 0x30DD/*po*/, 0x30F2/*wo*/, 0x30E7/*small yo*/, 0x30F3/*n*/, Qt::Key_Kanji/*enter*/ } } }, { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Equal, Qt::Key_Muhenkan }, { Qt::Key_At, Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_NumberSign, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_acute, Qt::Key_Mode_switch }, { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiTilde }, - { Qt::Key_Less, Qt::Key_Greater, Qt::Key_registered, Qt::Key_copyright, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Question }, + { Qt::Key_Less, Qt::Key_Greater, Qt::Key_registered, Qt::Key_copyright, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Question }, { Qt::Key_Plus, Qt::Key_Asterisk, Qt::Key_Minus, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Kanji } } }, }, @@ -334,22 +334,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Minus, LOWER(Qt::Key_F) }, - { Qt::Key(0x016B)/*u macron*/, LOWER(Qt::Key_G), LOWER(Qt::Key_J), LOWER(Qt::Key_R), LOWER(Qt::Key_M), LOWER(Qt::Key_V), LOWER(Qt::Key_N), LOWER(Qt::Key_Z), Qt::Key(0x0113)/*e macron*/, Qt::Key(0x010D)/*c caron*/, Qt::Key(0x017E)/*z caron*/ }, - { Qt::Key(0x0161)/*s caron*/, LOWER(Qt::Key_U), LOWER(Qt::Key_S), LOWER(Qt::Key_I), LOWER(Qt::Key_L), LOWER(Qt::Key_D), LOWER(Qt::Key_A), LOWER(Qt::Key_T), LOWER(Qt::Key_E), LOWER(Qt::Key_C), LOWER(Qt::Key_H) }, - { Qt::Key_CapsLock, Qt::Key(0x0146)/*n cedilla*/, LOWER(Qt::Key_B), Qt::Key(0x012B)/*i macron*/, LOWER(Qt::Key_K), LOWER(Qt::Key_P), LOWER(Qt::Key_O), Qt::Key(0x0101)/*a macron*/, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0123)/*g cedilla*/, Qt::Key(0x0137)/*k cedilla*/, Qt::Key(0x013C)/*l cedilla*/, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { 0x016B/*u macron*/, LOWER(Qt::Key_G), LOWER(Qt::Key_J), LOWER(Qt::Key_R), LOWER(Qt::Key_M), LOWER(Qt::Key_V), LOWER(Qt::Key_N), LOWER(Qt::Key_Z), 0x0113/*e macron*/, 0x010D/*c caron*/, 0x017E/*z caron*/ }, + { 0x0161/*s caron*/, LOWER(Qt::Key_U), LOWER(Qt::Key_S), LOWER(Qt::Key_I), LOWER(Qt::Key_L), LOWER(Qt::Key_D), LOWER(Qt::Key_A), LOWER(Qt::Key_T), LOWER(Qt::Key_E), LOWER(Qt::Key_C), LOWER(Qt::Key_H) }, + { Qt::Key_CapsLock, 0x0146/*n cedilla*/, LOWER(Qt::Key_B), 0x012B/*i macron*/, LOWER(Qt::Key_K), LOWER(Qt::Key_P), LOWER(Qt::Key_O), 0x0101/*a macron*/, Qt::Key_Backspace }, + { Qt::Key_Mode_switch, 0x0123/*g cedilla*/, 0x0137/*k cedilla*/, 0x013C/*l cedilla*/, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Exclam, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_Slash, Qt::Key_Ampersand, Qt::Key_multiply, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Underscore, Qt::Key_F }, - { Qt::Key(0x016A)/*U macron*/, Qt::Key_G, Qt::Key_J, Qt::Key_R, Qt::Key_M, Qt::Key_V, Qt::Key_N, Qt::Key_Z, Qt::Key(0x0112)/*E macron*/, Qt::Key(0x010C)/*C caron*/, Qt::Key(0x017D)/*Z caron*/ }, - { Qt::Key(0x0160)/*S caron*/, Qt::Key_U, Qt::Key_S, Qt::Key_I, Qt::Key_L, Qt::Key_D, Qt::Key_A, Qt::Key_T, Qt::Key_E, Qt::Key_C, Qt::Key_H }, - { Qt::Key_Shift, Qt::Key(0x0145)/*N cedilla*/, Qt::Key_B, Qt::Key(0x012A)/*I macron*/, Qt::Key_K, Qt::Key_P, Qt::Key_O, Qt::Key(0x0100)/*A macron*/, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0122)/*G cedilla*/, Qt::Key(0x0136)/*K cedilla*/, Qt::Key(0x013B)/*L cedilla*/, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { 0x016A/*U macron*/, Qt::Key_G, Qt::Key_J, Qt::Key_R, Qt::Key_M, Qt::Key_V, Qt::Key_N, Qt::Key_Z, 0x0112/*E macron*/, 0x010C/*C caron*/, 0x017D/*Z caron*/ }, + { 0x0160/*S caron*/, Qt::Key_U, Qt::Key_S, Qt::Key_I, Qt::Key_L, Qt::Key_D, Qt::Key_A, Qt::Key_T, Qt::Key_E, Qt::Key_C, Qt::Key_H }, + { Qt::Key_Shift, 0x0145/*N cedilla*/, Qt::Key_B, 0x012A/*I macron*/, Qt::Key_K, Qt::Key_P, Qt::Key_O, 0x0100/*A macron*/, Qt::Key_Backspace }, + { Qt::Key_Mode_switch, 0x0122/*G cedilla*/, 0x0136/*K cedilla*/, 0x013B/*L cedilla*/, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_acute }, - { Qt::Key_At, Qt::Key_Q, Qt::Key(0x0122)/*R cedilla*/, Qt::Key_W, Qt::Key_Y, Qt::Key_X, Qt::Key_Otilde, Qt::Key_Equal, Qt::Key(0x2013)/*en dash*/, Qt::Key_Question, Qt::Key_AsciiTilde }, - { Qt::Key_registered, LOWER(Qt::Key_Q), Qt::Key(0x0157)/*r cedilla*/, LOWER(Qt::Key_W), LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_Otilde), Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_QuoteDbl, Qt::Key_NumberSign }, + { Qt::Key_At, Qt::Key_Q, 0x0122/*R cedilla*/, Qt::Key_W, Qt::Key_Y, Qt::Key_X, Qt::Key_Otilde, Qt::Key_Equal, 0x2013/*en dash*/, Qt::Key_Question, Qt::Key_AsciiTilde }, + { Qt::Key_registered, LOWER(Qt::Key_Q), 0x0157/*r cedilla*/, LOWER(Qt::Key_W), LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_Otilde), 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_QuoteDbl, Qt::Key_NumberSign }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -358,14 +358,14 @@ // Lithuanian { { { - { Qt::Key(0x0105)/*a ogonek*/, Qt::Key(0x010D)/*c caron*/, Qt::Key(0x0119)/*e ogonek*/, Qt::Key(0x0117)/*i ogonek*/, Qt::Key(0x0161)/*s caron*/, Qt::Key(0x0173)/*u ogonek*/, Qt::Key(0x016B)/*u macron*/, Qt::Key_9, Qt::Key_0, Qt::Key_Minus, Qt::Key(0x017E)/*z caron*/ }, + { 0x0105/*a ogonek*/, 0x010D/*c caron*/, 0x0119/*e ogonek*/, 0x0117/*i ogonek*/, 0x0161/*s caron*/, 0x0173/*u ogonek*/, 0x016B/*u macron*/, Qt::Key_9, Qt::Key_0, Qt::Key_Minus, 0x017E/*z caron*/ }, { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Y), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P) }, { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key_Semicolon, Qt::Key_Apostrophe }, { Qt::Key_CapsLock, LOWER(Qt::Key_Z), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_QuoteLeft, Qt::Key_Backslash, Qt::Key_Slash, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { - { Qt::Key(0x0104)/*A ogonek*/, Qt::Key(0x010C)/*C caron*/, Qt::Key(0x0118)/*E ogonek*/, Qt::Key(0x0116)/*I ogonek*/, Qt::Key(0x0160)/*S caron*/, Qt::Key(0x0172)/*U ogonek*/, Qt::Key(0x016A)/*U macron*/, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Underscore, Qt::Key(0x017D)/*Z caron*/ }, + { 0x0104/*A ogonek*/, 0x010C/*C caron*/, 0x0118/*E ogonek*/, 0x0116/*I ogonek*/, 0x0160/*S caron*/, 0x0172/*U ogonek*/, 0x016A/*U macron*/, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Underscore, 0x017D/*Z caron*/ }, { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Y, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P }, { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key_Colon, Qt::Key_QuoteDbl }, { Qt::Key_Shift, Qt::Key_Z, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Backspace }, @@ -373,7 +373,7 @@ } }, { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Equal }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_Percent, Qt::Key_Asterisk, Qt::Key_Plus, Qt::Key_Exclam }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_Percent, Qt::Key_Asterisk, Qt::Key_Plus, Qt::Key_Exclam }, { Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceLeft, Qt::Key_BraceRight, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiCircum, Qt::Key_NumberSign }, { Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -398,7 +398,7 @@ } }, { { { Qt::Key_paragraph, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_copyright, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar }, + { Qt::Key_copyright, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar }, { Qt::Key_ssharp, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, { Qt::Key_cent, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_periodcentered, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -424,7 +424,7 @@ } }, { { { Qt::Key_paragraph, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_copyright, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, + { Qt::Key_copyright, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_cent, Qt::Key_unknown, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_periodcentered, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -437,22 +437,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Plus, Qt::Key_Apostrophe }, - { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), Qt::Key(0x017C)/*z dot*/ }, - { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0105)/*a ogonek*/ }, + { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), 0x017C/*z dot*/ }, + { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), 0x0142/*l stroke*/, 0x0105/*a ogonek*/ }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, - { Qt::Key_Mode_switch, LOWER(Qt::Key_Oacute), Qt::Key(0x015B)/*s acute*/, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { Qt::Key_Mode_switch, LOWER(Qt::Key_Oacute), 0x015B/*s acute*/, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_NumberSign, Qt::Key_currency, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_Question, Qt::Key_Asterisk }, - { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, Qt::Key(0x0144)/*n acute*/ }, - { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key(0x0141)/*L stroke*/, Qt::Key(0x0119)/*E ogonek*/ }, + { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, 0x0144/*n acute*/ }, + { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, 0x0141/*L stroke*/, 0x0119/*E ogonek*/ }, { Qt::Key_Shift, Qt::Key_Y, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x017A)/*z acute*/, Qt::Key(0x0107)/*c acute*/, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { Qt::Key_Mode_switch, 0x017A/*z acute*/, 0x0107/*c acute*/, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_currency }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key_section, Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x0110)/*D stroke*/, Qt::Key_AsciiTilde, Qt::Key_Dollar, Qt::Key_ssharp }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, + { Qt::Key_section, 0x0111/*d stroke*/, 0x0110/*D stroke*/, Qt::Key_AsciiTilde, Qt::Key_Dollar, Qt::Key_ssharp }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -477,7 +477,7 @@ } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiCircum }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_AsciiTilde }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_AsciiTilde }, { Qt::Key_unknown, Qt::Key_unknown, Qt::Key_unknown, Qt::Key_unknown, Qt::Key_unknown, Qt::Key_section }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -488,22 +488,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Plus, Qt::Key_Apostrophe }, - { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), Qt::Key(0x0103)/*a breve*/ }, - { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key(0x015F)/*s cedilla*/, Qt::Key(0x0163)/*t cedilla*/ }, + { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), 0x0103/*a breve*/ }, + { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), 0x015F/*s cedilla*/, 0x0163/*t cedilla*/ }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_BracketRight, LOWER(Qt::Key_Icircumflex), LOWER(Qt::Key_Acircumflex), Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_NumberSign, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_Question, Qt::Key_Asterisk }, - { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, Qt::Key(0x0102)/*A breve*/ }, - { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key(0x015E)/*S cedilla*/, Qt::Key(0x0162)/*T cedilla*/ }, + { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, 0x0102/*A breve*/ }, + { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, 0x015E/*S cedilla*/, 0x0162/*T cedilla*/ }, { Qt::Key_Shift, Qt::Key_Y, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_BracketLeft, Qt::Key_Icircumflex, Qt::Key_Acircumflex, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_currency }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key_section, Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x0110)/*D stroke*/, Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0141)/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, + { Qt::Key_section, 0x0111/*d stroke*/, 0x0110/*D stroke*/, 0x0142/*l stroke*/, 0x0141/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_AsciiTilde, Qt::Key_Minus, Qt::Key_Underscore, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -513,21 +513,21 @@ { { { // cyrillic lowercase { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_Minus, Qt::Key_Equal }, - { Qt::Key(0x0439)/*short i*/, Qt::Key(0x0446)/*tse*/, Qt::Key(0x0443)/*u*/, Qt::Key(0x043A)/*ka*/, Qt::Key(0x0435)/*ie*/, Qt::Key(0x043D)/*en*/, Qt::Key(0x0433)/*ghe*/, Qt::Key(0x0448)/*sha*/, Qt::Key(0x0449)/*shcha*/, Qt::Key(0x0437)/*ze*/, Qt::Key(0x0445)/*ha*/ }, - { Qt::Key(0x0444)/*ef*/, Qt::Key(0x044B)/*yeru*/, Qt::Key(0x0432)/*ve*/, Qt::Key(0x0430)/*a*/, Qt::Key(0x043F)/*pe*/, Qt::Key(0x0440)/*er*/, Qt::Key(0x043E)/*o*/, Qt::Key(0x043B)/*el*/, Qt::Key(0x0434)/*de*/, Qt::Key(0x0436)/*zhe*/, Qt::Key(0x044D)/*e*/ }, - { Qt::Key_CapsLock, Qt::Key(0x044F)/*ya*/, Qt::Key(0x0447)/*che*/, Qt::Key(0x0441)/*es*/, Qt::Key(0x043C)/*em*/, Qt::Key(0x0438)/*i*/, Qt::Key(0x0442)/*te*/, Qt::Key(0x044C)/*soft sign*/, Qt::Key(0x0431)/*be*/, Qt::Key(0x044E)/*yu*/, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0451)/*io*/, Qt::Key(0x044A)/*hard sign*/, Qt::Key_Space, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { 0x0439/*short i*/, 0x0446/*tse*/, 0x0443/*u*/, 0x043A/*ka*/, 0x0435/*ie*/, 0x043D/*en*/, 0x0433/*ghe*/, 0x0448/*sha*/, 0x0449/*shcha*/, 0x0437/*ze*/, 0x0445/*ha*/ }, + { 0x0444/*ef*/, 0x044B/*yeru*/, 0x0432/*ve*/, 0x0430/*a*/, 0x043F/*pe*/, 0x0440/*er*/, 0x043E/*o*/, 0x043B/*el*/, 0x0434/*de*/, 0x0436/*zhe*/, 0x044D/*e*/ }, + { Qt::Key_CapsLock, 0x044F/*ya*/, 0x0447/*che*/, 0x0441/*es*/, 0x043C/*em*/, 0x0438/*i*/, 0x0442/*te*/, 0x044C/*soft sign*/, 0x0431/*be*/, 0x044E/*yu*/, Qt::Key_Backspace }, + { Qt::Key_Mode_switch, 0x0451/*io*/, 0x044A/*hard sign*/, Qt::Key_Space, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { // cyrillic uppercase - { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key(0x2116)/*no sign*/, Qt::Key_Semicolon, Qt::Key_Percent, Qt::Key_Colon, Qt::Key_Question, Qt::Key_Asterisk, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Underscore, Qt::Key_Plus }, - { Qt::Key(0x0419)/*short i*/, Qt::Key(0x0426)/*tse*/, Qt::Key(0x0423)/*u*/, Qt::Key(0x041A)/*ka*/, Qt::Key(0x0415)/*ie*/, Qt::Key(0x041D)/*en*/, Qt::Key(0x0413)/*ghe*/, Qt::Key(0x0428)/*sha*/, Qt::Key(0x0429)/*shcha*/, Qt::Key(0x0417)/*ze*/, Qt::Key(0x0425)/*ha*/ }, - { Qt::Key(0x0424)/*ef*/, Qt::Key(0x042B)/*yeru*/, Qt::Key(0x0412)/*ve*/, Qt::Key(0x0410)/*a*/, Qt::Key(0x041F)/*pe*/, Qt::Key(0x0420)/*er*/, Qt::Key(0x041E)/*o*/, Qt::Key(0x041B)/*el*/, Qt::Key(0x0414)/*de*/, Qt::Key(0x0416)/*zhe*/, Qt::Key(0x042D)/*e*/ }, - { Qt::Key_Shift, Qt::Key(0x042F)/*ya*/, Qt::Key(0x0427)/*che*/, Qt::Key(0x0421)/*es*/, Qt::Key(0x041C)/*em*/, Qt::Key(0x0418)/*i*/, Qt::Key(0x0422)/*te*/, Qt::Key(0x042C)/*soft sign*/, Qt::Key(0x0411)/*be*/, Qt::Key(0x042E)/*yu*/, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0401)/*io*/, Qt::Key(0x042A)/*hard sign*/, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { Qt::Key_Exclam, Qt::Key_QuoteDbl, 0x2116/*no sign*/, Qt::Key_Semicolon, Qt::Key_Percent, Qt::Key_Colon, Qt::Key_Question, Qt::Key_Asterisk, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Underscore, Qt::Key_Plus }, + { 0x0419/*short i*/, 0x0426/*tse*/, 0x0423/*u*/, 0x041A/*ka*/, 0x0415/*ie*/, 0x041D/*en*/, 0x0413/*ghe*/, 0x0428/*sha*/, 0x0429/*shcha*/, 0x0417/*ze*/, 0x0425/*ha*/ }, + { 0x0424/*ef*/, 0x042B/*yeru*/, 0x0412/*ve*/, 0x0410/*a*/, 0x041F/*pe*/, 0x0420/*er*/, 0x041E/*o*/, 0x041B/*el*/, 0x0414/*de*/, 0x0416/*zhe*/, 0x042D/*e*/ }, + { Qt::Key_Shift, 0x042F/*ya*/, 0x0427/*che*/, 0x0421/*es*/, 0x041C/*em*/, 0x0418/*i*/, 0x0422/*te*/, 0x042C/*soft sign*/, 0x0411/*be*/, 0x042E/*yu*/, Qt::Key_Backspace }, + { Qt::Key_Mode_switch, 0x0401/*io*/, 0x042A/*hard sign*/, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_Slash }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde, Qt::Key_NumberSign }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_AsciiTilde, Qt::Key_NumberSign }, { }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } @@ -538,22 +538,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Apostrophe, Qt::Key_Plus }, - { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), Qt::Key(0x0161)/*s caron*/ }, - { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key(0x010D)/*c caron*/, Qt::Key(0x0107)/*c acute*/ }, + { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), 0x0161/*s caron*/ }, + { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), 0x010D/*c caron*/, 0x0107/*c acute*/ }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x017E)/*z caron*/, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { Qt::Key_Mode_switch, 0x0111/*d stroke*/, 0x017E/*z caron*/, Qt::Key_Minus, Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_NumberSign, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_Question, Qt::Key_Asterisk }, - { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, Qt::Key(0x0160)/*S caron*/ }, - { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key(0x010C)/*C caron*/, Qt::Key(0x0106)/*C acute*/ }, + { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Z, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, 0x0160/*S caron*/ }, + { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, 0x010C/*C caron*/, 0x0106/*C acute*/ }, { Qt::Key_Shift, Qt::Key_Y, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Backspace }, - { Qt::Key_Mode_switch, Qt::Key(0x0110)/*D stroke*/, Qt::Key(0x017D)/*Z caron*/, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } + { Qt::Key_Mode_switch, 0x0110/*D stroke*/, 0x017D/*Z caron*/, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_currency }, - { Qt::Key_At, Qt::Key_registered, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key_section, Qt::Key_AsciiTilde, Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0141)/*L stroke*/, Qt::Key_ssharp }, + { Qt::Key_At, Qt::Key_registered, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_division, Qt::Key_multiply }, + { Qt::Key_section, Qt::Key_AsciiTilde, 0x0142/*l stroke*/, 0x0141/*L stroke*/, Qt::Key_ssharp }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -562,7 +562,7 @@ // Slovak { { { - { Qt::Key_Plus, Qt::Key(0x013E)/*l caron*/, Qt::Key(0x0161)/*s caron*/, Qt::Key(0x010D)/*c caron*/, Qt::Key(0x0165)/*t caron*/, Qt::Key(0x017E)/*z caron*/, LOWER(Qt::Key_Yacute), LOWER(Qt::Key_Aacute), LOWER(Qt::Key_Iacute), LOWER(Qt::Key_Eacute), Qt::Key_Equal, Qt::Key(0x0148)/*n caron*/ }, + { Qt::Key_Plus, 0x013E/*l caron*/, 0x0161/*s caron*/, 0x010D/*c caron*/, 0x0165/*t caron*/, 0x017E/*z caron*/, LOWER(Qt::Key_Yacute), LOWER(Qt::Key_Aacute), LOWER(Qt::Key_Iacute), LOWER(Qt::Key_Eacute), Qt::Key_Equal, 0x0148/*n caron*/ }, { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Z), LOWER(Qt::Key_U), LOWER(Qt::Key_I), LOWER(Qt::Key_O), LOWER(Qt::Key_P), LOWER(Qt::Key_Uacute) }, { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), LOWER(Qt::Key_Ocircumflex), Qt::Key_section }, { Qt::Key_CapsLock, LOWER(Qt::Key_Y), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), Qt::Key_Backspace }, @@ -576,9 +576,9 @@ { Qt::Key_Mode_switch, Qt::Key_degree, Qt::Key_Ampersand, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Question, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { - { Qt::Key_AsciiTilde, Qt::Key(0x011A)/*E caron*/, Qt::Key(0x0160)/*S caron*/, Qt::Key(0x010C)/*C caron*/, Qt::Key(0x0158)/*R caron*/, Qt::Key(0x017D)/*Z caron*/, Qt::Key_Yacute, Qt::Key_Aacute, Qt::Key_Iacute, Qt::Key_Eacute, Qt::Key_currency }, - { Qt::Key_Backslash, Qt::Key_Bar, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Apostrophe, Qt::Key_division, Qt::Key_multiply }, - { Qt::Key(0x0111)/*d stroke*/, Qt::Key(0x0110)/*D stroke*/, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key(0x0142)/*l stroke*/, Qt::Key(0x0141)/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, + { Qt::Key_AsciiTilde, 0x011A/*E caron*/, 0x0160/*S caron*/, 0x010C/*C caron*/, 0x0158/*R caron*/, 0x017D/*Z caron*/, Qt::Key_Yacute, Qt::Key_Aacute, Qt::Key_Iacute, Qt::Key_Eacute, Qt::Key_currency }, + { Qt::Key_Backslash, Qt::Key_Bar, 0x20AC/*Euro*/, Qt::Key_Apostrophe, Qt::Key_division, Qt::Key_multiply }, + { 0x0111/*d stroke*/, 0x0110/*D stroke*/, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_ParenLeft, Qt::Key_ParenRight, 0x0142/*l stroke*/, 0x0141/*L stroke*/, Qt::Key_Dollar, Qt::Key_ssharp }, { Qt::Key_NumberSign, Qt::Key_Ampersand, Qt::Key_At, Qt::Key_BraceLeft, Qt::Key_BraceRight, Qt::Key_Less, Qt::Key_Greater, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Asterisk, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -588,22 +588,22 @@ { { { { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_Asterisk, Qt::Key_Minus }, - { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Y), LOWER(Qt::Key_U), Qt::Key(0x0131)/*dotless i*/, LOWER(Qt::Key_O), LOWER(Qt::Key_P), Qt::Key(0x011F)/*g breve*/ }, - { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), Qt::Key(0x015F)/*s cedilla*/, LOWER(Qt::Key_I) }, - { Qt::Key_CapsLock, LOWER(Qt::Key_Z), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), LOWER(Qt::Key_Odiaeresis), Qt::Key(0x00E7)/*c cedilla*/, Qt::Key_Backspace }, + { LOWER(Qt::Key_Q), LOWER(Qt::Key_W), LOWER(Qt::Key_E), LOWER(Qt::Key_R), LOWER(Qt::Key_T), LOWER(Qt::Key_Y), LOWER(Qt::Key_U), 0x0131/*dotless i*/, LOWER(Qt::Key_O), LOWER(Qt::Key_P), 0x011F/*g breve*/ }, + { LOWER(Qt::Key_A), LOWER(Qt::Key_S), LOWER(Qt::Key_D), LOWER(Qt::Key_F), LOWER(Qt::Key_G), LOWER(Qt::Key_H), LOWER(Qt::Key_J), LOWER(Qt::Key_K), LOWER(Qt::Key_L), 0x015F/*s cedilla*/, LOWER(Qt::Key_I) }, + { Qt::Key_CapsLock, LOWER(Qt::Key_Z), LOWER(Qt::Key_X), LOWER(Qt::Key_C), LOWER(Qt::Key_V), LOWER(Qt::Key_B), LOWER(Qt::Key_N), LOWER(Qt::Key_M), LOWER(Qt::Key_Odiaeresis), 0x00E7/*c cedilla*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, LOWER(Qt::Key_Udiaeresis), Qt::Key_Space, Qt::Key_Comma, Qt::Key_Period, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_Exclam, Qt::Key_Apostrophe, Qt::Key_AsciiCircum, Qt::Key_Plus, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_Question, Qt::Key_Underscore }, - { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Y, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, Qt::Key(0x011E)/*G breve*/ }, - { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, Qt::Key(0x015E)/*S cedilla*/, Qt::Key(0x0130)/*I dot*/ }, - { Qt::Key_Shift, Qt::Key_Z, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Odiaeresis, Qt::Key(0x00C7)/*C cedilla*/, Qt::Key_Backspace }, + { Qt::Key_Q, Qt::Key_W, Qt::Key_E, Qt::Key_R, Qt::Key_T, Qt::Key_Y, Qt::Key_U, Qt::Key_I, Qt::Key_O, Qt::Key_P, 0x011E/*G breve*/ }, + { Qt::Key_A, Qt::Key_S, Qt::Key_D, Qt::Key_F, Qt::Key_G, Qt::Key_H, Qt::Key_J, Qt::Key_K, Qt::Key_L, 0x015E/*S cedilla*/, 0x0130/*I dot*/ }, + { Qt::Key_Shift, Qt::Key_Z, Qt::Key_X, Qt::Key_C, Qt::Key_V, Qt::Key_B, Qt::Key_N, Qt::Key_M, Qt::Key_Odiaeresis, 0x00C7/*C cedilla*/, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Udiaeresis, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, { { { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_QuoteDbl }, { Qt::Key_At, Qt::Key_registered, LOWER(Qt::Key_Eacute), Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, LOWER(Qt::Key_I), Qt::Key_AsciiTilde }, - { LOWER(Qt::Key_AE), Qt::Key(0x20AC)/*Euro*/, Qt::Key_Dollar, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_NumberSign }, + { LOWER(Qt::Key_AE), 0x20AC/*Euro*/, Qt::Key_Dollar, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_NumberSign }, { Qt::Key_Less, Qt::Key_Greater, Qt::Key_copyright, Qt::Key_ssharp, Qt::Key_mu, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Space, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, @@ -623,7 +623,7 @@ { Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0, Qt::Key_acute, Qt::Key_QuoteLeft }, { Qt::Key_At, Qt::Key_Exclam, Qt::Key_QuoteDbl, Qt::Key_NumberSign, Qt::Key_Dollar, Qt::Key_Percent, Qt::Key_Ampersand, Qt::Key_Slash, Qt::Key_ParenLeft, Qt::Key_ParenRight, Qt::Key_Equal, Qt::Key_Question }, { Qt::Key_degree, Qt::Key_twosuperior, Qt::Key_threesuperior, Qt::Key_sterling, Qt::Key_brokenbar, Qt::Key_notsign, Qt::Key_BraceLeft, Qt::Key_BracketLeft, Qt::Key_BracketRight, Qt::Key_BraceRight, Qt::Key_Backslash, Qt::Key_AsciiTilde }, - { Qt::Key_Less, Qt::Key_Greater, Qt::Key_registered, Qt::Key_copyright, Qt::Key(0x20AC)/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Backspace }, + { Qt::Key_Less, Qt::Key_Greater, Qt::Key_registered, Qt::Key_copyright, 0x20AC/*Euro*/, Qt::Key_Bar, Qt::Key_onequarter, Qt::Key_onehalf, Qt::Key_threequarters, Qt::Key_guillemotleft, Qt::Key_guillemotright, Qt::Key_Backspace }, { Qt::Key_Mode_switch, Qt::Key_Asterisk, Qt::Key_Underscore, Qt::Key_Space, Qt::Key_Semicolon, Qt::Key_Colon, Qt::Key_Left, Qt::Key_Right, Qt::Key_Return } } }, }