Different language outputs after layout change

Does anyone have a suggestion for the easiest way to do this? When I started with my M01, I changed my English keyboard layout and I removed several of the rarely-used symbol keys (symbols accessed through a dedicated symbol key with Tapdance). Now I’m back to needing to work with a foreign language keyboard, and normally I would just switch to a polytonic Greek keyboard in MacOS. I didn’t foresee the fact that I would need some of those symbols for this. Does anyone understand the way foreign language inputs work better than me? Any chance I can create a dedicated layer on my keyboard that does everything I would need in Greek (accents, breathing marks, etc.)?

Alternatively, would it be easier to have my keyboard layout change along with the MacOS keyboard software? What’s the easiest way to think about this?

There’s been a lot of discussion about the best way to handle multi-language support on a custom layout, and there are two basic approaches:

  1. Keep the same layout on the keyboard and let the OS do the language switching
  2. Keep the OS language layout the same and let the keyboard do the language switching

Of these, only (1) is practical, because for most languages there’s no way to generate all the symbols if you don’t switch languages in the OS. This is even more obvious if you are also swapping alphabets, e.g. between Latin and Greek.

The stock layout is OK for some languages, but it’s not great for the majority because it moves some commonly-used keys into the function layer where they make no sense for languages other than English. I have a fork here: https://github.com/andrewgdotcom/Model01-Firmware which moves all the commonly-used keys back out of the function layer to places where they can be more easily used by non-English language typists, at the expense of moving PgUp/PgDn into the function layer instead.

There is a caveat of course: I considered only Latin-based languages (and Japanese) when designing it, so it may or may not be usable with Greek. That said, it’s probably not too far wrong. If you fancy giving it a try, see if the default “class1” layout works for you and let me know.

1 Like

Thanks, outlining those two approaches is very helpful. I’m not sure that either of them will be easy for me to use without a drastic layout change on the keyboard since I’ve added things like Copy-Paste keys.

I’m wondering if I could manage to write a MagicCombo (like pressing both Fn keys) that would both switch the OS language (through the normal system shortcut) and also switch my layout to a layer with all the necessary symbols as you propose. That would even give me the ability to make modifications to the OS keyboard layout, and I don’t have to give up my English layout.

Anyone with a better idea, please let me know.

1 Like

Well, I haven’t programmed my Model 01 yet, but I do know you can bind a key combination to cycling the language map on your Mac. I’ve used Control+Shift+Command+M to cycle between US and Dvorak, because M stays in the same place in both layouts.

So, I would think if you could write a function that could send that key signal, THEN change the internal mapping, you could cycle. I would suggest you pick a combination of modifiers that stays the same across keyboard layout, but if you can’t I assume you could program the firmware with a special case for the combination of key switches closed that you would prefer.

1 Like