Skip to content

Latest commit

 

History

History
211 lines (167 loc) · 11.4 KB

readme.org

File metadata and controls

211 lines (167 loc) · 11.4 KB

Power User Keyboard

./images/done.jpg

This is a walk through of how I made this keyboard with a non-conventional (extra) bottom row. I hope that it can serve others trying to make custom keyboards.

Parts and Cost

PartVendorPrice ($)Actual ($)
Switches (90)novelkeys.xyz27.0030.69
Key caps (alpha)pimpmykeyboard.com50.0050.00
Key caps (mods)pimpmykeyboard.com40.0040.00
Custom capspimpmykeyboard.com42.0042.00
Space barpimpmykeyboard.com5.005.00
Casepololu.com142.00156.95
boltsebay.com10.0010.83
nutsebay.com3.704.01
Controllerpjrc.com16.0023.84
Diodes (100)ebay.com1.351.93
Stabilizersamazon.com9.009.74
USB cableamazon.com3.994.32
FeetLowes hardware store5.696.47
Total-------------------355.73385.78

So about $400 if you include tools and maybe paint.

Switches are the parts that complete the electrical circuits. They are the biggest dictator of the feel of your keyboard. For the most part, they come in clicky, tactile, or linear. Make sure they are plate mounted. Key caps are the actual buttons that you touch with your fingers. They usually have letters (legends) on them and are pretty colors. Theses come in different profiles. Case is the skeleton of your keyboard. In this case it is like a sandwich: many layers that are screwed together. The plate is what the switches will fit into. Bolts are finely threaded screws that will hold the case together. Nuts are small hexagonal screw holes that the bolts will screw into to hold the keyboard together. Controller or micro-controller is a small computer that will take inputs from the switches and send the appropriate signal to your actual computer. Diode is like a redstone repeater in that it doesn’t let electricity flow “backwards”. It will make sure you’re keyboard works the way you expect it by stopping the “ghosting” and “masking” problems. Stabilizers keep the long keys on your keyboard from being unstable. Make sure they are plate mounted. USB cable is a usb-b to usb-a wire to connect your micro-controller to your computer.

Layout

Go crazy on keyboard-layout-editor.com, but keep in mind that colors and legends will be limited mainly by what key caps you can find. Know that you may have to adjust your design or pay extra when it comes to key caps. You can use color swatches (at the top of page) to get an idea of what colors are available from different companies. Here was my final design: ./images/layout.png

Key caps

I decided Signature Plastics because they have the highest quality custom caps.

I chose DSA profile because my keyboard has 7 rows, and the 7th row is unavailable on other profiles. DSA is also aesthetically pleasing. It is easier to change keyboard layouts with a non-sculpted profile such as DSA.

For the material, please use something better than ABS plastic; you want your keyboard to be nice for a very long times; the ones I’m getting are PBT plastic. Along the same lines get Dye-sublimated or Double-shot legends so your legends don’t rub away (I’ve heard mixed opinions about laser engraved, and I don’t really know).

First, the space bar. They have a 3 unit one in limited colors; I got grey (GDE). The alpha keys need to match the space bar, so I got TKL English Alpha kit (58 grey (GDE) keys). The modifiers can be whatever color; I got TLK text modifiers (33 blue (BCT) keys). I still need some custom ones to complete my abnormal bottom row and right column:

  • 1 unit:
    • ”|"
    • “Menu”
  • 1.25 unit:
    • “Fn” × 2
  • 1.5 unit:
    • “Hyper”
    • “Backspace”
  • 1.75 unit:
    • “Enter”
  • 2 unit:
    • “Meta” × 2
    • “Super” × 2
    • “Control” × 2
  • 2.25 unit:
    • “Shift”

These 14 keys will be blue (BCT) except “|" which will be grey (GDE). Here they are laid out on the table: ./images/key-caps.jpg

Case

Copy the json.org data from the “</> Raw Data” section of keyboard-layout-editor.com into builder.swillkb.com and use the following settings as a guide.

SVG

If it’s not here it is turned off.

SwitchMX
StabilizerCherry + Costar
CaseSandwich
USB cutout-10, 6
Mount holes8, 2.1, 6
Edge padding6, 6, 6, 6
Plate corners2
Kerf.008
Line colorblue

Kerf is important. .008 is for Pololu. If you’re using a different laser cutting facility, make sure that you use whatever kerf they specify.

After inputting all the information, have them make the SVG files and download them.

Laser cutting

top, open1/4in wood
bottom0.03in stainless steel
plate0.06in stainless steel
closed × 21/8in wood
Total --------13/16in (20.5mm, 12.7 inside)

I used Pololu for this part. Just upload the designs and select whatever materials you want. The plate should be a ridged material, and the thickness should match your switches and stabilizers. Make sure you have enough space inside the case to fit the micro controller about (mine just barely fit with .5in (12.7mm)). Space inside would be open + closed × 2. I chose to use wood so I could countersink, sand, and paint it.

Before painting and countersinking ./images/plate-teensy.jpg

After painting and countersinking ./images/done-countersink-paint.jpg

Switches

I like clicky switches. With some research, I decided on Kailh pale blue BOX switches. I found a set of 90, so I’ll have 3 extras. Since we are not using a PCB, make sure the switches are plate mounted, the stabilizers should also be plate mounted. ./images/switches.jpg

Firmware

You should do this before assembly to make sure that everything fits together before soldering. Since I will be using Teensy 2, I’ll need the following:

  • Install Arduino from their website, not your operating system package manage; the Teensy software only works with the version from their website.
  • Download and follow instructions for installing Teensyduino.

Documentation: Get key presses from switches: input documentation Send key presses to computer: output documentation

For your firmware you should have a plan on how your rows and columns will connect to your micro-controller. This was my plan:

How to connect rows and columns to micro-controller ./images/schema.png

Which keys are on which row and column ./images/matrix.png This is reversed because when you are actually soldering, you’re looking at the back of the keyboard.

Assembly

Putting together the case, switches, and key caps should be obvious. The hard part is the wiring. You can look up how to solder by yourself. Remember:

  • That the wires should be touching before you apply solder.
  • Solder flows to the hottest point, so don’t remove the soldering iron until you see the solder flowing to the wires.
  • It’s not the end of the world if you mess up; you have extra parts right?
  • The black stripe on the diode should point away from the switch contact it is soldered to.

Here is how the matrix works so you can be more confident. http://pcbheaven.com/wikipages/How_Key_Matrices_Works/ ./images/sample-matrix.gif

This part of the guide will be mainly image and example based. I would suggest preparing all the wires first before soldering. It’s not what I did, but I think it would be better.

Rows

Before doing anything ./images/before-solder.jpg

Diode setup ./images/diode-setup.jpg

Diode after first solder ./images/diode-after-solder-one.jpg

Diode after first cut ./images/diode-after-cut.jpg

Diode bend to connect to next switch in row ./images/diode-after-cut2.jpg

Done with first row. It looks pretty bad, but it works. ./images/done-row-one.jpg

Other rows look better ./images/done-rows.jpg

./images/done-rows-close.jpg

./images/done-rows-closer.jpg

Columns

It is important to leave as much insulation on the wires as possible so that they do not have contact with the rows.

Setup ./images/column-setup.jpg

./images/column-setup-close.jpg

Stripped ./images/column-after-strip.jpg

Done with first column ./images/done-column-one.jpg

Finished with wiring ./images/done-wires.jpg

Just make sure you stick with the plan. I had to put some gorilla tape on the plate so that the micro-controller wouldn’t cause electrical shortages with the stainless steel.

Now you can put key caps on. You will want stabilizers on any keys that are 2 units or longer. If you have Kailh box switches, then you only need stabilizers on keys that are longer than 2 units. I had to cut and bend a regular space stabilizer to fit the 3 unit ./images/stab-space.jpg

Stabalizer mounts on a shift key ./images/stab-shift.jpg

Finished ./images/done3.jpg

Slap some washing machine feet on the bottom for maximum stability! ./images/feet.jpg

Hyper Key

Since Hyper isn’t in the USB HID standard, I made the hyper key send right super while both supers keys send left super. Then I tell my computer to interpret right super as hyper. This is my method.

Modify /usr/share/X11/xkb/symbols/pc like so:

// replace
key <RWIN> {	[ Super_R		]	};
// with
key <RWIN> {	[ Hyper_R		]	};

// replace
modifier_map Mod4   { <HYPR> };
// with
modifier_map Mod3   { <HYPR> };

Then reboot computer and it should be working.