Overview

There are a few distinct parts to the mcdox project:

  • Case
  • Hand PCB
  • Controller
  • Keycaps
  • Firmware

Each of these parts is a good project on their own and, for me, none of these are really finished yet.

The case is made from layers of 5mm and 3mm acrylic, laser cut and held together with M3 bolts, similar to the Lister cases for the ErgoDox but with crucial differences.

The hand PCB just connects all the switches in the same matrix as the ErgoDox and packs the connections conveniently for the controller to work with.

The controller takes the switch matrix and implements the layout and USB connection to the host computer.

The keycaps are the actual pieces of plastic you touch when typing and are still the most expensive part of a custom keyboard.

The firmware runs on a small microprocessor. Currently, I'm using a port of the TMK keyboard firmware.


Why I started this project

I work with a computer keyboard about 8 hours a day and after about 2 years I noticed my finger joints were starting to get painful.

I also wanted to learn to touchtype but the pain made the dexterity required quite difficult. I wondered if there might some way to ease the pain and bring back the dexterity so started looking at alternatives.

First, I tried using the Dvorak layout. https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard

That helped with the dexterity and touchtyping and got to the point where I could confirm that it was a superior layout for me and I could type faster with less mis-types than the UK qwerty layout I'd been used to.

Unfortunately, this increase in speed meant that I was using my finger more, so the pain got a bit worse.

Figuring that by using a different layout I was already a bit of a keyboard geek, I decided to embrace that and read up about different ergonomic styles. The articles on the Truly Ergonomic Computer Keyboard and the Type Matrix convinced me to try a matrix layout instead of the usual staggered layout.

https://www.trulyergonomic.com/store/benefits

http://www.typematrix.com/2030/features.php

If you look at a normal qwerty you'll notice that Q, A, and Z are not directly under each other but stagger off to the right. A matrix layout simply puts Q, A, and Z in a vertical line, and the same for other columns. I wasn't quite ready to splash out 200 quid on a TECK and I liked the idea of the "skin" cover on the TM2030 so that's what I went for.

I was very happy with this for about 6 months but there were a few things that I knew weren't quite right like having to turn on the Dvorak mode twice every time I used my Windows computer at work because Windows drops the power to USB devices during bootup/resume (None of my Linux computers do this).

I just had the niggling feeling that by changing the position and layout of certain buttons would make my life easier so I started looking for something like a programmable TECK.

I knew I was definitely into deep keyboard geekery now, or so I thought. Little did I realise just how deep it would go!

This is when I came across the ErgoDox and since I had a bit of money I bought a kit from Massdrop in March 2013.

http://ergodox.org/

I thought this was amazing. I could make my own layout using the Massdrop Configurator, and eventually use the alternative TMK firmware which allowed the media keys to work.

https://keyboard-configurator.massdrop.com/ext/ergodox

https://geekhack.org/index.php?topic=48106.0

It has a matrix layout with each hand completely separated and uses thumb keys instead or relegating two perfectly good thumbs to one giant space bar.

There are a couple of things I didn't like about it though. I got the "classic" Lister case rather than the "full-hand" one which meant my wrists were completely unsupported and quickly became sore. The two halves were so light that they kept sliding around my desk - partially solved by sticking 5mm neoprene strips to the bottom. The thumb clusters are just a couple of mm too close to the main cluster for my hand to be comfortable. It also annoyed me that it was a fairly...

Read more »