vcl/inc/qt5/QtTools.hxx      |    3 
 vcl/qt5/QtInstanceWidget.cxx |   10 ++
 vcl/qt5/QtTools.cxx          |  121 ++++++++++++++++++++++++++++++++
 vcl/qt5/QtWidget.cxx         |  160 -------------------------------------------
 4 files changed, 134 insertions(+), 160 deletions(-)

New commits:
commit 5c1912f1eed81484befa122681e04e92efa6a1c7
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 12 21:35:37 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Apr 13 19:17:38 2025 +0200

    tdf#130857 qt weld: Forward key press/release events
    
    Similar to how
    
        commit 099feb494d23bd0addc162a15a5bb90ddc68c111
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Fri Apr 11 15:58:16 2025 +0200
    
            tdf#130857 qt weld: Forward mouse click/release events
    
    implemented it for mouse click/release events, also
    forward Qt key press/release events for the widget
    as vcl KeyPress events.
    
    In a WIP/experimental branch for the spelling dialog
    that contains more changes, this makes typing in
    the edit view in that dialog work.
    
    Change-Id: I334f4fa5811d02260140c2791eee9705d666086c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184106
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/inc/qt5/QtTools.hxx b/vcl/inc/qt5/QtTools.hxx
index 6907fc2fe25b..13ab0282b2c6 100644
--- a/vcl/inc/qt5/QtTools.hxx
+++ b/vcl/inc/qt5/QtTools.hxx
@@ -148,8 +148,8 @@ typedef std::unique_ptr<cairo_surface_t, CairoDeleter> 
UniqueCairoSurface;
 
 sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers);
 sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers);
+KeyEvent toVclKeyEvent(QKeyEvent& rEvent);
 sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons);
-
 MouseEvent toVclMouseEvent(QMouseEvent& rEvent);
 
 QImage toQImage(const Image& rImage);
diff --git a/vcl/qt5/QtInstanceWidget.cxx b/vcl/qt5/QtInstanceWidget.cxx
index ac6bc39a44ed..e759abe019dd 100644
--- a/vcl/qt5/QtInstanceWidget.cxx
+++ b/vcl/qt5/QtInstanceWidget.cxx
@@ -279,6 +279,16 @@ bool QtInstanceWidget::eventFilter(QObject* pObject, 
QEvent* pEvent)
 
     switch (pEvent->type())
     {
+        case QEvent::KeyPress:
+        {
+            QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(pEvent);
+            return signal_key_press(toVclKeyEvent(*pKeyEvent));
+        }
+        case QEvent::KeyRelease:
+        {
+            QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(pEvent);
+            return signal_key_release(toVclKeyEvent(*pKeyEvent));
+        }
         case QEvent::MouseButtonDblClick:
         case QEvent::MouseButtonPress:
         {
diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx
index 411040fd4b2f..ed6916a4cd38 100644
--- a/vcl/qt5/QtTools.cxx
+++ b/vcl/qt5/QtTools.cxx
@@ -161,6 +161,15 @@ sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers 
eModifiers)
     }
 }
 
+KeyEvent toVclKeyEvent(QKeyEvent& rEvent)
+{
+    const sal_uInt16 nKeyCode = toVclKeyCode(rEvent.key(), rEvent.modifiers());
+    const QString sText = rEvent.text();
+    const sal_Unicode nChar = sText.isEmpty() ? 0 : sText.at(0).unicode();
+    vcl::KeyCode aKeyCode(nKeyCode, 
toVclKeyboardModifiers(rEvent.modifiers()));
+    return KeyEvent(nChar, aKeyCode, 0);
+}
+
 sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons)
 {
     sal_uInt16 nCode = 0;
commit 39cc9ad90c6285b522ab909479a7ec1a3541c051
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 12 15:40:32 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Apr 13 19:17:31 2025 +0200

    qt: Return early in toVclKeyCode
    
    Return value right away instead of first
    assigning to a local variable and returning
    at the end of the function.
    
    Change-Id: I4b00c2fcb29529f04d84ba5b61423a39bb305231
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184105
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx
index 7da673c576e0..411040fd4b2f 100644
--- a/vcl/qt5/QtTools.cxx
+++ b/vcl/qt5/QtTools.cxx
@@ -51,160 +51,114 @@ sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers 
eKeyModifiers)
 
 sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers)
 {
-    sal_uInt16 nCode = 0;
     if (nKeyval >= Qt::Key_0 && nKeyval <= Qt::Key_9)
-        nCode = KEY_0 + (nKeyval - Qt::Key_0);
-    else if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z)
-        nCode = KEY_A + (nKeyval - Qt::Key_A);
-    else if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26)
-        nCode = KEY_F1 + (nKeyval - Qt::Key_F1);
-    else if (eModifiers.testFlag(Qt::KeypadModifier)
-             && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma))
+        return KEY_0 + (nKeyval - Qt::Key_0);
+    if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z)
+        return KEY_A + (nKeyval - Qt::Key_A);
+    if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26)
+        return KEY_F1 + (nKeyval - Qt::Key_F1);
+    if (eModifiers.testFlag(Qt::KeypadModifier)
+        && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma))
         // Qt doesn't use a special keyval for decimal separator ("," or ".")
         // on numerical keypad, but sets Qt::KeypadModifier in addition
