Ergovolve


The Ergodox is a split ergonomic keyboard designed by the mechanical keyboard enthusiast community. It supports arbitrary key layouts, and the community has obligingly spawned layouts based on standard layouts like querty or colemak, modified to a greater or lesser degree, or based on completely new key maps. As a result, labeled keys are almost never available for the Ergodox, as each key would have to be made in three different versions to allow its placement anywhere.

For the recent Granite keycap groupbuy run on Deskthority and Geekhack, the organizer Matt3o was willing to provide a labeled Ergodox set if we could come up with a good scheme. Only the modifier keys would be labeled, as the standard 1u keys could be gathered from other sets. To keep the cost reasonable, the set was limited to about 18 to 20 keys. The goal of squarefrog and I was therefore to find a set of key labels that would cover around 70% of the modifier keys of as many different layouts as possible, 70% coverage a number we deemed reasonable.

Squarefrog started a campaign to gather Ergodox layouts, enter them into a database and generate statistics. I then wrote a short python program - ergovolve - that took this database together with a list of keys available in other sets (we wanted no redundancies) and used a genetic algorithm to find the optimal set of labels.

Many thanks to DEAP, the toolkit used in this project.

We ended up collecting about 40 layouts, ignoring the layer switch keys, and deciding on a 19 key set. The project has been stalled since the buy went live, but based on the fact that 66 sets were purchased (vs. 367 main sets) I’d say the layout was fairly successful.

Ergodoxian Layout
Image by Matt3o



Written with StackEdit using markdown.css, google-code-prettify and MathJax.