cui/source/customize/acccfg.cxx                                |    8 ++++++++
 framework/source/accelerators/keymapping.cxx                   |    1 +
 include/vcl/keycodes.hxx                                       |    1 +
 offapi/com/sun/star/awt/Key.idl                                |    2 ++
 officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |    3 +--
 vcl/osx/salframe.cxx                                           |    1 +
 vcl/osx/salmenu.cxx                                            |    3 +++
 vcl/qt5/QtFrame.cxx                                            |    3 +++
 vcl/qt5/QtWidget.cxx                                           |    3 +++
 vcl/unx/generic/app/saldisp.cxx                                |    7 +++++++
 vcl/unx/gtk3/gtkframe.cxx                                      |    2 ++
 vcl/win/app/salinst.cxx                                        |    1 +
 vcl/win/window/salframe.cxx                                    |    3 +++
 13 files changed, 36 insertions(+), 2 deletions(-)

New commits:
commit a9f718eaf505148f0ffd0994b8aa5e4e0d1dac11
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Mon Jan 13 20:29:20 2020 +0100
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Sat Mar 18 18:09:16 2023 +0000

    Related tdf#129547 and tdf#154136: add COLON key
    
    Change-Id: I17978dbb100fbfa6f6ddbbbdf96872076bc2a289
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86713
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    (cherry picked from commit e056c1ce10779b42ae17866913cf4db06b86a491)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149033
    Reviewed-by: Patrick Luby <plub...@neooffice.org>
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index 1a37964fb8c8..760dc7a11d66 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -184,6 +184,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_MOD1 | KEY_X,
                                      KEY_MOD1 | KEY_Y,
                                      KEY_MOD1 | KEY_Z,
+                                     KEY_MOD1 | KEY_COLON,
                                      KEY_MOD1 | KEY_SEMICOLON,
                                      KEY_MOD1 | KEY_QUOTELEFT,
                                      KEY_MOD1 | KEY_QUOTERIGHT,
@@ -268,6 +269,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_SHIFT | KEY_MOD1 | KEY_X,
                                      KEY_SHIFT | KEY_MOD1 | KEY_Y,
                                      KEY_SHIFT | KEY_MOD1 | KEY_Z,
+                                     KEY_SHIFT | KEY_MOD1 | KEY_COLON,
                                      KEY_SHIFT | KEY_MOD1 | KEY_SEMICOLON,
                                      KEY_SHIFT | KEY_MOD1 | KEY_QUOTELEFT,
                                      KEY_SHIFT | KEY_MOD1 | KEY_QUOTERIGHT,
@@ -348,6 +350,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_MOD2 | KEY_X,
                                      KEY_MOD2 | KEY_Y,
                                      KEY_MOD2 | KEY_Z,
+                                     KEY_MOD2 | KEY_COLON,
                                      KEY_MOD2 | KEY_SEMICOLON,
                                      KEY_MOD2 | KEY_QUOTELEFT,
                                      KEY_MOD2 | KEY_QUOTERIGHT,
@@ -426,6 +429,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_SHIFT | KEY_MOD2 | KEY_X,
                                      KEY_SHIFT | KEY_MOD2 | KEY_Y,
                                      KEY_SHIFT | KEY_MOD2 | KEY_Z,
+                                     KEY_SHIFT | KEY_MOD2 | KEY_COLON,
                                      KEY_SHIFT | KEY_MOD2 | KEY_SEMICOLON,
                                      KEY_SHIFT | KEY_MOD2 | KEY_QUOTELEFT,
                                      KEY_SHIFT | KEY_MOD2 | KEY_QUOTERIGHT,
@@ -505,6 +509,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_MOD1 | KEY_MOD2 | KEY_X,
                                      KEY_MOD1 | KEY_MOD2 | KEY_Y,
                                      KEY_MOD1 | KEY_MOD2 | KEY_Z,
+                                     KEY_MOD1 | KEY_MOD2 | KEY_COLON,
                                      KEY_MOD1 | KEY_MOD2 | KEY_SEMICOLON,
                                      KEY_MOD1 | KEY_MOD2 | KEY_QUOTELEFT,
                                      KEY_MOD1 | KEY_MOD2 | KEY_QUOTERIGHT,
@@ -583,6 +588,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_X,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_Y,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_Z,
+                                     KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | 
KEY_COLON,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | 
KEY_SEMICOLON,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | 
KEY_QUOTELEFT,
                                      KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | 
KEY_QUOTERIGHT,
@@ -663,6 +669,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_MOD3 | KEY_X,
                                      KEY_MOD3 | KEY_Y,
                                      KEY_MOD3 | KEY_Z,
+                                     KEY_MOD3 | KEY_COLON,
                                      KEY_MOD3 | KEY_SEMICOLON,
                                      KEY_MOD3 | KEY_QUOTELEFT,
                                      KEY_MOD3 | KEY_QUOTERIGHT,
@@ -747,6 +754,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_SHIFT | KEY_MOD3 | KEY_X,
                                      KEY_SHIFT | KEY_MOD3 | KEY_Y,
                                      KEY_SHIFT | KEY_MOD3 | KEY_Z,
+                                     KEY_SHIFT | KEY_MOD3 | KEY_COLON,
                                      KEY_SHIFT | KEY_MOD3 | KEY_SEMICOLON,
                                      KEY_SHIFT | KEY_MOD3 | KEY_QUOTELEFT,
                                      KEY_SHIFT | KEY_MOD3 | KEY_QUOTERIGHT,
diff --git a/framework/source/accelerators/keymapping.cxx 
b/framework/source/accelerators/keymapping.cxx
index b2bd93808de3..4b9588d8ed92 100644
--- a/framework/source/accelerators/keymapping.cxx
+++ b/framework/source/accelerators/keymapping.cxx
@@ -137,6 +137,7 @@ KeyMapping::KeyIdentifierInfo const 
KeyMapping::KeyIdentifierMap[] =
     {css::awt::Key::SEMICOLON     , "KEY_SEMICOLON" },
     {css::awt::Key::QUOTERIGHT    , "KEY_QUOTERIGHT" },
     {css::awt::Key::RIGHTCURLYBRACKET, "KEY_RIGHTCURLYBRACKET" },
+    {css::awt::Key::COLON         , "KEY_COLON" },
     {0                            , ""               } // mark the end of this 
array!
 };
 
diff --git a/include/vcl/keycodes.hxx b/include/vcl/keycodes.hxx
index fa54beefdb4f..a935b0ee0460 100644
--- a/include/vcl/keycodes.hxx
+++ b/include/vcl/keycodes.hxx
@@ -155,6 +155,7 @@ constexpr sal_uInt16 KEY_BRACKETRIGHT = 
css::awt::Key::BRACKETRIGHT;
 constexpr sal_uInt16 KEY_SEMICOLON = css::awt::Key::SEMICOLON;
 constexpr sal_uInt16 KEY_QUOTERIGHT = css::awt::Key::QUOTERIGHT;
 constexpr sal_uInt16 KEY_RIGHTCURLYBRACKET = css::awt::Key::RIGHTCURLYBRACKET;
+constexpr sal_uInt16 KEY_COLON = css::awt::Key::COLON;
 
 constexpr sal_uInt16 KEY_CAPSLOCK = css::awt::Key::CAPSLOCK;
 constexpr sal_uInt16 KEY_NUMLOCK = css::awt::Key::NUMLOCK;
diff --git a/offapi/com/sun/star/awt/Key.idl b/offapi/com/sun/star/awt/Key.idl
index bd236c3775a8..6b19dada574d 100644
--- a/offapi/com/sun/star/awt/Key.idl
+++ b/offapi/com/sun/star/awt/Key.idl
@@ -369,6 +369,8 @@ published constants Key
     /** @since LibreOffice 7.5 **/
     const short RIGHTCURLYBRACKET = 1319;
 
+    /** @since LibreOffice 7.6 **/
+    const short COLON = 1320;
 
     /** The following values don't correspond to physical keys on any
         keyboard but are used in the macOS implementation of VCL. They
diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu 
b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
index cead4fa47ffe..d482f916514a 100644
--- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
@@ -938,8 +938,7 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some 
emoji thing
         <node oor:name="SEMICOLON_SHIFT_MOD1" oor:op="replace">
           <prop oor:name="Command">
             <value xml:lang="x-no-translate">I10N SHORTCUTS - NO 
TRANSLATE</value>
-            <value xml:lang="en-US" 
install:module="macosx">.uno:SpellDialog</value>
-            <value xml:lang="en-US" 
install:module="unxwnt">.uno:InsertCurrentTime</value>
+            <value xml:lang="en-US">.uno:InsertCurrentTime</value>
           </prop>
         </node>
         <node oor:name="F7_MOD1" oor:op="replace">
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index 80045b92913f..4c9f891881eb 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -1080,6 +1080,7 @@ OUString AquaSalFrame::GetKeyName( sal_uInt16 nKeyCode )
         aKeyMap[ KEY_SEMICOLON ] = ";";
         aKeyMap[ KEY_QUOTERIGHT ] = "'";
         aKeyMap[ KEY_RIGHTCURLYBRACKET ] = "}";
+        aKeyMap[ KEY_COLON ] = ":";
 
         /* yet unmapped KEYCODES:
         aKeyMap[ KEY_INSERT ]   = OUString( sal_Unicode( ) );
diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index 60cafca71df4..c7dfc4600bf3 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -652,6 +652,9 @@ void AquaSalMenu::SetAccelerator( unsigned /*nPos*/, 
SalMenuItem* pSalMenuItem,
             case KEY_EQUAL:
                 nCommandKey='=';
                 break;