-        nCode = KEY_DECIMAL;
-    else
+        return KEY_DECIMAL;
+
+    switch (nKeyval)
     {
-        switch (nKeyval)
-        {
-            case Qt::Key_Down:
-                nCode = KEY_DOWN;
-                break;
-            case Qt::Key_Up:
-                nCode = KEY_UP;
-                break;
-            case Qt::Key_Left:
-                nCode = KEY_LEFT;
-                break;
-            case Qt::Key_Right:
-                nCode = KEY_RIGHT;
-                break;
-            case Qt::Key_Home:
-                nCode = KEY_HOME;
-                break;
-            case Qt::Key_End:
-                nCode = KEY_END;
-                break;
-            case Qt::Key_PageUp:
-                nCode = KEY_PAGEUP;
-                break;
-            case Qt::Key_PageDown:
-                nCode = KEY_PAGEDOWN;
-                break;
-            case Qt::Key_Return:
-            case Qt::Key_Enter:
-                nCode = KEY_RETURN;
-                break;
-            case Qt::Key_Escape:
-                nCode = KEY_ESCAPE;
-                break;
-            case Qt::Key_Tab:
-            // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key 
pressed with Shift
-            // modifier' but as 'Backtab key pressed' (while its modifier bits 
are still
-            // set to Shift) -- so let's map both Key_Tab and Key_Backtab to 
VCL's KEY_TAB
-            case Qt::Key_Backtab:
-                nCode = KEY_TAB;
-                break;
-            case Qt::Key_Backspace:
-                nCode = KEY_BACKSPACE;
-                break;
-            case Qt::Key_Space:
-                nCode = KEY_SPACE;
-                break;
-            case Qt::Key_Insert:
-                nCode = KEY_INSERT;
-                break;
-            case Qt::Key_Delete:
-                nCode = KEY_DELETE;
-                break;
-            case Qt::Key_Plus:
-                nCode = KEY_ADD;
-                break;
-            case Qt::Key_Minus:
-                nCode = KEY_SUBTRACT;
-                break;
-            case Qt::Key_Asterisk:
-                nCode = KEY_MULTIPLY;
-                break;
-            case Qt::Key_Slash:
-                nCode = KEY_DIVIDE;
-                break;
-            case Qt::Key_Period:
-                nCode = KEY_POINT;
-                break;
-            case Qt::Key_Comma:
-                nCode = KEY_COMMA;
-                break;
-            case Qt::Key_Less:
-                nCode = KEY_LESS;
-                break;
-            case Qt::Key_Greater:
-                nCode = KEY_GREATER;
-                break;
-            case Qt::Key_Equal:
-                nCode = KEY_EQUAL;
-                break;
-            case Qt::Key_Find:
-                nCode = KEY_FIND;
-                break;
-            case Qt::Key_Menu:
-                nCode = KEY_CONTEXTMENU;
-                break;
-            case Qt::Key_Help:
-                nCode = KEY_HELP;
-                break;
-            case Qt::Key_Undo:
-                nCode = KEY_UNDO;
-                break;
-            case Qt::Key_Redo:
-                nCode = KEY_REPEAT;
-                break;
-            case Qt::Key_Cancel:
-                nCode = KEY_F11;
-                break;
-            case Qt::Key_AsciiTilde:
-                nCode = KEY_TILDE;
-                break;
-            case Qt::Key_QuoteLeft:
-                nCode = KEY_QUOTELEFT;
-                break;
-            case Qt::Key_BracketLeft:
-                nCode = KEY_BRACKETLEFT;
-                break;
-            case Qt::Key_BracketRight:
-                nCode = KEY_BRACKETRIGHT;
-                break;
-            case Qt::Key_NumberSign:
-                nCode = KEY_NUMBERSIGN;
-                break;
-            case Qt::Key_Forward:
-                nCode = KEY_XF86FORWARD;
-                break;
-            case Qt::Key_Back:
-                nCode = KEY_XF86BACK;
-                break;
-            case Qt::Key_Colon:
-                nCode = KEY_COLON;
-                break;
-            case Qt::Key_Semicolon:
-                nCode = KEY_SEMICOLON;
-                break;
-            case Qt::Key_Copy:
-                nCode = KEY_COPY;
-                break;
-            case Qt::Key_Cut:
-                nCode = KEY_CUT;
-                break;
-            case Qt::Key_Open:
-                nCode = KEY_OPEN;
-                break;
-            case Qt::Key_Paste:
-                nCode = KEY_PASTE;
-                break;
-        }
+        case Qt::Key_Down:
+            return KEY_DOWN;
+        case Qt::Key_Up:
+            return KEY_UP;
+        case Qt::Key_Left:
+            return KEY_LEFT;
+        case Qt::Key_Right:
+            return KEY_RIGHT;
+        case Qt::Key_Home:
+            return KEY_HOME;
+        case Qt::Key_End:
+            return KEY_END;
+        case Qt::Key_PageUp:
+            return KEY_PAGEUP;
+        case Qt::Key_PageDown:
+            return KEY_PAGEDOWN;
+        case Qt::Key_Return:
+        case Qt::Key_Enter:
+            return KEY_RETURN;
+        case Qt::Key_Escape:
+            return KEY_ESCAPE;
+        case Qt::Key_Tab:
+        // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key pressed 
with Shift
+        // modifier' but as 'Backtab key pressed' (while its modifier bits are 
still
+        // set to Shift) -- so let's map both Key_Tab and Key_Backtab to VCL's 
KEY_TAB
+        case Qt::Key_Backtab:
+            return KEY_TAB;
+        case Qt::Key_Backspace:
+            return KEY_BACKSPACE;
+        case Qt::Key_Space:
+            return KEY_SPACE;
+        case Qt::Key_Insert:
+            return KEY_INSERT;
+        case Qt::Key_Delete:
+            return KEY_DELETE;
+        case Qt::Key_Plus:
+            return KEY_ADD;
+        case Qt::Key_Minus:
+            return KEY_SUBTRACT;
+        case Qt::Key_Asterisk:
+            return KEY_MULTIPLY;
+        case Qt::Key_Slash:
+            return KEY_DIVIDE;
+        case Qt::Key_Period:
+            return KEY_POINT;
+        case Qt::Key_Comma:
+            return KEY_COMMA;
+        case Qt::Key_Less:
+            return KEY_LESS;
+        case Qt::Key_Greater:
+            return KEY_GREATER;
+        case Qt::Key_Equal:
+            return KEY_EQUAL;
+        case Qt::Key_Find:
+            return KEY_FIND;
+        case Qt::Key_Menu:
+            return KEY_CONTEXTMENU;
+        case Qt::Key_Help:
+            return KEY_HELP;
+        case Qt::Key_Undo:
+            return KEY_UNDO;
+        case Qt::Key_Redo:
+            return KEY_REPEAT;
+        case Qt::Key_Cancel:
+            return KEY_F11;
+        case Qt::Key_AsciiTilde:
+            return KEY_TILDE;
+        case Qt::Key_QuoteLeft:
+            return KEY_QUOTELEFT;
+        case Qt::Key_BracketLeft:
+            return KEY_BRACKETLEFT;
+        case Qt::Key_BracketRight:
+            return KEY_BRACKETRIGHT;
+        case Qt::Key_NumberSign:
+            return KEY_NUMBERSIGN;
+        case Qt::Key_Forward:
+            return KEY_XF86FORWARD;
+        case Qt::Key_Back:
+            return KEY_XF86BACK;
+        case Qt::Key_Colon:
+            return KEY_COLON;
+        case Qt::Key_Semicolon:
+            return KEY_SEMICOLON;
+        case Qt::Key_Copy:
+            return KEY_COPY;
+        case Qt::Key_Cut:
+            return KEY_CUT;
+        case Qt::Key_Open:
+            return KEY_OPEN;
+        case Qt::Key_Paste:
+            return KEY_PASTE;
+        default:
+            return 0;
     }
