[Libreoffice-commits] core.git: vcl/osx

Julien Nabet serval2412 at yahoo.fr
Mon Nov 21 20:26:50 UTC 2016


 vcl/osx/salmenu.cxx |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

New commits:
commit 4c62de279a6783236a5e0811d0733e107c127fe3
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Wed Nov 16 21:50:02 2016 +0100

    Fix various "unmapped accelerator key" on MacOs
    
    Add mapping for:
    KEY_SEMICOLON
    KEY_BACKSPACE
    KEY_PAGEUP
    KEY_PAGEDOWN
    KEY_UP
    KEY_DOWN
    KEY_RETURN
    KEY_BRACKETLEFT
    KEY_BRACKETRIGHT
    
    Retrieved from AquaSalFrame::GetKeyName
    I would have preferred to use this function and remove custom mapping to avoid dup but mapping is a bit different
    eg: in AquaSalFrame::GetKeyName KEY_A to KEY_Z uses sal_Unicode( 'A' + (i - KEY_A) )
    In SetAccelerator, we use sal_Unicode( 'a' + (i - KEY_A) )
    and when using GetKeyName, LO segfaults.
    
    Change-Id: I3808cdcd1c0566e768a98a211bc1f41ff012a32f
    Reviewed-on: https://gerrit.libreoffice.org/30909
    Tested-by: Julien Nabet <serval2412 at yahoo.fr>
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>

diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index 4477af4..c567f9e 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -714,6 +714,33 @@ void AquaSalMenu::SetAccelerator( unsigned /*nPos*/, SalMenuItem* pSalMenuItem,
             case KEY_EQUAL:
                 nCommandKey='=';
                 break;
+            case KEY_SEMICOLON:
+                nCommandKey=';';
+                break;
+            case KEY_BACKSPACE:
+                nCommandKey=sal_Unicode( 0x232b );
+                break;
+            case KEY_PAGEUP:
+                nCommandKey=sal_Unicode( 0x21de );
+                break;
+            case KEY_PAGEDOWN:
+                nCommandKey=sal_Unicode( 0x21df );
+                break;
+            case KEY_UP:
+                nCommandKey=sal_Unicode( 0x21e1 );
+                break;
+            case KEY_DOWN:
+                nCommandKey=sal_Unicode( 0x21e3 );
+                break;
+            case KEY_RETURN:
+                nCommandKey=sal_Unicode( 0x21a9 );
+                break;
+            case KEY_BRACKETLEFT:
+                nCommandKey='[';
+                break;
+            case KEY_BRACKETRIGHT:
+                nCommandKey=']';
+                break;
             }
         }
     }


More information about the Libreoffice-commits mailing list