Here is the sketch of the "final" layout for my summer project. (I have it in quotes because I have had close to 8 or 9 "final" designs.) I have ordered everything to build it and have started in on the process a bit.
Noteworthy things about why I did this design:
- Cheaper (a few tweaks dropped costs from $300 to $180! (initial estimates...))
- Portability (12"x 5" + 1 usb cord)
- Navigation (backwards nav on left pinkey, forwards on the right pinkey)
- Shortcuts (ctrl and alt can be hit with one thumb, even at the same time! Also, shift is on the left to leave open shift-clicks (assuming you're right handed))
- I have bad accuracy (I need a closer backspace and delete...)
- I hate caps-lock (it is pointless. If shift is on the thumb, you have no need for caps-lock.)
- A better lock (The "Lock" button can lock any key. Hold lock then press keys to lock them down. Lock ctrl, shift, alt, space, arrows, or all of them at once! (Still not sure about this feature...))
- I love macro (I am a format nazi in my code and documentation. Re-factoring my formats often leads to the need for macros.)
Anyway, the current plan is to use a teensy 2.0, so the lock and macro functionality will be fairly simple in v1.0. I may replace it with something with more memory later so I can store longer macros and more key-locks at once. If I come to dislike certain things about this keyboard, I will likely keep the layout and just reprogram the keys to other things.
Oh, and notice that the bottom 3 keys are a key-height down from the rest of the keys (kinda visible in profile view.) The thumb will usually be on the space and shift, but can drop down for the modifiers when needed. Also, the fn will allow access to F1-12, since I do use those often. I may add in volume control or a numpad mode if Teensy space permits. The fn key will be low priority though.
Hope you like it's current manifestation. I am also not afraid of feedback, even if it is opinion.
I have now made some more tweaks as I approach the actual synthesis stage. I have all my parts and am just waiting on the swipe-card access to my school's mechanical engineering lab so I can use the laser cutter. As pointed out rather promptly, the last design had a few issues with duplicate keys and things. I have since taken a 100th look at my designs and had a bit of an eye opening. Why not treat 'fn' as a second shift key? When placed on the left thumb under the shift key, it will be easy to get to. I then can have a shift for caps and a shift for symbols, much like most cell phone keyboards do. I organized the symbols by use for programmers. I am sure it's not a perfect configuration, but symbols are probly not common enough to worry too much about them. Here is the layout:
Also, the function keys are on a third layer that is reachable by holding the 'fn' and 'ctrl' key. Also, also, I have built cardboard mock-ups, and the ctrl and alt keys are still very reachable by the left thumb. I do have large hands, but I imagine even small hands would do fine.
I also got bored and made a 3D model of the thing:
Now, one of the hardest parts of learning a new keyboard is just learning the layout. To make things easier in that regard, I have started programming an android version of the keyboard to use on my tablet. Having to hunt and peck for the keys on the tablet really helps me to learn where they are. It is how I learned dvorak in just a few weeks (not fast, but I knew where all the keys were.) I have decided to move to Colemak for this keyboard, so I have placed them in that configuration. The Android keyboard is far from perfect. In fact, it can be a little frustrating at times, but I am trying to fix it up enough to actually use it on a daily basis without much of a problem. Here is a screenshot of it thus-far:
Both the android and real keyboard still need some work. I am currently tweaking some of the angles and minor bevel amounts to get it just the way I want. I am also going to use blank keycaps in case I change my mind about certain keys. I may also turn the 'Lock' key into a 'gaming mode' key instead. The key would make it so that esdf stay the same while all the keys around them change on presses of the 'fn' key. That will give me access to twice the aux keys! Still lots to think about.
If any of you want any of my files, just ask. My source stuff is still really hack-ish at this point, but all my vecor-image files are pretty well organized.