-
-    return nCode;
 }
 
 sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons)
commit a10fe020128bc0573af656cbd1aaee1d3d3355be
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 12 15:33:28 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Apr 13 19:17:23 2025 +0200

    tdf#130857 qt: Move Qt -> VCL key code helper to QtTools
    
    Move helper function GetKeyCode to QtTools and rename to
    toVclKeyCode.
    
    This will allow reusing it from QtInstanceWidget in
    an upcoming commit.
    
    Change-Id: I7157ee870d16bb77a677c8505e8018b5b871c7f1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184104
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/inc/qt5/QtTools.hxx b/vcl/inc/qt5/QtTools.hxx
index 345beb60a79a..6907fc2fe25b 100644
--- a/vcl/inc/qt5/QtTools.hxx
+++ b/vcl/inc/qt5/QtTools.hxx
@@ -147,6 +147,7 @@ struct CairoDeleter
 typedef std::unique_ptr<cairo_surface_t, CairoDeleter> UniqueCairoSurface;
 
 sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers);
+sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers);
 sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons);
 
 MouseEvent toVclMouseEvent(QMouseEvent& rEvent);
diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx
index 20091f005ae5..7da673c576e0 100644
--- a/vcl/qt5/QtTools.cxx
+++ b/vcl/qt5/QtTools.cxx
@@ -49,6 +49,164 @@ sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers 
eKeyModifiers)
     return nCode;
 }
 
+sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers)
+{
+    sal_uInt16 nCode = 0;
+    if (nKeyval >= Qt::Key_0 && nKeyval <= Qt::Key_9)
+        nCode = KEY_0 + (nKeyval - Qt::Key_0);
+    else if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z)
+        nCode = KEY_A + (nKeyval - Qt::Key_A);
+    else if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26)
+        nCode = KEY_F1 + (nKeyval - Qt::Key_F1);
+    else if (eModifiers.testFlag(Qt::KeypadModifier)
+             && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma))
+        // Qt doesn't use a special keyval for decimal separator ("," or ".")
+        // on numerical keypad, but sets Qt::KeypadModifier in addition
+        nCode = KEY_DECIMAL;
+    else
+    {
+        switch (nKeyval)
+        {
+            case Qt::Key_Down:
+                nCode = KEY_DOWN;
+                break;
+            case Qt::Key_Up:
+                nCode = KEY_UP;
+                break;
+            case Qt::Key_Left:
+                nCode = KEY_LEFT;
+                break;
+            case Qt::Key_Right:
+                nCode = KEY_RIGHT;
+                break;
+            case Qt::Key_Home:
+                nCode = KEY_HOME;
+                break;
+            case Qt::Key_End:
+                nCode = KEY_END;
+                break;
+            case Qt::Key_PageUp:
+                nCode = KEY_PAGEUP;
+                break;
+            case Qt::Key_PageDown:
+                nCode = KEY_PAGEDOWN;
+                break;
+            case Qt::Key_Return:
+            case Qt::Key_Enter:
+                nCode = KEY_RETURN;
+                break;
+            case Qt::Key_Escape:
+                nCode = KEY_ESCAPE;
+                break;
+            case Qt::Key_Tab:
+            // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key 
pressed with Shift
+            // modifier' but as 'Backtab key pressed' (while its modifier bits 
are still
+            // set to Shift) -- so let's map both Key_Tab and Key_Backtab to 
VCL's KEY_TAB
+            case Qt::Key_Backtab:
+                nCode = KEY_TAB;
+                break;
+            case Qt::Key_Backspace:
+                nCode = KEY_BACKSPACE;
+                break;
+            case Qt::Key_Space:
+                nCode = KEY_SPACE;
+                break;
+            case Qt::Key_Insert:
+                nCode = KEY_INSERT;
+                break;
+            case Qt::Key_Delete:
+                nCode = KEY_DELETE;
+                break;
+            case Qt::Key_Plus:
+                nCode = KEY_ADD;
+                break;
+            case Qt::Key_Minus:
+                nCode = KEY_SUBTRACT;
+                break;
+            case Qt::Key_Asterisk:
+                nCode = KEY_MULTIPLY;
+                break;
+            case Qt::Key_Slash:
+                nCode = KEY_DIVIDE;
+                break;
+            case Qt::Key_Period:
+                nCode = KEY_POINT;
+                break;
+            case Qt::Key_Comma:
+                nCode = KEY_COMMA;
+                break;
+            case Qt::Key_Less:
+                nCode = KEY_LESS;
+                break;
+            case Qt::Key_Greater:
+                nCode = KEY_GREATER;
+                break;
+            case Qt::Key_Equal:
+                nCode = KEY_EQUAL;
+                break;
+            case Qt::Key_Find:
+                nCode = KEY_FIND;
+                break;
+            case Qt::Key_Menu:
+                nCode = KEY_CONTEXTMENU;
+                break;
+            case Qt::Key_Help:
+                nCode = KEY_HELP;
+                break;
+            case Qt::Key_Undo:
+                nCode = KEY_UNDO;
+                break;
+            case Qt::Key_Redo:
+                nCode = KEY_REPEAT;
+                break;
+            case Qt::Key_Cancel:
+                nCode = KEY_F11;
+                break;
+            case Qt::Key_AsciiTilde:
+                nCode = KEY_TILDE;
+                break;
+            case Qt::Key_QuoteLeft:
+                nCode = KEY_QUOTELEFT;
+                break;
+            case Qt::Key_BracketLeft:
+                nCode = KEY_BRACKETLEFT;
+                break;
+            case Qt::Key_BracketRight:
+                nCode = KEY_BRACKETRIGHT;
+                break;
+            case Qt::Key_NumberSign:
+                nCode = KEY_NUMBERSIGN;
+                break;
+            case Qt::Key_Forward:
+                nCode = KEY_XF86FORWARD;
+                break;
+            case Qt::Key_Back:
+                nCode = KEY_XF86BACK;
+                break;
+            case Qt::Key_Colon:
+                nCode = KEY_COLON;
+                break;
+            case Qt::Key_Semicolon:
+                nCode = KEY_SEMICOLON;
+                break;
+            case Qt::Key_Copy:
+                nCode = KEY_COPY;
+                break;
+            case Qt::Key_Cut:
+                nCode = KEY_CUT;
+                break;
+            case Qt::Key_Open:
+                nCode = KEY_OPEN;
+                break;
+            case Qt::Key_Paste:
+                nCode = KEY_PASTE;
+                break;
+        }
+    }
+
+    return nCode;
+}
+
 sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons)
 {
     sal_uInt16 nCode = 0;
diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx
index 1c5f5c9a02f9..c08d4bcca010 100644
--- a/vcl/qt5/QtWidget.cxx
+++ b/vcl/qt5/QtWidget.cxx
@@ -251,164 +251,6 @@ void QtWidget::closeEvent(QCloseEvent* /*pEvent*/)
     m_rFrame.CallCallback(SalEvent::Close, nullptr);
 }
 
