Introducing the RSTHD layout

Screen Shot 2016-04-22 at 22.40.26.png

This is the actual RSTHD layout, as implemented in the firmware of my ErgoDox EZ. I have been using it consistently for four months, and since I started learning the layout, I have gotten up to about 120WPM on it. On a good day, I can occasionally manage 135. This is my fourth time learning a nonstandard keyboard layout for English (here I’m excluding Zhuyin and Dubeolsik because I’m not fluent enough in Chinese or Korean to run into issues with my typing speed anyway), so I think my brain is used to handling switching between layouts. My muscle memory for each layout is sufficiently abstracted away from my muscle memory from the physical keyboard that I can switch between layouts and learn new layouts with relative ease, as my typing speed history shows:

Screen Shot 2016-05-16 at 16.25.03.png

I switched to Dvorak in eighth grade and it has served me well as my primary layout over the years. When I used other people’s computers, including for doing work at school, I used Portable Keyboard Layout on a flash drive to remap the keyboard at the software level, so switching between Dvorak and Qwerty was never an issue. Up until I started learning RSTHD, I had a working proficiency of Qwerty and could sustain 80–90WPM fairly easily; my speed has since decreased to about 60–70, which is still above average, and I still use Qwerty on my phone and tablet without any issues. In my personal experience, learning an alternate layout does take a fair bit of commitment, but it is possible and in fact practical to retain muscle memory for multiple layouts as long as you use all of them on a regular basis. And if I have to, I have no problem getting on someone else’s computer and using Qwerty—perhaps to help troubleshoot an issue with their computer or something similar.

Since I will likely be working in front of a keyboard for eight hours a day for several decades of my life, I want to make sure that my keyboard is ergonomic and efficient. Dvorak has its own flaws; while it is a huge step up from Qwerty in terms of comfort, it still has little quirks that annoy me when I type:

  • L, a relatively common key, is in one of the hardest to reach corners of the keyboard, requiring you to stretch your pinky, the weakest finger, upward. This is exacerbated by how commonly the L key is used twice in succession.
  • The center column on the left side is used too often; for example, how much lateral movement your left index finger has to make to type words like “typing”, “hiking”, and “skippy”.
  • The bottom row on the left side often feels cramped on a standard staggered keyboard. The staggering is part of the culprit; it makes the middle and ring fingers bend towards the index finger to reach the keys if you are using the standard fingering.

When I was scouting out other alternate layouts, none of them struck me as much better than Dvorak; they all had some small but noticeable flaws, and since I’ve been using alternate layouts for years, I had come to know what I wanted in a keyboard layout very well and had some extremely specific requirements for a layout. So when nothing I found suited my particular needs, I did the only thing any sane engineer-at-heart would do: I created my own.

At first, I tried starting with the Malt layout and swapping keys around until I saw something I liked while trying to balance out hand and finger usage and eyeballing digraph comfortableness by intuition. But it turns out that I had so many different parameters I wanted to optimize at the same time that it was impossible for me to keep them all in mind at the same time. So in December, I wrote a Rust program to do the optimization for me using the simulated annealing technique made popular (relatively speaking) by the carpalx project.


Typing on RSTHD is very comfortable; my fingers move less than even in Dvorak. There are very few awkward hand stretches, and the vast majority of rolls feel very comfortable, since you tend to roll toward the center. Having E on a thumb key allows the rest of the alphabet to be arranged more optimally for comfortable strokes. Putting Backspace and Enter on the thumb as well greatly reduces the amount of load on the two pinkies, which are greatly overloaded on a standard layout. Escape on the home row makes working in Vim a pleasure; as for HJKL, I tend to use the arrow keys instead—they are placed in much more convenient locations on this keyboard. Down and Up take from Dvorak’s positioning of the J and K keys, and Left and Right are in the same position but on the other hand. In my opinion, this arrangement is much more usable than an arrow cluster awkwardly to one side of the keyboard. The number row is rearranged to put 1, 0, and 2, the most frequently typed numbers, on strong fingers while maintaining some semblance of natural ordering for ease of memorization.

