πŸ’Ύ Archived View for idiomdrottning.org β€Ί atreus-layout-march-2021 captured on 2022-07-16 at 14:08:24. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

➑️ Next capture (2023-01-29)

-=-=-=-=-=-=-

My current Atreus layout (work in progress)

Even after all my kvetching I’m using the Atreus all day every day, and it’s been more than a month. Fun fun fun.β™₯

β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
β”‚  '   β”‚ ,  β”‚  .  β”‚  p  β”‚ y  β”‚            β”‚  f  β”‚ g  β”‚  c  β”‚ r  β”‚  l  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€            β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€
β”‚  a   β”‚ o  β”‚  e  β”‚  u  β”‚ i  β”‚            β”‚  d  β”‚ h  β”‚  t  β”‚ n  β”‚  s  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€
β”‚ shif β”‚ ;  β”‚  q  β”‚  j  β”‚ k  β”‚ btfl β”‚  x  β”‚  b  β”‚ m  β”‚  w  β”‚ v  β”‚  z  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€
β”‚ ctrl β”‚ `  β”‚ sup β”‚ tab β”‚ -  β”‚ alt  β”‚ any β”‚ spc β”‚ /  β”‚ fun β”‚ \  β”‚ ent β”‚
β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜

That’s what the layout looks like, on keycaps.

But, it’s not quite right. The β€œEnter” is just a ctrl rather than an enter. (I hit it by mistake one too many times.)

β€œFun” is another super.

β€œAny” is =/+.

β€œButterfly” is compose.

Fake ctrl vs real ctrl

I came up with the concept of a β€œfake ctrl” to get β€œEmacs everywhereβ€œ.

The β€œfake ctrl” shifts to layer four where aepnbfdm do their emacs things, like Ctrl-a is home, Ctrl-p is up etc. Additionally, h is backspace, v is pgdn and butterfly here is pgup.

This isn’t necessarily the best idea, but it was the idea that required the least amount of learning curve for me. I know these keys pretty well. So in hindsight I’ve been really happy with this decision.

On other keys it just sends Ctrl plus that key, so C-t, C-j, C-u, C-r, C-s still work for example.

Secondary actions

Holding compose gives me a real ctrl. That’s what I use in Evince, Inkscape etc, and even in Emacs for things like doing markdown-mode’s C-c C-s C-p outside of god-mode (where it’s just csp).

Holding z gives me a shift. Not a layer shifter, just a normal shift to type upper case letters. I know there is one on the left but it’s great to have them on both sides.

Holding v shifts me to layer 3; the only thing that lives on there are the F1 through F12 keys, everything else is transparent. F1 through F10 are the top row ’,.pyfgcrl and then F11 is the butterfly and F12 is x.

Holding tab, -, or / shifts me to layer #1, where the top row is numbers (same positions as the corresponding F1, F2 etc key) and the second row is !#@$%^&*() so they match the same finger and the same number as I’m used to. It’s a couple of rows down and I’m still not completely used to it, but, getting there.

The third row holds an extra way to get punctuation so I can still type 1232.241,14421?12441.14 without having to let go of the Layer #1 shifter. So ;qjk is `?[] and xbmwv is ,.(=\

The m for open paren is a nod to my paredit pro tip. I use shift M to insert parens in paredit, so I want to get used to also using layer #1 to do that too. So far that hasn’t happened yet, but that’s fine. It’s just an extra way to get there.

Holding ` or \ gives an extra alt.

Tapping alt gives escape.

Tapping super (remember, the right super is labeled β€œfun”) gives [ for the left one and ] for the right one, and of course {} with shift held.

Let me review how well or poorly these secondary functions work!

V is almost mind-readingly perfect. I get function keys when I need them and the letter V when I need it.

Z tend to prefer being a shift than being the letter Z. Typing β€œpizza” often comes out as β€œpiA”. While I’d rather that the key was perfect, it’s better that it’s erring in this direction than the other way around. I use it as a shift five times per second and as the letter z more rarely.

/ on the other hands tends to prefer being a glyph inserter than to do its job at shifting to layer #1. So frustratingly enough, ! often comes out as /a and ) often comes out as /s. (So people thing I’m sarcastic.)

The super keys are also bad at their job at being super keys. They err in both directions! Giving me [ when I need super (so in some of my files I’ve found stray [ characters) ← that closing round just now first came out as /s, btw and giving me super when I need [.

Alt/Esc tends to overly Esc, while Compose tends to overly Compose, but, I use these two keys more deliberately (as opposed to mindlessly typing) so that’s not a big problem.

Because of these issues, I removed any secondary functions from the fake ctrls, from left shift, and from space. I tried having a layer shifter on space. That was an awful idea. These basic keys need to work reliably. For weeks, I had enter when tapping the right ctrl, to match its printed key (a.k.a. I could hold enter to get (fake) ctrl). That was awesome when it worked but enter is one of those keys where you definitively don’t want to send any strays. So now it’s just a ctrl, and to get ret I need to hit Ctrl-m. (Yeah, this does get annoying. Works great when typing but it gets frustrating when not typing, like confirming paths in image apps etc. Maybe I’ll cook up a layer to lock to for those apps later, IDK.)

The shadows I live with are numberless

Having the numbers in a row rather than a numpad like grid is a good decision for former HHKB users like me.

Maybe I should’ve set the numbers on the second row and the grawlixes on the top row instead of the other way around, I’m realizing. It’s not that I want the most commonly used of that pair on home rowβ€”it’s that I want them to be on the β€œFitts’s law”–affirming top row!

So, I want numbers on top row and I also want the grawlixes there. I guess I should just get used to what I already have.

Not having easy access to numbers is still a bad thing. I miss being able to quickly type in a dice code like #32d20e10, but that might come with habit.

What’s less possible to come with habit, though, is having access to the numbers as prefix arg keys in god-mode.

Before the Atreus, I was relying heavily on a lot of shortcut keys related to numbers, both in Emacs and in dwm. A great step in me coming to terms with this thing was when I set those shortcut keys to instead use ’,.pyfgcrl. That’s great. But I haven’t figured out a prefix key solution that is as nice. I loved in god-mode that hitting 20n moved me twenty lines down or whatever. That’s gone now.

The paredit pro tip helped a little bit with one of my most common use of prefix: paredit-wrap-sexp. I now have an even better way wrap sexps.

When I do need to use prefix for other functions, here’s what I do now. I hold the tab, then the left ctrl (which, on Layer #1 is a real ctrl!) and then I can type my prefix numbers. Obviously nowhere near smooth enough to use all the time like I could previously. It’s more something I do rarely and deliberately.

Good or bad?

Among all my complaining, it’s easy to miss the things that are better. The HHKB took up almost no desk space. This takes up way less, and, that’s a difference I’m actually noticing and appreciating.

That’s… basically it. That’s the one advantage. Oh, and the switches! I just keep on loving the Kaihl speed coppers more and more! With one weird exception: typing passwords! I don’t know why, but typing long passwords and passphrases where I can’t see what I’m doing has become ridiculously error prone! I usually need to try sudo like four or five times.

I guess I’m still making typos.

It’s a double-sided coin; there are whole classes of typos I no longer make, and a whole new bunch of typos that I tend to make now with the Atreus. I’m not optimistic; with the HHKB, it’s less that I made fewer and fewer typos over time and more that I got really fast with the C-t, C-h, C-r, C-d, C-e etc to fix as I go. (Although the most error prone is still the tablet’s on-screen keyboard; if you see a post on here with tons of typos I probably typed it on there.)

Another category of β€œbetter” is things that I could always have done but never realized until these cramped conditions made them necessary, like the paredit MWVZ thing. That would’ve been just as awesome on the HHKB. So while they help make me way more happy with my current Atreus sitch, it’s hard to justify that as a selling point.

Obviously the big selling-point of this thing is the open firmware. And while I love microscheme, I still haven’t gotten into hacking on that. I’ve only used Chrysalis so far.

Overall, what I would’ve loved is… a HHKB’s physical layout, staggered rows, blank contoured keycaps etc, every key that the HHKB has where it has it and none of the Atreus’ extra keys, but, with the Atreus’ more reliable USB interface and open firmware and Chrysalis. The truth is the HHKB kept bugging things up while the Atreus works more reliably.

My layout file. It has some unused cruft on #2 and #6.

A paredit pro tip