I built a Lily58 split keyboard so you don't have to

Posted on Fri 04 November 2022 in keyboards, IT

I had a long summer and decided I would do something to improve the ergonomics of my tech life. Many years ago I bought a Kinesis Advantage, but I was young and naive, and gave up after a week. This time, with all the wisdom of my late twenties, I was ready to take my revenge. How naive.

Lily58 colored keycaps

You don't wanna choose the wrong split keyboard, do you?

I started by losing one year in life expectancy in browsing for split keyboards, even before I decided I would build one myself. This is worse than looking for an apartment in a European capital. I cannot even possibly link all the resources that I went through. Obviously, as anything in tech, I could find absolutely no agreement whatsoever on which was the best option. I guess once you spend $350 on a keyboard, you just spend an hour a day boasting on Reddit about how great it is. Really, there is a million split keyboards - and that does not even count the dudes that genuinely think that we need one more and went on to redesign a split keyboard because their left thumb is longer than the right one and it was vital to have one thumb cluster one millimeter closer. I'm a practical dude: just sand away that extra millimeter from that left thumb. I never thought there could be more combative people than the ones advocating for spaces in indentation, but hey, we never stop learning.

Split keyboards gallery

I should also mention that I always felt a mix of indifference and outright contempt for mechanical keyboards. I know I am typing, I do not need my keyboard to remind me and the whole room. 99% of split keyboards are mechanical, so I do not know why I did not drop it here to be honest.

ANYWAY, I decided it was a Lily58 that I wanted to have. For the largest part, I picked a Lily58 for the same reason why ugly apartments overlooking the highway are still bought by affluent families: I was fed up with searching. But I keep telling myself that there were also a multitude of good, rational reasons for that choice:

  • it is an open source project. Open source fanatics are possibly even more dangerous than space-indentation folks, so be careful with arguing here.
  • it is DIY, so that my mum can be proud that I did it with my hands.
  • it is lightweight, the thought being that I could travel with it. That's always been my dream: go to the Amalfi coast with my keyboard. Partners are overrated.
  • it is cheap(er). I got a kit for ~120€, and switches and keycaps for ~50€. So all in all under 200€, while commercial split keyboards sell easily at 300+€.

There is then the whole thing of these keyboards being programmable. This means you can program a combination of keys to do... whatever you want! And as much as this might have seemed a staggering innovation in 1998, modern operating systems allow that natively, even with regular keyboards. They are called shortcuts, and scripts. Astonishing, I know. But people say: "but your custom behaviors are not linked to the computer, they are embedded on the keyboard itself!". What can I say. I would love to be able to feel genuine enthusiasm for this, but I just find it appalling. As if I needed to run a custom git workflow on any machine I touch.

Building the Lily58

ANYWAY, on to the building experience. I already knew how to solder, and I can tell that this is not the right project if you have never soldered before. I thoroughly enjoyed the building process, and was enthusiastic when my girlfriend mentioned that she might want have wanted me to build one for her. That enthusiasm soon faded when I found myself soldering 58 invisible diodes, whose polarity needs to be respected and is only made apparent by a faded line on the component itself. For scale, here is a diode in a bowl. Be prepared to solder 58 of these minuscule devils. Then 58 switch sockets. Then 2x2x2 rows of connector for the microcontrollers. I should also mention that the official building reference has ambiguous pictures, and japanese captions. At one point I thought I had made a mistake in soldering, and thought to myself "oh well, this was a nice project",  ready to throw it in the trash dispose of it as we responsible western citizens do with electronic waste. But then it turned out that I was right all along and, after only 3 days of sniffing tin fumes, a) my understanding of Japanese had improved remarkably, and b) I had no excuse not to give the Lily a spin.