The arrangement of the alphabet itself on the layout is based on optimizing a lot of parameters. The simplest parameter is that the easiest to reach keys are given the most frequently typed letters, and the hardest to reach keys are given uncommon letters. As you can see, this has worked out fairly well. The home row consists of the nine most common letters RSTH E NAIO, and the next two (DLU) are on the next easiest to reach keys. In the eight corners we have the least common letters: J, K, Z, Q, B, and X, with symbols taking up the bottom two corners. These are arranged in a way such that even when they occur, they appear in pleasant strokes of the hand; try tracing out the words JACK and QUEEN. Your hand will barely move at all.

Most of the strokes roll your hand toward the center of the keyboard, which people generally prefer to rolling outwards. Having most rolls in one direction means that it is relatively unlikely, compared to other layouts, that a roll will reverse direction in a hand. Reversing a roll prevents you from simply using the weight of your hand to support the rolling motion of your fingers, which slows down your typing. The keyboard is also designed so that as many strokes as possible consist of typing two to three letters successively using the same hand. Alternating hands for every keystroke at fast speeds can mess up your typing rhythm because it requires precise hand-to-hand coordination, and using one hand to type many keys in succession fatigues it, preventing fast typing.


My own metrics report the following penalties for various layouts (lower is better):

Screen Shot 2016-05-17 at 11.21.09.png
Full size

As you can see, the scaled penalty for RSTHD is much, much lower than the next best layout (MTGAP). Qwerty, naturally, is way worse than all of the other layouts. Surprisingly, my analysis showed that the optimized layout generated by carpalx (QGMLWY) is actually worse than Dvorak; it accumulates a large penalty due to high same finger usage. And the other layouts score about as well as I would intuitively think based on just looking at the layout: Colemak and Workman are in a league, and Maltron, Arensito and MTGAP, which are more liberal with moving around punctuation, beat Colemak by a small margin. But the gap between Colemak and MTGAP is still not as big as the gap between MTGAP and RSTHD.

For a full description of the heuristic I used along with brief justification, see the readme of my optimization program.

Patrick Gillespie’s keyboard layout analyzer seems to agree with the results: for the first chapter of Alice in Wonderland, it gives the following scores (higher is better):

Screen Shot 2016-05-16 at 17.55.14

Here again, we see Qwerty at the bottom, other alternate keyboard layouts in the middle, and RSTHD scoring a fair bit more than the rest. I haven’t done any more analysis using other people’s metrics, but I believe that they would yield similar results.

I think putting the E on the thumb key is the main differentiating factor in breaking past the sort of efficiency plateau that other layouts hit; getting an extra home row key for free is kind of a big deal. Without redoing your entire layout, I suppose you could also put Shift and/or Command/Control on the thumb instead of E and get similar significant improvements in comfort, but I did not consider those solutions. Relieving the non-thumb fingers of E key duty frees up space in the rest of the keyboard to improve in rolling comfort and same finger usage.

In the end, I learned Rust, wrote a simulated annealing program, and generated a unique keyboard layout that I’m proud to call my daily driver. The list of people in the world that use keyboard layouts that they’ve created probably fits on a single page of paper in normal sized font. If nothing else, I’m excited to be joining a small group of geeks who have a hobby that nobody really understands or appreciates. I seem to be good at having those :^)


Appendix: raw output of the optimizer.

Reference: QWERTY
q w e r t | y u i o p -
a s d f g | h j k l ; '
z x c v b | n m , . /

total: 5035296.5; scaled: 1.6927670825776282
base: 3483264.5 / t: 609156; n: 467607; e: 272982; y: 190108; o: 179775;
same finger: 776140 / ed: 107595; un: 66790; de: 49385; rt: 48070; tr: 46840;
long jump hand: 197021 / in: 40205; on: 21898; ve: 15038; be: 11513; no: 10805;
long jump: 348040 / ce: 76180; un: 66790; my: 44290; ec: 41740; mu: 22880;
long jump consecutive: 79184 / ct: 22384; ex: 15664; cr: 15616; o,: 8888; xt: 5064;
pinky/ring twist: 27272 / pl: 23656; lp: 2968; Pl: 320; PL: 128; Sz: 128;
roll reversal: 23496 / eas: 10040; cas: 3968; I'l: 1992; opi: 1312; sad: 904;
left crunch: 76 / Sz: 64; sz: 12;
same hand: 53342.5 / ever: 1370.5; were: 955; look: 914; tter: 609; ered: 561.5;
alternating hand: 52090.5 / with: 2424; ight: 1780; when: 911.5; them: 867.5; they: 846.5;
roll out: 40460.875 / re: 3399.375; hi: 2489.625; te: 1935.625; ve: 1879.75; wa: 1785.5;
roll in: -45014.875 / in: -5025.625; er: -4440; ou: -3636.25; at: -2978.25; on: -2737.25;

