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;