Idiomdrottning’s homepage

from dead+space

Today I learned that the Finnish keyboard layout (also known as the Swedish keyboard layout) doesn’t have backticks, tilde or carets. You have to compose them from dead+space.

Pipes, brackets, braces, backslash, at-sign and dollar-sign are there, but they are all on a secondary “Alt Graphics” layer. I mean, I can arguably understand why they didn’t want a dollar sign on the main board.

Meanwhile the main layer has ever-useful keys like ¤, § and ½. Uh. Thanks, Obama.💔

What’s this got to do with me?

I’m trying to set up the Atreus programmable keyboard.

Now, normally I use a US QWERTY keyboard that I set in software to be US Dvorak. I use compose sequences and Emacs Leim to be able to type non-ASCII chars like 南 and å. The latter I need to type very often since I have to deal with Swedish peeps on the reg.

Since it’s all set in software I can do anything… as long as I’m at my own cozy home computer.

Before I got used to the compose sequences, I even used my own layout (basically US Dvorak + AltGr, and then å, ä and ö on the AltGr layer for, I don’t remember exactly but I think it was on a, o and e.)

Works great. Only drawback is when you use Android or Pandora or other weird devices where setting a custom layout is a total pain.

Remapping at the microcontroller layer

With the Atreus, since you can set layout on the keyboard’s microcontroller, I was like “this is great, I can finally type on my Android tablet, I can just set it to a normal plain vanilla US Qwerty keyboard and do everything via Chrysalis.”

Until I realized that wait. That’s not how keyboards work. They don’t magically send a letter like e or å. They send a keycode.

That was the story as of last time.

From hacking us to hacking fi

Then today, a week later, I realized that huh… If I instead of basing it on US Qwerty, I can base it on some other widely available layout, like Finnish/Swedish. Swedish layout is available for hardware keyboards on Android! I was like, “this is great, I can set it to behave like normal US dvorak on the base layers then stash those dork characters like å or ä on some half-forsaken layer and only have to type them when absolutely necessary!”

That approach started out amazing until I started actually implementing the new layout. I realized that on the Atreus, you can’t map shift keys differently than non-shift keys. Since keys like single quote (with shift for double-quote) and semicolon (with shift for colon) just doesn’t exist on the Swedish layout, I can’t “reconstruct” them by setting the non-shifted version to ; and the shifted version to : for example.

So just use layer 4 or something instead of shift

But pretty quickly I figured out a workaround to this. I don’t need to actually have shift keys—I can have “shift” keys that really switch to layer, I dunno, four or something. That would solve it. I was like, “this is great, I can just do the layer #0 key emit the keycode that on fi renders as ; and on layer #4 (a.k.a. “shift”-ed) emit :.”

And then I got to the backtick/tilde key. For me a key that I always think of as the “Quake” key—wasn’t it the key to bring up console in that game? I barely remember 90s stuff.

Now, neither backtick nor tilde even exist anywhere on the Swedish keyboard! There’s no keycode that corresponds to it!

I mean, programming languages, and markup languages, are weird. They are like “let’s make use of all the krimskrams keys on the edge of the keyboard. “@#$%^&*“—grawlix city, basically. They want stuff that doesn’t occur in normal words but are easy to type because they were used in the 19th century for various purps. Now, I know in the Lisp community we’re not too worried about this ASCII art approach to computing. We have our unquote-splicing and that’s basically it. But to be able to do shell script stuff I’m gonna need tilde and backticks.♥︎

So this is where I am now

I need to figure out if there is a widely available layout—that is, available on stock old Android—that has both åäö and normal chars like tilde and backticks. That’s what I’m gonna go look for next. Just wanted to post this li’l progress report to sort out my thoughts and all the times I was like, “this is great” and then not so great.♥︎

Update: US intl for the win

There is a US qwerty layout that does it all♥︎ It’s called US-International. The standard in the Netherlands basically…! I’m like, “this is great, I’m just gonna base it on this!”


I was like, “this is great” but turns out that US intl on Android for some dumb reason don’t have backticks and tildes. There is no layout that has both å and `. How any Swedish person ever used Unix is an unknown wonder. I am gonna have to roll my own.