Reference: DVORAK
' , . p y | f g c r l /
a o e u i | d h t n s -
; q j k x | b m w v z

total: 2786545.75; scaled: 0.9367815618596818
base: 2285275.75 / l: 309984.5; f: 183732; i: 170015; y: 142581; d: 133745;
same finger: 332725 / gh: 34610; ki: 27690; e.: 25295; pi: 20610; up: 17845;
long jump hand: 16912 / bl: 3784; br: 2028; rm: 1415; Mr: 1188; k,: 1090;
long jump: 17570 / xp: 6150; rv: 5740; ky: 2010; mf: 1690; zl: 560;
long jump consecutive: 12304 / wr: 5576; lv: 3216; rw: 1864; wf: 1056; "Q: 240;
pinky/ring twist: 12192 / nl: 10496; o;: 856; ln: 632; o:: 184; NL: 24;
roll reversal: 18824 / rst: 7112; nst: 5392; nsw: 3096; nsc: 1456; ea,: 464;
left crunch: 5964 / ju: 3800; eq: 916; Ju: 684; o;: 428; o:: 92;
same hand: 7426.5 / ooke: 389.5; appe: 251; you,: 242; ooki: 232; "You: 229.5;
alternating hand: 100237 / here: 2119; have: 1477; ever: 1370.5; some: 1062.5; were: 955;
roll out: 20407.625 / ea: 1699.75; yo: 986.25; e,: 981.125; ke: 958.875; pe: 739.875;
roll in: -37328.125 / th: -7546.875; nd: -4083.75; ou: -3636.25; ng: -2612.75; st: -1985.875;

Reference: COLEMAK
q w f p g | j l u y ; -
a r s t d | h n e i o '
z x c v b | k m , . /

total: 2562625.375; scaled: 0.8615039610434362
base: 1996572 / h: 176607.5; g: 142815; d: 133745; l: 132850.5; b: 129280;
same finger: 192140 / e,: 39245; kn: 25540; nk: 18110; y.: 10305; ?": 9080;
long jump hand: 22018 / my: 4429; y,: 3536; mu: 2288; y.: 2061; l,: 1647;
long jump: 42910 / y.: 20610; lk: 8080; u,: 5070; lm: 3820; kl: 2490;
long jump consecutive: 40088 / y,: 28288; xp: 4920; u.: 2544; y?: 2144; .-: 1616;
pinky/ring twist: 216 / I;: 136; rz: 40; I:: 24; i;: 16;
roll reversal: 168520 / was: 66144; you: 62096; You: 9752; iou: 5648; car: 5488;
left crunch: 15684 / ct: 11192; tc: 4256; CT: 172; TC: 40; rz: 20;
same hand: 32116.5 / look: 914; like: 680; hink: 474.5; houl: 445.5; ooke: 389.5;
alternating hand: 64943.5 / with: 2424; ight: 1780; ever: 1370.5; were: 955; very: 909.5;
roll out: 46046.875 / he: 7694.625; hi: 2489.625; me: 2163.625; wa: 1785.5; le: 1709.375;
roll in: -42945.5 / in: -5025.625; ou: -3636.25; at: -2978.25; on: -2737.25; en: -2640.75;

Reference: QGMLWY
q g m l w | y f u b ; -
d s t n r | i a e o h '
z x c v j | k p , . /

total: 2876821.125; scaled: 0.9671303572419102
base: 2007832.5 / y: 190108; w: 173013; i: 170015; r: 150172.5; c: 93232;
same finger: 709525 / ai: 92120; ay: 72690; ki: 41535; e,: 39245; if: 35740;
long jump hand: 17757 / up: 3569; y,: 3536; y.: 2061; cl: 1804; pu: 1412;
long jump: 17770 / u,: 5070; lv: 4020; py: 2460; ky: 2010; yp: 1690;
long jump consecutive: 20376 / cl: 14432; u.: 2544; .-: 1616; Cl: 672; b,: 456;
pinky/ring twist: 1192 / o;: 856; o:: 184; Sz: 128; sz: 24;
roll reversal: 3568 / Oh,: 1768; eho: 816; e-b: 344; oh,: 288; ohe: 88;
left crunch: 19284 / nc: 16500; xt: 2532; Sz: 64; NC: 64; XT: 56;
same hand: 11341 / abou: 649.5; befo: 413.5; ooke: 389.5; appe: 251; you,: 242;
alternating hand: 99082.5 / with: 2424; ight: 1780; ever: 1370.5; some: 1062.5; were: 955;
roll out: 25358.5 / nd: 4083.75; ng: 2612.75; nt: 1389.875; fo: 1015.25; ld: 993.875;
roll in: -36981.375 / he: -7694.625; ou: -3636.25; ha: -3357.75; hi: -2489.625; st: -1985.875;

