Skip to content

Instantly share code, notes, and snippets.

@Myrdden
Last active March 13, 2023 23:49
Show Gist options
  • Save Myrdden/d55739f0d9894631aca83ac664d20f1a to your computer and use it in GitHub Desktop.
Save Myrdden/d55739f0d9894631aca83ac664d20f1a to your computer and use it in GitHub Desktop.

Layout

¬ ~
`
!
1
" @
2
£ #
3
$
4
%
5
^
6
&
7
*
8
(
9
)
0
_
-
+
=
Backspace
Tab ?
/
K O B W Y F I V J {
[
}
]
~ \
# |
Caps G T E D C H N A R U @ "
'
Return
LShift L Q <
,
P X M >
.
Z S :
;
RShift

Design

So the first step in creating this was to assign every key in the general letter-space area with a weight, following the philosophy of the Workman layout, which doesn't merely prioritise the home row but rather also assumes that if the finger does have to move off the home row, it's easiest for the pointer and pinkie to curl in, and it's easier for the middle and right to strech out. With that, priorities are assigned thusly:

8 7 (2) 5 6 6 5 (2) 7 8
3 1 (1) 2 2 2 2 (1) 1 3
2 8 (8) 4 8 4 (8) 8 2

The ones in parentheses were reserved for either a vowel or punctuation mark, so as to minimise the chances of two consecutive letters requiring the use of the same finger, as in Dvorak.

Then, working off an alphabet organised from most statistically likely to least,

eariotnslcudpmhgbfywkvxzjq

assign letters to each of the weights in order. When assigning two letters to the same weight group, care is taken to make sure that they're generally on the opposite hand from any other consonant they might form a digraph with. The ones I payed most attention to were:

  • TH and HE ('the' sure pops up a lot)
  • WH, CH, SH, and GH
  • AN, IN, ON and UN
  • ET, TE, ED, DE, EN, RE, ER, LE, EL and ES (common suffixes in English)
  • ST, SP, SC, and SK
  • NT and ND
  • EA and OU
  • AT and AS
  • IS, OR, OF, and NO
  • TI

This constrains the placement of pretty much all the keys to one or maybe two positions, but when there was a choice to be made, an attempt was made to follow the Dvorak principle of moving strokes from outermost to innermost where possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment