Friday, 30 May 2025

Mechanical keyboard wiring using the Tutte-Coxeter graph

Following my post on Topology meets Keyboard Design, I spent a few days exploring small less symmetric graphs, trying to find something in the region of 30~42 edges, 20~29 vertices, and as good a girth as possible (especially to have better rollover for the modifier & layer keys) for use in an ergonomic keyboard design. Then I realised as a starting point we can just use part of the 30 vertex Tutte-Coxeter graph, and get 6-key rollover automatically.

30 vertex Tutte-Coxeter graph 28/30 vertices in Tutte-Coxeter graph 26/30 vertices in Tutte-Coxeter graph
All 30 vertices in Tutte-Coxeter graph28 of 30 vertices in Tutte-Coxeter graph26 of 30 vertices in Tutte-Coxeter graph

Friday, 23 May 2025

Topology meets custom keyboard circuit design

Lately I've been reading about ergonomic keyboards, including DIY, spilt keyboards, and custom layouts. I'm currently learning to touch type my own variant of the inverted Hands Down Promethium layout on a pre-assembled Corne spilt keyboard (and on my laptop). I'd like more pinkie stagger, so perhaps I'll design and build my own keyboard - but I don't like soldering, so am drawn to the diode free designs.

The microcontrollers used in most DIY keyboard designs have at least 17 pins available to connect to keyboard switches. In the simplest designs each pin is connected directly to one key switch, which in a split design is enough for a 34 key layout. But what happens if you want more keys than your available GPIO pins, and you don't want to add diodes? Enter topology and the Heawood Graph, 14 vertices (GPIO pins) and 21 edges (key switches).

Heawood graph, 14 vertices & 21 edges, chain of 6 highlighted