Reference: WORKMAN
q d r w b | j f u p ; -
a s h t g | y n e o i '
z x m c v | k l , . /

total: 2567358.375; scaled: 0.8630951020222921
base: 1914144.75 / l: 177134; r: 120138; m: 115986; d: 106996; b: 96960;
same finger: 357685 / ly: 65280; e,: 39245; kn: 25540; ny: 20810; po: 18325;
long jump hand: 27848 / ul: 7587; pl: 2957; cr: 1952; lf: 1885; rm: 1415;
long jump: 67590 / lf: 18850; rm: 14150; Mr: 11880; fl: 10610; u,: 5070;
long jump consecutive: 22224 / mb: 9832; p,: 5720; u.: 2544; .-: 1616; dm: 1240;
pinky/ring twist: 1192 / o;: 856; o:: 184; Sz: 128; sz: 24;
roll reversal: 71448 / had: 38120; mad: 7744; has: 6576; dar: 3424; sam: 2784;
left crunch: 1020 / tm: 640; xh: 224; Sz: 64; mt: 48; TM: 32;
same hand: 39148 / that: 4015.5; look: 914; what: 843.5; like: 680; ooke: 389.5;
alternating hand: 64044 / here: 2119; ever: 1370.5; some: 1062.5; were: 955; very: 909.5;
roll out: 46211.25 / th: 7546.875; ha: 3357.75; wa: 1785.5; le: 1709.375; ne: 1508.125;
roll in: -44176.625 / in: -5025.625; ou: -3636.25; at: -2978.25; on: -2737.25; en: -2640.75;

Reference: MALTRON
q p y c b | v m u z l =
a n i s f | d t h o r '
, . j g / | ; w k - x
        e
total: 2388307; scaled: 0.802901571474436
base: 1972571.5 / l: 309984.5; ,: 160419; d: 133745; w: 115342; b: 96960;
same finger: 98010 / n.: 9960; hu: 7265; sc: 7015; tw: 6100; rl: 6000;
long jump hand: 11064 / y,: 3536; y.: 2061; lk: 808; p,: 715; lw: 591;
long jump: 7790 / p.: 3810; uk: 1760; m;: 1260; P.: 250; m:: 130;
long jump consecutive: 27632 / y.: 16488; p,: 5720; -l: 1656; -m: 1352; l-: 1144;
pinky/ring twist: 134600 / lo: 63248; ol: 36496; n,: 28192; Lo: 5680; Ol: 544;
roll reversal: 24432 / hro: 6352; ian: 5624; ork: 4456; pai: 3264; olu: 1288;
left crunch: 14836 / n,: 14096; I.: 620; N,: 64; .i: 24; i.: 16;
same hand: 48167 / ould: 2370; woul: 1016; look: 914; thou: 843; been: 702;
alternating hand: 64550.5 / here: 2119; have: 1477; ever: 1370.5; tion: 1269; were: 955;
roll out: 39093 / th: 7546.875; in: 5025.625; to: 2750.375; or: 2301.125; ho: 1239.875;
roll in: -39603 / an: -4981.125; ou: -3636.25; ng: -2612.75; as: -2421.625; is: -2067.25;