+            case KEY_COLON:
+                nCommandKey=':';
+                break;
             case KEY_SEMICOLON:
                 nCommandKey=';';
                 break;
diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
index 554485a6b83c..5517584b72d7 100644
--- a/vcl/qt5/QtFrame.cxx
+++ b/vcl/qt5/QtFrame.cxx
@@ -961,6 +961,9 @@ OUString QtFrame::GetKeyName(sal_uInt16 nKeyCode)
             case KEY_BRACKETRIGHT:
                 nRetCode = Qt::Key_BracketRight;
                 break;
+            case KEY_COLON:
+                nRetCode = Qt::Key_Colon;
+                break;
             case KEY_SEMICOLON:
                 nRetCode = Qt::Key_Semicolon;
                 break;
diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx
index 91d3ac15954e..cc17cc8c30c3 100644
--- a/vcl/qt5/QtWidget.cxx
+++ b/vcl/qt5/QtWidget.cxx
@@ -460,6 +460,9 @@ static sal_uInt16 GetKeyCode(int keyval, 
Qt::KeyboardModifiers modifiers)
             case Qt::Key_BracketRight:
                 nCode = KEY_BRACKETRIGHT;
                 break;
+            case Qt::Key_Colon:
+                nCode = KEY_COLON;
+                break;
             case Qt::Key_Semicolon:
                 nCode = KEY_SEMICOLON;
                 break;
diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
index ca3e715bc78a..5f0114b1f448 100644
--- a/vcl/unx/generic/app/saldisp.cxx
+++ b/vcl/unx/generic/app/saldisp.cxx
@@ -967,6 +967,9 @@ OUString SalDisplay::GetKeyName( sal_uInt16 nKeyCode ) const
         case KEY_RIGHTCURLYBRACKET:
             aCustomKeyName = "}";
             break;
+        case KEY_COLON:
+            aCustomKeyName = ":";
+            break;
         default:
             nKeySym = 0;
             break;
@@ -1317,6 +1320,10 @@ sal_uInt16 SalDisplay::GetKeyCode( KeySym keysym, 
char*pcPrintable ) const
             nKey = KEY_RIGHTCURLYBRACKET;
             *pcPrintable = '\'';
             break;
+        case XK_colon:
+            nKey = KEY_COLON;
+            *pcPrintable = ':';
+            break;
         // - - - - - - - - - - - - -  Apollo - - - - - - - - - - - - - 0x1000
         case 0x1000FF02: // apXK_Copy
             nKey = KEY_COPY;
diff --git a/vcl/unx/gtk3/gtkframe.cxx b/vcl/unx/gtk3/gtkframe.cxx
index 69dc11b7ea44..344fc3254144 100644
--- a/vcl/unx/gtk3/gtkframe.cxx
+++ b/vcl/unx/gtk3/gtkframe.cxx
@@ -216,6 +216,7 @@ sal_uInt16 GtkSalFrame::GetKeyCode(guint keyval)
             case GDK_KEY_semicolon:    nCode = KEY_SEMICOLON;    break;
             case GDK_KEY_quoteright:   nCode = KEY_QUOTERIGHT;   break;
             case GDK_KEY_braceright:   nCode = KEY_RIGHTCURLYBRACKET;   break;
+            case GDK_KEY_colon:    nCode = KEY_COLON;    break;
             // some special cases, also see saldisp.cxx
             // - - - - - - - - - - - - -  Apollo - - - - - - - - - - - - - 
0x1000
             // These can be found in ap_keysym.h
@@ -2691,6 +2692,7 @@ void GtkSalFrame::KeyCodeToGdkKey(const vcl::KeyCode& 
rKeyCode,
             case KEY_SEMICOLON:     nKeyCode = GDK_KEY_semicolon;       break;
             case KEY_QUOTERIGHT:    nKeyCode = GDK_KEY_quoteright;      break;
             case KEY_RIGHTCURLYBRACKET: nKeyCode = GDK_KEY_braceright;      
break;
+            case KEY_COLON:         nKeyCode = GDK_KEY_colon;           break;
 
             // Special cases
             case KEY_COPY:          nKeyCode = GDK_KEY_Copy;            break;
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 5ba2f9cd50e6..3afb38c04648 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -235,6 +235,7 @@ void SalData::initKeyCodeMap()
     initKey( L';', KEY_SEMICOLON );
     initKey( L'\'', KEY_QUOTERIGHT );
     initKey( L'}', KEY_RIGHTCURLYBRACKET );
+    initKey( L':', KEY_COLON );
 }
 
 // SalData
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 3a094c0ff67e..5f1961a7f5d6 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -2519,6 +2519,9 @@ OUString WinSalFrame::GetKeyName( sal_uInt16 nKeyCode )
             case KEY_EQUAL:
                 cSVCode  = '=';
                 break;
+            case KEY_COLON:
+                cSVCode = ':';
+                break;
             case KEY_SEMICOLON:
                 cSVCode = ';';
                 break;

Reply via email to