Ergodox keyboard
I received this one from a friend in a quite timely moment. My previous mechanical keyboard has been starting to show signs of debris ending up into the key compartments. It might deliver yet double age if I managed to clean off the debris from one of the compartments.
I probably would have not ended up buying Ergodox myself. I would have bought some random mechanical switch keyboard from a local store. I'm not onto fancy keyboards and have adapted to standard keyboards quite well. I'm using alternative finger positioning and haven't found a need to unstagger the keyboard layout or do any other movement for my keyboard keys.
One thing I really like about this keyboard is that I had to solder it myself. It really makes you treat the finished keyboard differently. See the small black boxes in the first picture? They're the diodes that connect each keyboard switch into the row of a matrix that is used to monitor the state of each switch. The diodes prevent ghosting artifacts from occurring.
You won't commonly find full set of this kind of diodes in a membrane keyboard because the diodes cost 5 dollars for the whole keyboard. The membrane in a 30$ keyboard likely costs less than these diodes alone. Besides you don't notice these diodes being missing unless you press buttons that are adjacent in the keyboard matrix and they are bound to something.
The effect is named after the idea that when you press several keys, a 'ghost' always presses yet fourth or fifth key. Since USB buffers only 6 simultaneous keyspresses, it might also appear as a non-registered key because the ghosting keypress filled up the buffer. Some might brush the anti-ghosting off as a marketing propaganda. After all who in the world would want a keyboard which doesn't press keys on its own?
These switches usually cost a dollar, or half dollar depending how many you buy them and from whom. The keyboards costing less than that usually hold a membrane or scissor switch within.
In total these switches can travel 6mm and they switch loudly at the 2mm. At the switch point the key heavily gives off for a moment and then catches.
In the membrane keyboard the switch needs to kiss the bottom in order to actuate. Depending on the age of the membrane and the switch pattern, the actuation force and behavior varies. In heavily used keyboards the membrane and contacts wear off eventually not connecting with any force.
The keys needed to be sandwitched with the frame and the PCB. To make it bit easier and avoid breaking out the board, I soldered the extreme switches first. There was also danger that I'd leave the switches floating from the surface. I pressed the board and the first keys together by hand while soldering them.
That little header with a cannibalized USB cable is a teensy -chip. It runs the driver in this keyboard. The driver is easier to update than the Xorg keyboard layout in Linux. Unfortunately it can take only 10000 rewrites.
Here's the finished product with keycaps installed. I got gray and purple keycaps of identical shape. These are called DSA keycaps. I enjoy the texture and color of these keys actually. It could use some stylish light yellow keycaps in the number rows, and I should probably purchase DSA homing bumps to replace the purple keys on the center.
The placement of the space and enter takes some time to get used to. The return key is the dark purple one, and the space is right of it. The identical keys on the left side are delete (blue) and backspace (purple).
Original firmware has the escape -key positioned on the right-up cornel of the left half. I flipped it back to the left side because I couldn't get used to the odd placement in gvim. The escape key belongs where it is in the IBM keyboard. Also the tab was moved on the place of caps-lock. I suppose that's the choice of some but not choice of everyone. I swapped those keys in the firmware.
The most noticeable thing about this keyboard is that it's in two halves. The halves are connected with an analog cable that is used for serial communication between the halves. On the left side it seems to hold an I/O expander. I think it's been a quite sane choice to structure the device like this.
As a preference, I enjoy how the edgemost buttons resemble the function buttons in the original commodore keyboard. They are positioned such that they don't do well as a function keys, but the resemblance is enough to me.
I like to put stuff in between the keyboard. This is something I couldn't have done with the full-size steelseries keyboard.
By the way. I did some more hacking on the keyboard firmware aside adjusting the key positions. I added a rawhid device that just relays every key press and release the keyboard detects in its matrix. The source code is available in github as usual. I'm playing with the idea of giving the programmable keyboard hardware a way to propose how it should be interpreted.
Obviously cheap bulk keyboards should behave like they do todays. But if you have an expensive keyboard that is designed for your language, wouldn't it be neat if it worked without locale adjustments everywhere? Well, assuming that the user can program the stupid behaviors out of the keyboard.