Skip to content

The 'macmeta' option has not effect when using a Greek layout #300

Closed

Description

@sindex

Meta keybindings don't work when using a Greek layout. I'm using MacVim v104.

Activity

  1. chdiza commented on Jul 5, 2016

    @chdiza
    Contributor

    It is both a known and documented limitation of MacVim that mappings involving "meta" are flaky and unreliable. (See :help macmeta). You can try :set macmeta, but over the last eight years I've found that it hardly improves the situation at all.

    My guess is that it's probably got nothing to do with the Greek layout, and if setting macmeta doesn't help, you're just running into the known limitations of MacVim.

  2. sindex commented on Jul 6, 2016

    @sindex
    Author

    Modifying the conditional at line 161 of the "MMTextViewHelper.m" file to account for a greater character range works but Meta+Greek chars keybindings now produce the corresponding Greek character. The same thing probably happens with a Cyrillic layout.

  3. splhack commented on Aug 11, 2016

    @splhack
    Contributor

    @sindex you mean this?

    diff --git a/src/MacVim/MMTextViewHelper.m b/src/MacVim/MMTextViewHelper.m
    index d6dedfb..d93fecc 100644
    --- a/src/MacVim/MMTextViewHelper.m
    +++ b/src/MacVim/MMTextViewHelper.m
    @@ -159,8 +159,7 @@ - (void)keyDown:(NSEvent *)event
         // Note that this implies that 'mmta' (if enabled) breaks input methods
         // when the Alt key is held.
         if ((flags & NSAlternateKeyMask) && [mmta boolValue] && [unmod length] == 1
    -            && [unmod characterAtIndex:0] > 0x20
    -            && [unmod characterAtIndex:0] < 0x7f) {
    +            && [unmod characterAtIndex:0] > 0x20) {
             ASLogDebug(@"MACMETA key, don't interpret it");
             string = unmod;
         } else if (imState && (flags & NSControlKeyMask)
    
  4. sindex commented on Aug 12, 2016

    @sindex
    Author
  5. added a commit that references this issue on Sep 13, 2016
    193dd55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions