The Two Thirds Keyboard (The worst keyboard in the world?)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Have you ever thought about technologies that,  were they invented today, would be laughed at?   Stairs are like that, I think. A big hole in  the floor, that you just need to not fall down?   Without even a safety railing in front of it?  There is NO WAY building codes would allow that   if it wasn’t already such an established idea.  Or gasoline for general purpose energy storage.   A flammable, explosive, toxic material  that anyone can just go buy in volume and   splash around however they want? It’s kind of  ridiculous, actually, when you think about it. And keyboards. Imagine needing to put data into  a computer, and deciding that the solution was   a special peripheral with A HUNDRED AND FOUR  BUTTONS ON IT. And that everyone just needed   to practice until they could operate it at the  rate of many dozens of keypresses a minute. Not   specialists, everyone. There is something…  charmingly naive about the whole concept. Anyway, I’ve been using this 1990 Model M  keyboard for decades, ever since I dug it   out of the massive keyboard bin at the old Boeing  Surplus retail store. I haven’t felt much of a   desire to get into the modern mechanical keyboard  scene as a result. Why mess with perfection?   It would need to be something very  special indeed to get me to take the leap. So that conversation with my manager that led  to the Pocket Typewriter, see previous video?   When he started to describe that, my  brain immediately jumped to the idea   of a keyboard based on old letterpress type cases. Typesetting even just a page of  text needs a whole bunch of type,   and each one needs a place to live. Type  cases solve that problem by presenting a   bunch of shallow compartments, one for  each character you might want to type.   Traditionally, majuscule characters went up  here, and miniscule down here. You might know   those better as upper case and lower case.  These are, in fact, the cases in question. With industrialization in the 19th century,  plus growing literacy and thus demand for   reading materials, these type cases became more  standardized. One particularly popular option   was the “California case”, and then the slightly  smaller version the “Two-thirds California case”. So, the obvious question is:  why not turn it into a keyboard?   I mean, other than the fact that this would  be a lengthy and expensive process to make   something of negative practical  utility. Other than that. Why not? It started with the circuit. Most keyboards use  a switch matrix, and so does mine. Basically,   there are far too many keys (N) to hook each one  up to a separate IO line on a microcontroller.   Instead, arrange the switches into a grid.  Each column and each row is hooked up to   its own IO line, needing only, in the best  case scenario, two square root of N lines.   In a tight loop, have the microcontroller test  each row to see if it is connected to each column.   If it is, that key is being pressed. Easy! It’s a bit more complicated in practice. Like  hooking up any switch to a microcontroller,   you need to add pull up or pull down resistors to  make sure you get a defined result when the switch   is open. In this case, I was using a Teensy, so  I could rely on its builtin pull up resistors. It also gets more complicated when you consider  what happens when multiple keys are pushed at   the same time. If it’s just, say, these two,  it still works fine. The microcontroller can   tell that each is pushed correctly as it scans.  But what if this third switch is pushed as well?   Now, as the scan comes through, it detects  all *four* of these switches as being pushed,   because they’re all electrically  connected. This is called a “ghost   key” effect, and something needs to  be done to stop it from happening. Luckily, there is an easy answer: add a diode  to each switch. These act as check valves,   allowing current to flow in one  direction but not the other. Now   when these three switches are pushed, the  microcontroller won’t see the ghost key,   because the current can’t flow  “backwards” into the other switches. And that’s it! It’s a big circuit,  but not a complicated one.   It ended up being 144 switches in a matrix  of 9 rows and 16 columns. The matrix layout   could have been done more efficiently, but  I had enough IO lines to not worry about it. Next up: making a PCB. Yes, you could just  manually wire a matrix directly onto the switches,   and it works fine. But I really love the  elegance of a printed circuit board. Plus,   I’d never had a PCB this big fabbed,  so it seemed like a fun opportunity. Switches on the front, and surface mount  diodes on the back. These could have been   through-hole easily enough, but I got a lot  of practice with SMD during my Eurorack phase,   and I do love how… tiny they are. They’re so cute! Another thing I had never done with a PCB  is try my hand at silkscreen art. They’ve   all been fairly utilitarian before. But  a project like this deserves better!   Since I’m still on a Penrose Tiling kick  after my art installation this summer,   I wanted to do a gradient of one that  fades out towards the top of the board. Turns out doing halftone dots in Inkscape  is actually pretty easy, and then I used   the svg2shenzhen plugin to get it into a format  that KiCAD can handle. That’s the same process   I used for adding logos and version numbers  to my boards anyway, so it was easy enough.   Speaking of, I figured this board would need  a bit of context for future archeologists. So that’s the brains of the thing. What about the  body? I could have machined something, but I liked   the idea of a wood case, being more true to the  source inspiration. I exported the User.Eco1 layer   from KiCAD, which the switch footprints helpfully  included to show where the holes need to be cut   for plate mounted switches. With this in Inkscape,  I could design a stack of laser-cut sheets around   it. One thin aluminum, for the switch plate, the  rest in bamboo plywood. By stacking 3 layers of   the 3/16” plywood, I’d get pretty much the perfect  offset for the board with 2mm spacers under it. I actually ordered a small test plate and PCB  first, to make sure all the dimensions were   good. This was going to be pricey enough  I wanted to get it right the first try!   This also gave me a nice little test bed when  thinking about the last big problem: keycaps. These are the heart of the mechanical keyboard  world. Keycaps are separate from the switches,   allowing a huge amount of customization.   (And there are dozens of switch types to choose  from as well, of course.) There are some really   amazing keycap sets available, which I’ve always  admired. Though the vast majority are always out   of stock, it seems? But unfortunately, I wouldn’t  be able to take advantage of this resource anyway. See, the Two Thirds is a very  silly keyboard, because, obviously,   the original two thirds cases weren’t designed  to be keyboards. They were designed to hold type. And the thing about type is that you don’t  need the same number of each kind. You need   a whole lot more e’s than you need k’s.  So the compartments are sized accordingly,   being roughly in proportion to the frequency of  use in the English language for that character.   The layout is also informed by this -- notice how  all the big compartments are towards the center,   keeping them in easy reach for  faster, more efficient typesetting. (And, yes, efficiency in typesetting was a very  big deal. You only have to stare, slack-jawed,   at the overwhelming mechanical complexity of  a Linotype machine to be convinced of that.) What this meant for my keyboard is that  I needed a lot of 2x2 unit keycaps,   and one 2x3 keycap for the lowercase e. This  is a problem because keyboard hardware isn’t   designed for that. Long keys like shift and  space have metal rods under them that let them   operate using a single switch without  binding. These are called stabilizers,   or stabs if you’re trying to sound a bit too  cool, and they’re a standard part of a mechanical   keyboard. But there isn’t an equivalent system  for stabilizing keys that are tall AND wide.   You do occasionally see 2x2 keycaps in point of  sale systems, and I’ve heard rumors of a 2x3.   I believe these just work by pushing down on  multiple switches, which isn’t supposed to   be the best feel for typing. I got these these  2x2 caps for testing, and they worked okay. Each   of my larger keys would have a switch at each  corner, and that would have to be good enough. But no one printing custom keycap sets include  2x2 keycaps as an option, much less 2x3.   The only commercially available option I  could find were those 2x2 caps that let   you insert a slip of paper to label them  for a point of sale system. Pretty ugly,   and it didn’t solve the 2x3 problem anyway.  I wasn’t going to be able to buy my keycaps. That left 3D printing as the only option. I found  some models on Shapeways and had a couple printed   as a test. And they worked, though the texture  wasn’t exactly amazing. But each one cost about   $10. A rough estimate of the total cost for  a full set was quickly approaching a grand.  Now, I like a good quixotic project as  much as the next crazed YouTube maker,   but even if I could find a good bulk discount,  I couldn’t spend anywhere near that much. So I thought about it. I’ve never  had a 3D printer myself because,   well, I’m a materials snob. That’s why I got  into machining! I don’t like holding plastic,   and extrusion printed plastic even less so. I was  happy to outsource the occasional job to Shapeways   and focus on building a shop where I could  build things using proper materials: metal. But over the last few years, I’ve been  getting curious about resin SLA printers.   The results looked… pretty  nice, actually. For plastic.   And the speed of printing was impressive too,  since they expose an entire layer at once.   Having print time scale by the maximum  height instead of volume is impressive.   So it occurred to me that a printer had to be  less than what I was looking at in printing costs,   and then I’d have a printer and experience at the  end of the process. And, yeah, it was cheaper.   *Way* cheaper. I picked up this Anycubic Photon  M3 for under $300! When did they get so cheap? It arrived and I started printing. And  printing, and printing. I needed 86 keys,   and the success rates started out fairly  low. But I got better over time, learning   the intricacies of support placement and FEP  cleaning and platen leveling and everything else.   Eventually I got kicked out of the  dining room and set up out in the garage.   I also switched to the Chitubox app for doing  the supports and slicing, and I found its output   printed a lot more reliably without having to  go in and add a million extra supports manually. Let’s talk about the key layout. I wanted it  to be as faithful as possible to the original   Two Thirds, but it still needed to be at  least somewhat functional as a keyboard,   which meant a lot of keys for things  like enter, control, alt, escape, etc. Luckily, the original layout had some blanks,  and some compartments that wouldn’t be relevant   anyway. A lot of typesetting is stacking up  spacers of various thickness to make each   row the exact same width, because they need to be  clamped very tightly into the chase for printing.   I’d need *a* space key, but not different size  spaces, so all these were free to be repurposed. I also didn’t need all these ligatures.  These are combinations of characters that,   traditionally, get merged together into a  single piece of type if they come up next   to each other in the text being typeset, to  make the result prettier and easier to read.   You may have noticed keyboards don’t have  these, and that’s because that’s the job of   the word processor or layout engine, in modern  thinking. But ligatures are really cool, so I   decided to keep the ff and fi ones. The others  could be used for more practical keys, though. In the end, I settled on this layout,  with the understanding that I would   inevitably end up spending a lot of time  hacking the code to add key combinations   for other characters as I realized  I just couldn’t live without them. Now I needed the actual STL files of these 86  keycaps to be printed. I found some models for   1x1 and 1x2 keycaps, and they were even in the  DSA style that I admired. Opening them in Blender,   I was able to duplicate and flip and merge them  together to form the 2x2 and 2x3 caps that I would   also need. It took some experimentation, but I  think the final results came out pretty good.   Then it was just a process of bringing in  the outline of every glyph, turning that   into an extruded solid, and differencing out  that shape from the front of each key cap.   It was one of those annoying things that  probably would have been faster to automate,   but maybe not so you keep doing it,  until you start to question yourself,   but then sunk cost fallacy kicks in and  you just keep doing it. Yeah, one of those. 86 times anything takes a long time. I ended up using my standard Courier New Bold for  the glyphs, after trying a couple typewriter fonts   and thinking they just didn’t look as good. The  fi ligature posed a bit of a problem -- Courier   does have an ff glyph, but not one for fi. So  I got to design my own, which was pretty fun. With the keycaps coming along nicely,  it was time to start assembly.   The laser cut pieces had arrived  and looked good. Smelled good, too!   I cleaned them up at the shop, sanding  everything to be smooth and even. The PCBs arrived, and I thought  they looked pretty sweet.   Please admire them now, because absolutely none  of them will be visible in the final product!   Soldering on all 144 diodes filled up a very  pleasant evening. I solder SMD manually;   first tinning the pads and then going  back with tweezers for each component. I then got the Teensy added on and  started testing. The results at first   were a bit chaotic, and I was worried I  had messed up the PCB design. But after   tweaking the matrix scanning code I got it  mostly working, except for two problems.   2 of the rows weren’t registering at all,  despite having good continuity. And one of   the columns would register a bunch of imaginary  keystrokes whenever I touched any of its contacts. The first of these wasn’t quite my fault --  turns out the footprint for the Teensy I was   using had its pins in the wrong order,  pushing two row lines onto non-IO pins.   (But I really should have noticed that.) The  other one turned out to be because I had put   that column line onto the pin with the builtin  LED on the Teensy. That one is definitely on   me. The fixes were simple enough, just cutting the  traces and soldering on jumpers, but still. Blah. With all the keys registering properly, it  wasn’t hard to add a little lookup table   for the different keycodes into the program,  and have it start working as a USB keyboard. This meant I couldn’t put off one of the last  technical challenges any longer -- how do you   make a ligature key work on a USB keyboard? Those  characters exist in unicode, but keyboards don’t   use unicode. They send keycodes, and the OS has to  decide what to do with them. I didn’t particularly   want to write a custom device driver for this  thing, but luckily Windows offers a convenient   workaround. Going way back to ye olde DOS days,  you’ve been able to input arbitrary characters   through the use of “alt codes”. Hold down alt,  enter the code for the character you want on   the keypad -- yes, it has to be on the keypad --  and release alt. Boom. I was able to use this to   send 64256 and 64257, unicode for the ff and fi  glyphs. It has trouble in a lot of applications,   which want to interpret these as emojis or  other symbols, but at least it works in wordpad. To fully assemble the keyboard, I needed to carve  out a little notch to make room for the Teensy,   and cut openings for the USB cable to  reach it. I could have included this   last part in the laser cut design, but  I wanted to see it all together first. All that was left was waiting for the keycaps,  which needed one last processing step. The glyphs   were pretty low contrast, being debossed into  the surface. Real high quality keycaps are made   “double shot”, that is, during injection molding,  there is a second step injecting a different color   of plastic to form the label. Cheaper ones just  print on the surface, but that wears off faster.   As a kid I had once hand painted a keyboard,  inspired by Hackers, so I know all too   well how quickly it gets grotty. I wanted  something more like double-shot if possible. Sadly, multi-color resin printing isn’t  really a thing, so that wasn’t an option.   I found a video of someone doing exactly that  with epoxy putty as a manual second-shot process,   and the results looked pretty good. So I tried  it myself -- and the results *were* pretty good! Doing it for all 86 keys took a while, but  any process that I can do in the warmth of   the kitchen, hanging out with the rest of  the household isn’t really all that bad.   The key to cleaning them off after the putty  had been smeared in was to use some isopropyl   alcohol on a paper towel. Your results might  vary though -- the video I got the idea from   had problems with the inlay shrinking  as it cured, which I didn’t see at all. All that was left was a quick sanding to  smooth out the support bumps on the backs   of the keys, and it was finally time for assembly. Any concerns I had about parts being too  wobbly quickly disappeared as the stackup grew.   The case is held together with screw posts,  because I like the look of them. The screw   heads are on the back side, so I didn’t have to  worry about getting them all lined up nicely.   The keycaps went on fairly well, though I did  have to clean some up with an x-acto. They’re   definitely more fragile than real injection  molded ones, so be a bit gentle with them. With that done… all that was left was  final assembly and the keyboard was done.   And what a lovely, ridiculous beast it is! It  masses almost 2 kilograms, took about 2 months   total to finish, and definitely cost far too much,  but I’m not going to add it all up to find out. Since we want to be properly scientific,   here is the control test of me  typing on my normal keyboard first.   I’m not a great typist, never having really  learned touch typing properly, but I get the   job done. And here I am doing the same test at the  beginning of the week on the Two Thirds keyboard. Yeah. Back to hunt and peck. But  I’d be just as bad on Dvorak. The   real question is what is it  like after getting used to it? To give it a fair shake, I promised  myself I would use it for a full week. The week was… challenging. I spent less time on  social media, which is probably for the best.   But I did grow rather fond of the Two Thirds.  It has a lot of character, which I don’t think   I’ve ever said about a keyboard before. I even  got to use the ligature keys a couple of times!   It was really interesting, feeling deep down  the truth of the character frequencies in   just how much faster I learned the position  of the large keys. And treating upper and   lower case as fundamentally distinct really  made me question my typographic assumptions.   The Latin alphabet, it turns out, has  far, far more than just 26 letters. And, for science, here is the same typing  test, taken at the end of the week.   So… I got better? At least a bit?  That’s some actual touch-typing, there! As interesting as this has been, though,  I think I’m switching back to my Model M.   Though maybe I finally give Dvorak a try. See you next time!
Info
Channel: Attoparsec
Views: 183,771
Rating: undefined out of 5
Keywords:
Id: vdP_sTMOWYo
Channel Id: undefined
Length: 20min 11sec (1211 seconds)
Published: Mon Dec 12 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.