Skip to content

Issue with shortcut using character-above-tab-key on Monterey #143

@lwouis

Description

@lwouis

Hi!

Lots of AltTab users with non-English keyboards are reporting that shortcuts using the key above tab are not working since they upgraded to Monterey.

You can see the in-depth conversations on the ticket here: lwouis/alt-tab-macos#1190

Here are some examples:

I'm on a nordic layout and trying to use ⌘+§. It becomes ⌘+¥ after restarting AltTab.

I use option + and I've noticed that every-time I close and re-open AltTab the has changed to a strange long underscore character.
image

When I press the Command+º not having any associate program to it, it beeps (like "you are pressing a key combo that I cannot recognise") , when I assign it to Alt-tab, it keeps beeping...

Etc, it goes on, many cases with various behaviors. It seems something changed with Monterey that broke ShortcutRecorder.

Someone claimed to have found a patch to SR which fixes the issue:

I found a workaround for <:

+++ Pods/ShortcutRecorder/Library/SRKeyCodeTransformer.m
@@ -317,6 +317,10 @@
                                      implicitModifierFlags:0
                                      explicitModifierFlags:0
                                                 usingCache:YES];
+            
+            // Workaround
+            if (newTranslationToKeyCode[translation])
+                continue;
 
             if (translation.length)
                 newTranslationToKeyCode[translation] = keyCode;

I advised them to show you this, and ask for your expert opinion. I think they never did it. Here's their explanation of the fix:

If @Kentzo is willing to take a look, here is what happens: with an AZERTY layout, in keyCodeForTranslation of _SRKeyCodeASCIITranslator, translateKeyCode returns < for both SRKeyCodeGrave and SRKeyCodeJISUnderscore. Since keyCodeForTranslation keeps only the last value, it returns SRKeyCodeJISUnderscore.

Could you please tell me if this fix seems to make sense? I would like to use that in AltTab if it fixes the issue for people, but since I don't have non-English keyboards around, I won't be able to QA myself and confirms it works. That's why I would like to get your opinion before doing anything.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions