diff options
-rw-r--r-- | cui/source/customize/acccfg.cxx | 8 | ||||
-rw-r--r-- | framework/source/accelerators/keymapping.cxx | 1 | ||||
-rw-r--r-- | include/vcl/keycodes.hxx | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/awt/Key.idl | 5 | ||||
-rw-r--r-- | officecfg/registry/data/org/openoffice/Office/Accelerators.xcu | 36 | ||||
-rw-r--r-- | vcl/osx/salframe.cxx | 1 | ||||
-rw-r--r-- | vcl/osx/salframeview.mm | 2 | ||||
-rw-r--r-- | vcl/unx/generic/app/saldisp.cxx | 7 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtkframe.cxx | 2 | ||||
-rw-r--r-- | vcl/win/app/salinst.cxx | 1 | ||||
-rw-r--r-- | vcl/win/window/salframe.cxx | 3 |
11 files changed, 66 insertions, 1 deletions
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx index 2bfabb5178ea..491fc7647acf 100644 --- a/cui/source/customize/acccfg.cxx +++ b/cui/source/customize/acccfg.cxx @@ -189,6 +189,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_MOD1 | KEY_QUOTERIGHT, KEY_MOD1 | KEY_BRACKETLEFT, KEY_MOD1 | KEY_BRACKETRIGHT, + KEY_MOD1 | KEY_RIGHTCURLYBRACKET, KEY_MOD1 | KEY_POINT, KEY_MOD1 | KEY_COMMA, KEY_MOD1 | KEY_TILDE, @@ -272,6 +273,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_SHIFT | KEY_MOD1 | KEY_QUOTERIGHT, KEY_SHIFT | KEY_MOD1 | KEY_BRACKETLEFT, KEY_SHIFT | KEY_MOD1 | KEY_BRACKETRIGHT, + KEY_SHIFT | KEY_MOD1 | KEY_RIGHTCURLYBRACKET, KEY_SHIFT | KEY_MOD1 | KEY_POINT, KEY_SHIFT | KEY_MOD1 | KEY_COMMA, KEY_SHIFT | KEY_MOD1 | KEY_TILDE, @@ -351,6 +353,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_MOD2 | KEY_QUOTERIGHT, KEY_MOD2 | KEY_BRACKETLEFT, KEY_MOD2 | KEY_BRACKETRIGHT, + KEY_MOD2 | KEY_RIGHTCURLYBRACKET, KEY_MOD2 | KEY_POINT, KEY_MOD2 | KEY_COMMA, KEY_MOD2 | KEY_TILDE, @@ -428,6 +431,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_SHIFT | KEY_MOD2 | KEY_QUOTERIGHT, KEY_SHIFT | KEY_MOD2 | KEY_BRACKETLEFT, KEY_SHIFT | KEY_MOD2 | KEY_BRACKETRIGHT, + KEY_SHIFT | KEY_MOD2 | KEY_RIGHTCURLYBRACKET, KEY_SHIFT | KEY_MOD2 | KEY_POINT, KEY_SHIFT | KEY_MOD2 | KEY_COMMA, KEY_SHIFT | KEY_MOD2 | KEY_TILDE, @@ -506,6 +510,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_MOD1 | KEY_MOD2 | KEY_QUOTERIGHT, KEY_MOD1 | KEY_MOD2 | KEY_BRACKETLEFT, KEY_MOD1 | KEY_MOD2 | KEY_BRACKETRIGHT, + KEY_MOD1 | KEY_MOD2 | KEY_RIGHTCURLYBRACKET, KEY_MOD1 | KEY_MOD2 | KEY_POINT, KEY_MOD1 | KEY_MOD2 | KEY_COMMA, KEY_MOD1 | KEY_MOD2 | KEY_TILDE, @@ -583,6 +588,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_QUOTERIGHT, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_BRACKETLEFT, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_BRACKETRIGHT, + KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_RIGHTCURLYBRACKET, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_POINT, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_COMMA, KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_TILDE, @@ -662,6 +668,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_MOD3 | KEY_QUOTERIGHT, KEY_MOD3 | KEY_BRACKETLEFT, KEY_MOD3 | KEY_BRACKETRIGHT, + KEY_MOD3 | KEY_RIGHTCURLYBRACKET, KEY_MOD3 | KEY_POINT, KEY_MOD3 | KEY_COMMA, KEY_MOD3 | KEY_TILDE, @@ -745,6 +752,7 @@ const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1, KEY_SHIFT | KEY_MOD3 | KEY_QUOTERIGHT, KEY_SHIFT | KEY_MOD3 | KEY_BRACKETLEFT, KEY_SHIFT | KEY_MOD3 | KEY_BRACKETRIGHT, + KEY_SHIFT | KEY_MOD3 | KEY_RIGHTCURLYBRACKET, KEY_SHIFT | KEY_MOD3 | KEY_POINT, KEY_SHIFT | KEY_MOD3 | KEY_COMMA, KEY_SHIFT | KEY_MOD3 | KEY_TILDE, diff --git a/framework/source/accelerators/keymapping.cxx b/framework/source/accelerators/keymapping.cxx index a0d33e7b4e23..b2bd93808de3 100644 --- a/framework/source/accelerators/keymapping.cxx +++ b/framework/source/accelerators/keymapping.cxx @@ -136,6 +136,7 @@ KeyMapping::KeyIdentifierInfo const KeyMapping::KeyIdentifierMap[] = {css::awt::Key::BRACKETRIGHT , "KEY_BRACKETRIGHT" }, {css::awt::Key::SEMICOLON , "KEY_SEMICOLON" }, {css::awt::Key::QUOTERIGHT , "KEY_QUOTERIGHT" }, + {css::awt::Key::RIGHTCURLYBRACKET, "KEY_RIGHTCURLYBRACKET" }, {0 , "" } // mark the end of this array! }; diff --git a/include/vcl/keycodes.hxx b/include/vcl/keycodes.hxx index e68f176ffe32..fa54beefdb4f 100644 --- a/include/vcl/keycodes.hxx +++ b/include/vcl/keycodes.hxx @@ -154,6 +154,7 @@ constexpr sal_uInt16 KEY_BRACKETLEFT = css::awt::Key::BRACKETLEFT; 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_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 3cd7cc951e24..bd236c3775a8 100644 --- a/offapi/com/sun/star/awt/Key.idl +++ b/offapi/com/sun/star/awt/Key.idl @@ -24,6 +24,8 @@ /** These values are used to specify distinct physical keys, plus some special values used by the macOS implementation. + + Noting that these numbers are simply allocated here, and not taken from any specification. */ published constants Key { @@ -364,6 +366,9 @@ published constants Key /** @since LibreOffice 4.3 **/ const short QUOTERIGHT = 1318; + /** @since LibreOffice 7.5 **/ + const short RIGHTCURLYBRACKET = 1319; + /** 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 0497cb3e18a8..1ea7384cd925 100644 --- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu @@ -812,6 +812,15 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some emoji thing <prop oor:name="Command"> <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> <value xml:lang="en-US">.uno:InsertObjectStarMath</value> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <value xml:lang="fr"></value> + </prop> + </node> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <node oor:name="RIGHTCURLYBRACKET_MOD1_MOD2" oor:op="replace"> + <prop oor:name="Command"> + <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> + <value xml:lang="fr">.uno:InsertObjectStarMath</value> </prop> </node> <node oor:name="END" oor:op="replace"> @@ -1741,6 +1750,15 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some emoji thing <prop oor:name="Command"> <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> <value xml:lang="en-US">.uno:InsertMath</value> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <value xml:lang="fr"></value> + </prop> + </node> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <node oor:name="RIGHTCURLYBRACKET_MOD1_MOD2" oor:op="replace"> + <prop oor:name="Command"> + <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> + <value xml:lang="fr">.uno:InsertMath</value> </prop> </node> <node oor:name="F11" oor:op="replace"> @@ -2961,6 +2979,15 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some emoji thing <prop oor:name="Command"> <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> <value xml:lang="en-US">.uno:InsertMath</value> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <value xml:lang="fr"></value> + </prop> + </node> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <node oor:name="RIGHTCURLYBRACKET_MOD1_MOD2" oor:op="replace"> + <prop oor:name="Command"> + <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> + <value xml:lang="fr">.uno:InsertMath</value> </prop> </node> <node oor:name="1_MOD1" oor:op="replace"> @@ -6225,6 +6252,15 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some emoji thing <prop oor:name="Command"> <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> <value xml:lang="en-US">.uno:InsertObjectStarMath</value> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <value xml:lang="fr"></value> + </prop> + </node> + <!-- tdf#150862 Replace Ctrl-Alt-EQUAL with Ctrl-Ctrl-} for French keyboard layout --> + <node oor:name="RIGHTCURLYBRACKET_MOD1_MOD2" oor:op="replace"> + <prop oor:name="Command"> + <value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value> + <value xml:lang="fr">.uno:InsertObjectStarMath</value> </prop> </node> <node oor:name="F10_MOD1" oor:op="replace"> diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index 9003a8dbde99..c3729567425a 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -1059,6 +1059,7 @@ OUString AquaSalFrame::GetKeyName( sal_uInt16 nKeyCode ) aKeyMap[ KEY_BRACKETRIGHT ] = "]"; aKeyMap[ KEY_SEMICOLON ] = ";"; aKeyMap[ KEY_QUOTERIGHT ] = "'"; + aKeyMap[ KEY_RIGHTCURLYBRACKET ] = "}"; /* yet unmapped KEYCODES: aKeyMap[ KEY_INSERT ] = OUString( sal_Unicode( ) ); diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index df2c55abf97a..07d3c08a2960 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -122,7 +122,7 @@ static sal_uInt16 ImplMapKeyCode(sal_uInt16 nKeyCode) KEY_A, KEY_S, KEY_D, KEY_F, KEY_H, KEY_G, KEY_Z, KEY_X, KEY_C, KEY_V, 0, KEY_B, KEY_Q, KEY_W, KEY_E, KEY_R, KEY_Y, KEY_T, KEY_1, KEY_2, KEY_3, KEY_4, KEY_6, KEY_5, - KEY_EQUAL, KEY_9, KEY_7, KEY_SUBTRACT, KEY_8, KEY_0, KEY_BRACKETRIGHT, KEY_0, + KEY_EQUAL, KEY_9, KEY_7, KEY_SUBTRACT, KEY_8, KEY_0, KEY_BRACKETRIGHT, KEY_RIGHTCURLYBRACKET, KEY_U, KEY_BRACKETLEFT, KEY_I, KEY_P, KEY_RETURN, KEY_L, KEY_J, KEY_QUOTERIGHT, KEY_K, KEY_SEMICOLON, 0, KEY_COMMA, KEY_DIVIDE, KEY_N, KEY_M, KEY_POINT, KEY_TAB, KEY_SPACE, KEY_QUOTELEFT, KEY_DELETE, 0, KEY_ESCAPE, 0, 0, diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx index 490b4b771692..ca3e715bc78a 100644 --- a/vcl/unx/generic/app/saldisp.cxx +++ b/vcl/unx/generic/app/saldisp.cxx @@ -964,6 +964,9 @@ OUString SalDisplay::GetKeyName( sal_uInt16 nKeyCode ) const case KEY_QUOTERIGHT: aCustomKeyName = "'"; break; + case KEY_RIGHTCURLYBRACKET: + aCustomKeyName = "}"; + break; default: nKeySym = 0; break; @@ -1310,6 +1313,10 @@ sal_uInt16 SalDisplay::GetKeyCode( KeySym keysym, char*pcPrintable ) const nKey = KEY_QUOTERIGHT; *pcPrintable = '\''; break; + case XK_braceright: + nKey = KEY_RIGHTCURLYBRACKET; + *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 ab66866f8811..33a42787ab4c 100644 --- a/vcl/unx/gtk3/gtkframe.cxx +++ b/vcl/unx/gtk3/gtkframe.cxx @@ -214,6 +214,7 @@ sal_uInt16 GtkSalFrame::GetKeyCode(guint keyval) case GDK_KEY_bracketright: nCode = KEY_BRACKETRIGHT; break; case GDK_KEY_semicolon: nCode = KEY_SEMICOLON; break; case GDK_KEY_quoteright: nCode = KEY_QUOTERIGHT; break; + case GDK_KEY_braceright: nCode = KEY_RIGHTCURLYBRACKET; break; // some special cases, also see saldisp.cxx // - - - - - - - - - - - - - Apollo - - - - - - - - - - - - - 0x1000 // These can be found in ap_keysym.h @@ -2655,6 +2656,7 @@ void GtkSalFrame::KeyCodeToGdkKey(const vcl::KeyCode& rKeyCode, case KEY_BRACKETRIGHT: nKeyCode = GDK_KEY_bracketright; break; case KEY_SEMICOLON: nKeyCode = GDK_KEY_semicolon; break; case KEY_QUOTERIGHT: nKeyCode = GDK_KEY_quoteright; break; + case KEY_RIGHTCURLYBRACKET: nKeyCode = GDK_KEY_braceright; 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 f62d8ef7134b..24c4c508fe9a 100644 --- a/vcl/win/app/salinst.cxx +++ b/vcl/win/app/salinst.cxx @@ -243,6 +243,7 @@ void SalData::initKeyCodeMap() initKey( L']', KEY_BRACKETRIGHT ); initKey( L';', KEY_SEMICOLON ); initKey( L'\'', KEY_QUOTERIGHT ); + initKey( L'}', KEY_RIGHTCURLYBRACKET ); } // SalData diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index a3941450f6aa..1335c61ad170 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -2497,6 +2497,9 @@ OUString WinSalFrame::GetKeyName( sal_uInt16 nKeyCode ) case KEY_QUOTELEFT: cSVCode = '`'; break; + case KEY_RIGHTCURLYBRACKET: + cSVCode = '}'; + break; } } |