And right when I thought I was ready to type... well, you do need keys on your keyboard, don't you? It took me a while to let sink in the fact that the keyboard kit came, simply, with no way of actually pressing the keys. You need at least switches, and realistically also keycaps, and, god, there starts another quest for which. High or low profile? Cherry MX or a cheaper brand? Red (silent?), brown, blue, or damn rainbow? SA, OEM, XDA, or SDA profile? Blank keycaps? Maybe themed? By this point, I was in pain. I take the top tshirt from the pile in the morning and do not look back. I think the last time I properly picked my clothes was for my last first date, if I even did. I hate choosing. I seriously considered buying an anime-themed keycaps set, and I hate anime. In the end, I picked red Cherry MX and a colored blank keycaps set for masochistic reasons that will soon be clear. (And just so that I do not look noobier than I actually was, I did buy the keys at the same time that I bought the base kit. I knew I needed keys.)

Lily58 building

Switching keyboard layout

And here is yet another plot twist. A DIY split keyboard was not enough. There is plenty of people writing with one, so how special would I be if it was just split? No, I needed to learn proper touch-typing, and it needed to happen with a different keyboard layout. I also needed to ditch QWERTY. And, to be fair with my logic, I could not touch-type in qwerty on a split keyboard, so I would have have to learn it anyway. But anyway, here came other days of browsing, cause the devil has made sure to provide us with a comical amount of alternative keyboard layouts: Dvorak, Colemak, Workman, ... not to count the custom ones: because yes, there are people who actually look at their keyboard and are like "nah, the a there... it's not optimal", and they move it somewhere else. Then one week later, just when they are about to get used to the change, they move it somewhere else again. God has at least made sure that these folks cannot communicate much, because if you text them an innocuous "Hi Larry!", you will get a Larry is writing for 10 seconds, and then get "Ho" as reply.

But okay, so I picked Colemak, basically because the thought of moving the punctuation to the upper-left corner (Dvorak) was honestly as comical as a mathematician using dynamic programming to arrange dinner with a group of friends. I am progressive, but not that progressive. Leave the damn punctuation alone. Colemak preserves qwerty's layout to a large extent, so the idea is that you do not need to learn totally anew. Which is a fair point: I think I did not struggle much with the keys that were left unmoved. For the other ones... well, different story.

I was confident that Colemak was the right choice, except that I had not realized that Colemak has many flavors. I was in even more pain. There is regular Colemak, which everybody agreed being inferior to Colemak-DH, which came some years later. However, the tragedy is that nobody seems to have informed the Colemak Academy, since their default layout is still regular Colemak, and they are the only website in the world not using cookies to remember your choice. So some days I would practice on regular Colemak, some days on Colemak-DH. What can I say, I am dumb. I blame it on decision fatigue. But fair, I slouch to the end of the Colemak Academy and achieve a terrific score of 18 WPM, down from ~80 WPM with a regular qwerty keyboard. I stop to ponder that, if I will be ~4 times slower than before, I will have to sit 4x longer, and I just see the ergonomics flying out the window. I prey to a god I do not believe in that it will not take me forever to get back to speed. Note that I am entirely glitching over the fact that being the Lily a programmable keyboard, you need to actually... program it! You have to decide what each key will do, compile the damn keymap and flash it on both microcontrollers. And then likely fiddle with it half day.

I also soon learnt that what a lone honest voice said on Reddit: the websites that allow you to practice by copying characters you see on screen are useful to start with, but copying something you read is entirely different than writing from the top of your mind. When copying, you can focus 100% on where to send your fingers. When writing, you hopefully focus 100% on the content. (My god, think what a place the internet would be if people would not even focus on content but on finger motion instead. It would be a paradise of burps.) For me, still running an outdated, largely single-threaded brain, writing from the top of my head was slower than writing on damn paper.

Lily58 switches

Colemak coming back to haunt me

And then, right when I was ready to have fun, I just accept that this has just been a big mistake. I have no idea how far apart the two halves should be. However I set them, they are always uncomfortable. They are far too high, so I have to hover a meter above the keyboard, which brings huge tension in my shoulders. I have been typing for ~15 years, and not knowing where to send my index fingers is unbearably frustrating and makes me even more tense. And while I could fix all that with patience (as if I had not already invested enough), there is one thing that will never change: the Lily58 has too few keys. 58 keys seem a lot, until you start using it. I tried using multiple layers and key combos, and then I was constantly looking at my paper map of keys of where the hell the things I was looking for were. I dreaded sitting at the computer. My Lily58 is beautiful, but utterly useless, and close to the least ergonomic addition I could do to my workstation.

It is okay, I can accept the failure. I have quit a PhD, I can quit a keyboard. The Lily was a demanding, expensive, colorful mistake. I don't even think it made me a more prestigious software developer. One of my neighbors once came in, had a tour of the apartment, left me a polish beer, and asked if the Lily was something "to play music with" (don't ask further about the interaction). But Colemak... I was still hooked.

The official reason is that I am not so keen on keeping living with a keyboard layout that is the least ergonomic, and still around for historical reasons only. The truth is that I also noticed that I could somewhat touch-type Colemak on another keyboard, but not qwerty, so it looked like I had effectively locked myself into Colemak. I could as well go all in then. I picked back the Kinesis Advantage I had and felt determined to write Colemak with it. I put my hands on and I felt such a relief in resting my palms that I genuinely do not know what all the hype about other keyboards is about. The Reddit comments saying "Get a Kinesis, it's a workhorse" felt reactionary a month ago: now they feel just wise.

Except that then something else happened. I wanted to go cry on my mother's lap, but a) she is half a million kilometers away, and b) I had run out of tears. The Kinesis Advantage is not programmable, so I had to switch keymap in the OS. (The Kinesis Advantage2 is programmable, but the Advantage is not. A tiny digit for a big difference. And yes, I spent a solid half day trying to debug my Kinesis because I had never even noticed I owned an Advantage and not an Advantage2.) However, I discovered that Ubuntu 18.04 did not support Colemak-DH, which is the Colemak flavour I had become somewhat proficient in. And yes, we are in 2022, but I am a wise sysadmin enough to know better than upgrading an LTS that is still supported and not broken. So for the first few weeks I could only type Colemak on the Academy's website, which can dynamically remap the keys. Until when I felt ready to start typing Colemak everywhere, and I figured I would finally update to Ubuntu 22.04. This broke half of my software and did not even ship Colemak-DH as a supported keyboard layout. Go figure out fucking why.

The failure of my PhD project paled in comparison to the difficulty of typing Colemak in the wild. I ended up installing Mint over Ubuntu because hey, there was not enough chaos already. With that, I discovered that the Colemak-DH keymap that is shipped with Linux is tailored to the laptop keyboards, which have an extra key between the left shift and the z, which matrix keyboards do not have. This means that I effectively ended up with the whole bottom row being shifted one character to the right. It felt like a prank so elaborated that nobody could have devised it. I was speechless. It turned out that the only solution was something called Dreymar's Big(!) Bag of Tricks, which honestly feels like even bigger a prank. The "solution" amounts to cloning a github repo and running a script that gives no feedback over what the hell it has done, and then figuring out how that would have helped. It turned out that it had added some keyboard layouts, among which Colemak-DH for matrix keyboards, but god forbid it to work properly. Even if it is a keymap at the OS level, on every session lock the OS defaults back to qwerty, so I have to manually change it back to Colemak. I still live my daily life with this: I am stunned, and I routinely mistype my password before I realize I have to switch layout. And let's not even get started about writing in foreign languages. Every day, I write in English, Swedish and Italian, and no Colemak layout has any Alt-Gr dead keys option. I have to switch layout.

So this is my life these days. I have two keyboards on my desk, none of which is the Lily58, which is peacefully resting on a shelf. I use the Kinesis Advantage with Colemak at ~35 WPM and 90% accuracy for half a day, until when I feel that tiredness peculiar of having spoken a foreign language the whole day. Then I switch to a shitty qwerty membrane keyboard and get my day's work done. I would so much love to be able to say "I wrote this blog post with my Lily", but I have would have grown a beard if that was the case. Maybe when Colemak will be ingrained I will be able to give the Lily another spin. Until now, it is for sale at €400.

Lily58 colored keycaps