I'm getting that itch to create something new and I think that this time I'm going to go with a nice TKL layout. I've had this one in mind for a long time. It will be fun to see it come together.
A view of all the layout options:
I'm going to document the whole process here. It will probably take a few months, at least. Hopefully it will be interesting.
PlanningLayout ConceptDespite usually building compact layouts (Epsilon, Zeta), I spend most of my time using a TKL layout at work. Even though I think it wastes too much space, I must admit that I am have committed the locations of the TKL keys to muscle memory. Also, it just
looks good. It's time to make a TKL.
Of course, I have to do something different than plain old ANSI. I want to make something new and interesting. So, I followed the following train of thought:
- Start with a Leopold/Filco style TKL. This means the nav clusters are separated from the main layout by 0.25u and the Function row is separated by 0.5u. This differs from the Korean style which uses 0.25u for both. It also differs from the Realforce style which uses 0.5u for both. I like the way it looks.
- Switch from standard ANSI bottom row to that of the Realforce 87U. This uses winkeyless-style mods, 1u winkeys, and a 6u space bar. 6u is harder to find, but darn it, it just looks better than the too-big 7u.
- Use a Cherry-style offset caps lock. They look better.
- The 2.75u right shift key doesn't need to be that long, and 1.75u keys are easy to find. Shorten it to make room for a Fn key.
- The top row has too much open space, and I'd like another spare key to meddle with layers. Therefore, squeeze in a new modifier to the right of F12, similar to old DK Saver.
- The theme for this one is "lots of keys", so I'd also like to get the option to fill up the nav cluster with a full 5x3 matrix.
The result of all this is, in my humble opinion, the perfect TKL.
On 6u space barsThe most complicating part of this layout is the 6u space bar. I want to use it because it leaves room for another key on the bottom row, and because the 6 just looks better. The 7 takes too much space and looks off-center.
Unfortunately they are very hard to find. I have personally had two kinds in my collection. The first is the SP DSA with centered stems. I think these are non-standard. The second is the Cherry off-center stem. I have already dealt with this before on my Epsilon. They can be found on certain old MX and MY boards. However, I've yet to come across 6u stabilizers for sale anywhere.
What really convinced me to give it a shot is that newer
dyesub PBT sets are coming with a Cherry-compatible 6u space bar! I hope this means they will be more common now.
Also, the Cherry-style 6u has the same switch footprint as the 7u, so that makes it fairly easy to construct a board that supports both. My PCB will allow both the 1.5-1-1.5-6-1.5-1-1-1.5 and 1.5-1-1.5-7-1.5-1-1.5 bottom row configurations.
I always like to make boards that are a little quirky. If it was boring I wouldn't enjoy the job. I guess the 6u is one of my quirks this time around.
What to do with the nav clusterAs demonstrated with my Zeta project, I don't like to leave wasted space on the layout. The ANSI layout has 2u of empty space that I wanted to put to use. The layout here is similar to the top row of Zeta, where the three 'F' groups are still separated but are squished closer together. This leaves space for 1 more key. I think Num Lock is a good fit. It becomes useful when you fill in the nav cluster.
With a filled nav cluster, you get a 3x5 grid that can form a mini number pad. The Num Lock could then be used to switch between a normal layer with arrow keys and PgUp/PgDn, and a number layer. This feature does a reasonably good job of fitting a full layout into a TKL size.
To support this, I think I'm going to need a new feature in the firmware. Something that can watch for changes to Num Lock and switch layers accordingly.