Reference: MTGAP
y p o u - | b d l c k j
i n e a , | m h t s r v
( " ' . _ | ) f w g x
        z
total: 2299921.375; scaled: 0.7731880726619926
base: 1965028 / o: 179775; d: 160494; y: 142581; b: 129280; g: 119012.5;
same finger: 144135 / mb: 18435; tl: 13750; au: 8525; rk: 7165; sc: 7015;
long jump hand: 13885 / y.: 2061; lf: 1885; gl: 1109; fl: 1061; "Y: 715;
long jump: 23090 / lw: 5910; wl: 3930; u.: 3180; o': 3130; .-: 2020;
long jump consecutive: 28928 / gl: 8872; "Y: 5720; xc: 2800; "O: 2688; y?: 2144;
pinky/ring twist: 15952 / sk: 9160; ks: 6384; Sk: 368; KS: 32; SK: 8;
roll reversal: 28680 / oin: 9216; ein: 5272; "Yo: 3688; pie: 2240; "Ye: 1936;
left crunch: 3596 / e?: 2268; a': 548; 'a: 288; "E: 232; e": 100;
same hand: 12314 / upon: 281; appe: 251; ion,: 246; you,: 242; open: 241.5;
alternating hand: 86349 / here: 2119; have: 1477; ever: 1370.5; some: 1062.5; were: 955;
roll out: 25492.375 / an: 4981.125; on: 2737.25; en: 2640.75; ai: 1151.5; ay: 908.625;
roll in: -43932 / th: -7546.875; in: -5025.625; ou: -3636.25; st: -1985.875; ea: -1699.75;

Reference: CAPEWELL
. y w d f | j p l u q /
a e r s g | b t n i o -
x z c v ; | k w h , '

total: 2490136.375; scaled: 0.8371345931126758
base: 2018167.25 / h: 282572; f: 137799; e: 136491; w: 115342; ,: 114585;
same finger: 159825 / ey: 19440; gs: 11890; ds: 10505; ye: 10235; cr: 9760;
long jump hand: 13172 / ?": 1816; l,: 1647; hu: 1453; lk: 808; p,: 715;
long jump: 33710 / ?": 18160; u,: 5070; d;: 2970; ?': 1790; dv: 1560;
long jump consecutive: 34496 / l,: 13176; hu: 11624; cy: 4016; u': 2768; Hu: 1272;
pinky/ring twist: 18784 / ex: 15664; xe: 2320; Ex: 392; iq: 216; EX: 192;
roll reversal: 114472 / ear: 30624; hou: 28056; ion: 27976; eac: 3504; nou: 3384;
left crunch: 15304 / ex: 7832; sc: 5612; xe: 1160; cs: 224; Ex: 196;
same hand: 57649 / with: 2424; thin: 1950; ever: 1370.5; tion: 1269; woul: 1016;
alternating hand: 35187 / hand: 653.5; righ: 417.5; take: 409; heir: 382.5; stan: 357.5;
roll out: 54107.625 / th: 7546.875; re: 3399.375; to: 2750.375; hi: 2489.625; ve: 1879.75;
roll in: -49433.5 / in: -5025.625; er: -4440; ou: -3636.25; on: -2737.25; ed: -2689.875;

Reference: ARENSITO
q l , p   | f u d k
a r e n b | g s i t o
z w . h j | v c y m x

total: 2304346.25; scaled: 0.7746756281107176
base: 1907652.75 / h: 282572; m: 144982.5; w: 144177.5; d: 106996; t: 101526;
same finger: 151645 / e,: 39245; e.: 25295; ok: 19650; gs: 11890; ui: 8225;
long jump hand: 20648 / ck: 4524; uc: 2912; mu: 2288; dy: 1655; cu: 1423;
long jump: 17480 / lw: 5910; ph: 4820; wl: 3930; dm: 1550; uy: 400;
long jump consecutive: 60736 / mu: 18304; dy: 13240; um: 11368; w,: 7936; l.: 6600;
pinky/ring twist: 72 / rz: 40; kt: 24; tk: 8;
roll reversal: 48400 / ear: 30624; eal: 6176; mou: 3344; dou: 2040; tou: 1792;
left crunch: 57660 / we: 35052; n.: 7968; ew: 7564; We: 6584; EW: 216;
same hand: 38639 / here: 2119; were: 955; when: 911.5; been: 702; hear: 534.5;
alternating hand: 49758 / thin: 1950; hing: 1629; know: 890.5; ning: 694.5; ing,: 642;
roll out: 54585.125 / he: 7694.625; er: 4440; ha: 3357.75; to: 2750.375; it: 2501.375;
roll in: -45269.625 / an: -4981.125; ou: -3636.25; re: -3399.375; en: -2640.75; is: -2067.25;

RSTHD:
j c y f k | z l , u q =
r s t h d | m n a i o -
/ v g p b | x w . ; '
        e
total: 1865452.375; scaled: 0.6271281888794945
base: 1679719.75 / d: 133745; l: 132850.5; b: 129280; w: 115342; g: 95210;
same finger: 88285 / wn: 13635; ty: 10575; ui: 8225; sc: 7015; nl: 6560;
long jump hand: 11291 / by: 2226; ,": 1918; w,: 992; l.: 825; 'l: 595;
long jump: 11990 / lw: 5910; wl: 3930; gy: 890; "Q: 300; u;: 280;
long jump consecutive: 7352 / u': 2768; u.: 2544; vy: 1200; 'u: 376; "U: 208;
pinky/ring twist: 2288 / s?: 2032; iq: 216; S?: 16; s/: 16; /S: 8;
roll reversal: 1640 / cry: 1016; .-I: 392; io,: 80; io.: 32; aqu: 32;
left crunch: 28784 / gh: 27688; s?: 1016; GH: 44; Gh: 16; S?: 8;
same hand: 49379.5 / ther: 2398; here: 2119; ever: 1370.5; woul: 1016; very: 909.5;
alternating hand: 36579 / what: 843.5; whic: 719; ment: 587.5; went: 562.5; able: 512.5;
roll out: 23517.5 / wa: 1785.5; no: 1350.625; ai: 1151.5; li: 1139.625; wi: 1010.875;
roll in: -46589.375 / th: -7546.875; in: -5025.625; an: -4981.125; ou: -3636.25; on: -2737.25;
Advertisements

5 thoughts on “Introducing the RSTHD layout

  1. Thanks for sharing your work. I am seriously considering making the RSTHD layout of my Ergodox EZ.

    Before I learn another new keyboard layout, I would like to know if you tried to fix the left hand bottom row to keep the ZXCV keys, including a small shuffle similar to Colemak mod-DH: https://colemakmods.github.io/mod-dh/ .

    How is the feel of having Ctrl, Alt, and GUI on the index fingers?

    I have been using TECK, which has Shift keys along the home row and Ctrl along the bottom row as pinky finger stretch keys. This configuration works well.

    1. That’s great to hear! Let me know if you do decide to learn the layout; you’d be the first besides me, as far as I’m aware.

      The modifiers on the center column are easier to reach, since they’re close to your index finger, which is one of your strongest. I prefer them there over having them in the bottom corners of the keyboard, where you’d have to stretch your pinky or thumb over to reach them. You have to move your entire hand to make the pinky comfortable reaching the modifiers in their traditional position. Modifiers in the central column does make some fairly stretching chords—try holding down Ctrl, Alt, and Shift at the same time—but I would prefer dealing with that than making my pinky handle all the modifiers all the time.

      Keeping ZXCV in the bottom left corner has not been a design concern, since moving those shortcuts doesn’t bother me. I have those shortcuts (Cmd-Z through Cmd-V) on on another layer for easy access, so I don’t think it’s an issue that needs to be addressed in the letter placement: https://github.com/xsznix/qmk_firmware/blob/master/keyboard/ergodox_ez/keymaps/keymap_rsthd.c#L320

  2. Thanks so much for sharing your design and methods!

    I started Dvorak on my new 60% Pok3r 2 months ago. It was slow going at first, but my speed is increasing steadily. Blank let’s went a long way in forcing e to memorise the letter locations. Aside from the L and P keys, I too have discovered that Dvorak has been much more comfortable compared to QWERTY.

    While the pok3r is still a staggered layout keyboard, I really do like having the arrow and page up/down keys all in a cluster beneath my right hand. It is an awkward movement of the right pinky to activate that function layer, but I seem to be doing it unconsciously even on other keyboards now. I use my left hand for mouse, or better, trackball control. There is an advantage in having arrows controlled by one hand while simultaneously controlling the cheaper with the other.

    Soon parts for an 80-key ergodox will be arriving. I have been wondering how to adapt Dvorak to this, but maybe RSTHD is a smarter way to go. I will probably modify the layout to have the arrow keys on a function layer beneath the right hand, then also find a way to keep caps lock around.

    Interesting how “Rust” and “RSTHD” aren’t very dissimilar strings!

    1. Have you gotten your ErgoDox yet? If so, would you mind sharing the layout you ended up using? I’m always interested in comparing what design conclusions other people arrive at.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s