4

I know from experience that macOS sets the default keyboard shortcut according to the language choice (and maybe keyboard choice, not sure) at the first setup.

Now I set up my new computer to French (Swiss), which set all keyboard shortcuts according to the French AZERTY keyboard. Alas, my keyboard is Swiss-French, which makes all those shortcuts unusable.

An example: the Calendar app has shortcuts Cmd+1 to Cmd+4 to set the view on daily to yearly, respectively. On the AZERTY keyboard, those shortcut become Cmd+&, Cmd+é,Cmd+", and Cmd+', respectively, which is totally fine when using the French layout but unpracticable with mine.

I know that if I had set my computer to German/Swiss-German, those shortcuts would have been the way I wanted. I know that I can either manually correct every shortcut that bothers me or reset the system. But is there a way to correct that system-wide on an existing system?

PS: This is in essence the same question as this one, but I'm asking because, since 2017 and 3 major OS updates later, some new tool might have come up.

3 Answers 3

-1

I'm surprised your language choice defaulted to the French keyboard layout rather than the Swiss-French layout based on your language choice, though no need to worry, it is very simple to add a different keyboard layout.

First go to System Preferences > Keyboard > Input Sources, then add a new layout. For you, you'd need to choose French > Swiss French, in order to get the correct layout. After that it should be working.

If you have a French keyboard you also use, you can change the layout at any time by checking 'Show Input menu in menu bar' and then clicking on the flag or letter in the menu bar to change the layout. If you don't need the French layout, you can select it in the keyboard input sources preferences and then click the minus at the bottom of the list to remove it.

1
  • Thank you, but my problem is not the keyboard layout. Whatever the layout, my keyboard shortcuts don't change. It doesn't matter wether I use Swiss-German, French AZERTY or even a Russian layout (which I do), the keyboard shortcuts stay the same (e.g. it stays cmd+& instead of cmd+1 with all layouts).
    – almerillat
    Commented Aug 20, 2021 at 7:41
-1

Ok, so I called Apple assistance today and their answer is that keyboard shortcuts are determined by the system language rather than the keyboard layout. The way to (kinda) have the keyboard shortcuts you want is to... switch the main system language to the one having the shortcuts you want, so in my case switch to German to have shortcuts matching the Swiss keyboard layout.

Personally I don't mind, since I speak it anyways. However, that is not a satisfactory solution for most people facing this problem.

In my search, I learned that user-defined shortcuts are stored in ~/Library/Preferences. System default shortcuts per language must be stored somewhere in the system, probably in a plist format. So theoretically, you could remap every app to the default shortcuts of another language with a script. Or you could use karabiner for that, although I'm not sure how it would work and how long it would take.

However, that's too much of a hassle for me at the moment and I won't do it. If anyone is willing to do so, feel free to post your script here.

I'm just writing this for anyone facing this problem but I won't mark it as an accepted answer, because it doesn't really solve the problem.

-1

Cmd shortcuts will always use Latin/USEnglish-like keylayout. However, some apps may choose to disable automatic keylayout localization.

Source: According to https://forums.developer.apple.com/forums/thread/729242 :

On non-Latin keyboard layouts, the ⌘ layer switches the keyboard to a Latin/English-like layout. E.g. pressing ⌘ switches ב into C.

You can observe this behavior in Accessibility Keyboard.

This non-Latin layout ⌘ switch does all the work here. For non-Latin layouts, keyboard localization (menu-only) would be only used here for some special characters like ⌘[ or to switch arrow keys based on the UI directionality.

See also https://developer.apple.com/documentation/appkit/nsmenuitem/3787554-allowsautomatickeyequivalentloca

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .