macOS has the E00 (left of `1`) and B00 (between `shift` and `z`) keys swapped.
Our layout display code, the floating 104-key picker assumes a different layout.
So for display purposes, when reading from macOS layouts, swap E00 and B00.
Together with the previous commit, this fixes#1014, and makes the Croatian
layout *almost* correct on Windows and Linux too, with only one symbol
mis-mapped. There's nothing we can do about that at the moment.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
Similarly how we treat `altR+caps?` as valid altR mapping, we need to treat
`shift+caps?`, `shift+cmd?`, and other combinations of `shift` and optional
modifiers as shift.
This addresses one part of #1014.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
We can pick up altR-modified symbols from a few other keymaps, not just those
that have `altR` as the single modifier, but those that have `+caps?` too,
because caps is optional there.
This fixes#727.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
We still import cldr from the renderer process, for
`cldr.extractLanguageDisplayNames`, but that hopefully doesn't expect to be in a
node environment.
If it does, we'll have to push it (along with the cldr data) to the main process.
Fixes#924.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>