Latin American Spanish layout

A user wrote in asking about LatAm Spanish layouts for the Model 01.

Despite having some rusty conversational skills, nobody at Keyboardio has ever really used a Spanish keyboard. If we design a Spanish layout, we’ll almost certainly get it wrong.

Any thoughts? Maybe you’ve already created a layout?

Here’s a pic of a “standard” layout for reference:

1 Like

This is an interesting one. I applied a latam OS keymap to my multilingual firmware map, and it sort of works, but the brackets are a little unintuitive:

Maybe one like that but with the brackets swapped around? At least then they’d be symmetrical…


Cool that you did that already. I definitely agree with swapping the brackets.

I changed my mind about that one based on further discussions with others. The latest version is in , option latam.

Hello, Andrew. I am still not in posession of the keyboardio, but I’m trying to figure out how to go about the layout.
I’m not 100% sure how the firmware works or what your plugin does with respect to international keyboard layouts. So I’d like to ask you if you think my progress so far makes any sense.
First, I have to say that I am from spain, and here the layout is a bit different compared to the latin american one. Here is a picture of the standard spanish-spain layout:

Because of the inclusion of the ç letter (used in Catalan language), {} and [] are displaced to the AltGr layer. The key to the left of 1 is the ºª symbols, with altgr displaying the backward slash, and numbers 1-6 display various symbols with altgr as well (altgr+5 is the euro sign, but it can also be triggered by altgr+E for convenience).
Finally, ` and ^ are joined in a single key and made work in the main layer instead of the altgr one.
I’m a programmer, and I hate this: you need to always twist your fingers on the right hand to display brackets using altgr.
So I have worked in a possible layout for me. I think most of the keys correspond in position to the english layout so in many cases, I think the mapping is 1-1 and using the keyboard with a spanish layout will make most work. The function layer though is another story, because I intend to use characters that normally trigger using altgr, plus a few that need shift on a number (say, $). I designed this function layer to help me write code more easily, without disrupting regular use of the keyboard when I’m just typing whatever non-code stuff.

This is what I came up with (altgr keys are noted in green btw):

Do you think this is feasible? Any comments or suggestions? Will I need the multilingual firmware in order to achieve it? I’m a total noob at the moment and I have no keyboard but I’d really apreciate it if you could give me some pointers in the right direction.
Thanks a lot!


Hi, Jordi.

My layouts were designed to allow people to use their current OS settings with minimal disruption. Unfortunately the processing of keyboard input is split between the keyboard itself and the OS, which constrains how much remapping can be done on the base layer. In particular, since shift and altgr are processed by the OS, if you want to put a shifted or altgred symbol on a key other than its native key you will need to use a plugin to generate the mod-down-key-down-key-up-mod-up sequence that the OS will understand. This is not without its wrinkles, but @algernon has done a lot of good work on it.

In general, the main constraint is that you need to pick a keyboard language in your OS, and then you are restricted to only those printables that are already present in that keyboard layout. All you can do is move them around. (There are discussions in other threads about hacks to get raw unicode composition working, but these are highly OS-dependent and possibly not mature enough yet). Since you appear to have restricted yourself to European Spanish printables, I would say that your layout is perfectly workable. But since you have reorganised the AltGr characters you will definitely need one of @algernon’s plugins.

1 Like

Thank you Andrew! I will take a look at @algernon’s plugins. Cheers!

Hello, hope this is a good place to ask my question.
I have to write in multiple languages(english,spanish,german,french) in such order of frequency. Up until now I have a heavily customized personal keyboard layout I did using linux’s XKB to change the layout of my laptop’s US keyboard.
With the Keyboardio I wanted to have my layout on the device itself. But from reading this thread, my understanding is that I can’t just configure my layout in the keyboardio but that I rather continue with a qwerty layout on it an keep XKB in charge of keymaping? Or is there a way to keep all the accents and other symbols stored in different layers and not rely on the OS?
Thank you for your help

Hi Everyone.

I think I was the “user” asking @kaia about the Latin American Spanish Layout.

Since then, and with help of some other entries in the forum, I manage to compile, modify, modify again, and then tune my modifications… Until I got desparate of never getting the perfect layout… And then returned to the original Model01 Layout… :grin::grin::smile:

I got an email from @jesse asking me to try the “Butterfly” key in combination with the Vowels. And he sent me this Layout: image

The blue chars are entered when pressing the “butterfly” key with other keys. So, using the “Butterfly” key, works almost like having another Layer in the Keyboard. So you don’t have to change the mapping, nor change the phisical keys (images) rather than the ones printed in the keys. And it came SO NATURAL to write!!

I think even when writting not only in English and Spanish, like @Titan-C mention, but in German, French Portugese and other Latin languages it should work fine!!!

The trick is to configure a Keyboard in the OS, so the AltGR key is supported. In my case (Windows). I have to set my keyboard in “English United States - International” (The “English United States” does not work with the “Butterfly key”).

As I mention, using this, you don’t have to ReMap any key, and it comes very natural to write.

Hope this is useful to anyone writing in some other languges.

Best regards.