-static sal_uInt16 GetKeyCode(int keyval, Qt::KeyboardModifiers modifiers)
-{
-    sal_uInt16 nCode = 0;
-    if (keyval >= Qt::Key_0 && keyval <= Qt::Key_9)
-        nCode = KEY_0 + (keyval - Qt::Key_0);
-    else if (keyval >= Qt::Key_A && keyval <= Qt::Key_Z)
-        nCode = KEY_A + (keyval - Qt::Key_A);
-    else if (keyval >= Qt::Key_F1 && keyval <= Qt::Key_F26)
-        nCode = KEY_F1 + (keyval - Qt::Key_F1);
-    else if (modifiers.testFlag(Qt::KeypadModifier)
-             && (keyval == Qt::Key_Period || keyval == Qt::Key_Comma))
-        // Qt doesn't use a special keyval for decimal separator ("," or ".")
-        // on numerical keypad, but sets Qt::KeypadModifier in addition
-        nCode = KEY_DECIMAL;
-    else
-    {
-        switch (keyval)
-        {
-            case Qt::Key_Down:
-                nCode = KEY_DOWN;
-                break;
-            case Qt::Key_Up:
-                nCode = KEY_UP;
-                break;
-            case Qt::Key_Left:
-                nCode = KEY_LEFT;
-                break;
-            case Qt::Key_Right:
-                nCode = KEY_RIGHT;
-                break;
-            case Qt::Key_Home:
-                nCode = KEY_HOME;
-                break;
-            case Qt::Key_End:
-                nCode = KEY_END;
-                break;
-            case Qt::Key_PageUp:
-                nCode = KEY_PAGEUP;
-                break;
-            case Qt::Key_PageDown:
-                nCode = KEY_PAGEDOWN;
-                break;
-            case Qt::Key_Return:
-            case Qt::Key_Enter:
-                nCode = KEY_RETURN;
-                break;
-            case Qt::Key_Escape:
-                nCode = KEY_ESCAPE;
-                break;
-            case Qt::Key_Tab:
-            // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key 
pressed with Shift
-            // modifier' but as 'Backtab key pressed' (while its modifier bits 
are still
-            // set to Shift) -- so let's map both Key_Tab and Key_Backtab to 
VCL's KEY_TAB
-            case Qt::Key_Backtab:
-                nCode = KEY_TAB;
-                break;
-            case Qt::Key_Backspace:
-                nCode = KEY_BACKSPACE;
-                break;
-            case Qt::Key_Space:
-                nCode = KEY_SPACE;
-                break;
-            case Qt::Key_Insert:
-                nCode = KEY_INSERT;
-                break;
-            case Qt::Key_Delete:
-                nCode = KEY_DELETE;
-                break;
-            case Qt::Key_Plus:
-                nCode = KEY_ADD;
-                break;
-            case Qt::Key_Minus:
-                nCode = KEY_SUBTRACT;
-                break;
-            case Qt::Key_Asterisk:
-                nCode = KEY_MULTIPLY;
-                break;
-            case Qt::Key_Slash:
-                nCode = KEY_DIVIDE;
-                break;
-            case Qt::Key_Period:
-                nCode = KEY_POINT;
-                break;
-            case Qt::Key_Comma:
-                nCode = KEY_COMMA;
-                break;
-            case Qt::Key_Less:
-                nCode = KEY_LESS;
-                break;
-            case Qt::Key_Greater:
-                nCode = KEY_GREATER;
-                break;
-            case Qt::Key_Equal:
-                nCode = KEY_EQUAL;
-                break;
-            case Qt::Key_Find:
-                nCode = KEY_FIND;
-                break;
-            case Qt::Key_Menu:
-                nCode = KEY_CONTEXTMENU;
-                break;
-            case Qt::Key_Help:
-                nCode = KEY_HELP;
-                break;
-            case Qt::Key_Undo:
-                nCode = KEY_UNDO;
-                break;
-            case Qt::Key_Redo:
-                nCode = KEY_REPEAT;
-                break;
-            case Qt::Key_Cancel:
-                nCode = KEY_F11;
-                break;
-            case Qt::Key_AsciiTilde:
-                nCode = KEY_TILDE;
-                break;
-            case Qt::Key_QuoteLeft:
-                nCode = KEY_QUOTELEFT;
-                break;
-            case Qt::Key_BracketLeft:
-                nCode = KEY_BRACKETLEFT;
-                break;
-            case Qt::Key_BracketRight:
-                nCode = KEY_BRACKETRIGHT;
-                break;
-            case Qt::Key_NumberSign:
-                nCode = KEY_NUMBERSIGN;
-                break;
-            case Qt::Key_Forward:
-                nCode = KEY_XF86FORWARD;
-                break;
-            case Qt::Key_Back:
-                nCode = KEY_XF86BACK;
-                break;
-            case Qt::Key_Colon:
-                nCode = KEY_COLON;
-                break;
-            case Qt::Key_Semicolon:
-                nCode = KEY_SEMICOLON;
-                break;
-            case Qt::Key_Copy:
-                nCode = KEY_COPY;
-                break;
-            case Qt::Key_Cut:
-                nCode = KEY_CUT;
-                break;
-            case Qt::Key_Open:
-                nCode = KEY_OPEN;
-                break;
-            case Qt::Key_Paste:
-                nCode = KEY_PASTE;
-                break;
-        }
-    }
-
-    return nCode;
-}
-
 void QtWidget::commitText(const QString& aText) const
 {
     SalExtTextInputEvent aInputEvent;
@@ -501,7 +343,7 @@ bool QtWidget::handleKeyEvent(QKeyEvent* pEvent) const
 {
     const bool bIsKeyPressed
         = pEvent->type() == QEvent::KeyPress || pEvent->type() == 
QEvent::ShortcutOverride;
-    sal_uInt16 nCode = GetKeyCode(pEvent->key(), pEvent->modifiers());
+    sal_uInt16 nCode = toVclKeyCode(pEvent->key(), pEvent->modifiers());
     if (bIsKeyPressed && nCode == 0 && pEvent->text().length() > 1
         && testAttribute(Qt::WA_InputMethodEnabled))
     {

Reply via email to