Building the Developer's Dream Keyboard 146
New submitter mondalaci writes: This article is about building the Ultimate Hacking Keyboard step by step, starting with an Arduino. Lots of pictures and nerd talk included. It's a mechanical keyboard that can split down the middle and re-merge, and it has four layers of keymappings to keep the design compact. It will support custom keymaps as well. They're planning to release the firmware and design files under the GPLv3, and they're working on repair instructions, too.
Why does it look like a fleshlight? (Score:1)
Why does it look like a fleshlight?
Optimus Maximus successor? (Score:4, Interesting)
What would be nice would be a multi-key "gaming" keyboard, except with color e-ink on each key so one can not just map keys, but show where they are mapped.
Re: (Score:2)
6 key on the left side (Score:2, Insightful)
Re: (Score:2)
The 6 key is on the left side? Do you even touch-type, bro?
I touch type on my Goldtouch split keyboard just fine with the 6 key on the left. Didn't have any trouble learning the new key location.
Re: (Score:2)
Re: (Score:1)
Oh yeah? Well your notation is crap. So there.
Re: (Score:2)
I learned to touch-type in the US and I've always used the left hand index finger for the 6. Maybe you are the problem here.....
Re: (Score:2)
Different schools of touch-typing assign the digit 6 key to different hands. This goes back a long way.
We talked about this at a keyboard-oriented discussion forum recently and one user had found two different touch-typing manuals in English from 1889 and 1893 that were different about this key.
The original Scholes and Glidden QWERTY layout used the letter I as the digit 1. The numeric row started with the digit 2, so the whole row was shifted one step to the left compared to modern keyboards.
So originally,
Re: (Score:2)
Nope. 4 and 5 left index finger, 6 and 7 right index finger.
But just because a broken keyboard broke your typing doesn't mean you can't type well. My usage of the right shift key was broken by a few months in college of having to use a 1970's era IBM 327x terminal, where the right-shift location was either the "SEND" key or something else useless. (I really looked hard but could only find pictures of 327x keyboards with a proper right shift key.)
So now I always use the left shift, and to type an uppercase
Re: (Score:2)
no, follow the home column up toward the middle: left is FT6, right is JU7. 6 is a quarter closer to F than to J on a straight board, why would it be closer to J on a bent board??
FWIW the method I learned with (basically sat in front of a BBC micro and learned by hammering the shit out of the keytboard until it broke) had me using left middle finger for 6, every single time (helps when your middles are half a knuckle longer than the thirds). Never ever been pulled up about that.
Gee, what a coincidence (Score:5, Funny)
Re:Gee, what a coincidence (Score:5, Insightful)
The design actually looks awful for programmers and people who do a lot of non-document typing.
There is no number pad. There are no F keys, you need to press a modifier to access them. Gets even more fun when you need to press mod-ctrl-F5. Many commonly used keys like page up/down and home/end are hidden behind the modifier key. The space bar is tiny to allow room for this modifier key.
Re:Gee, what a coincidence (Score:5, Insightful)
This isn't "the ultimate developer's keyboard".
This is a vanity project by one guy to create his ultimate keyboard.
It's kinda cool, kinda neat, and definitely geeky.
But it's entirely about the build, and nothing to do with what makes a good keyboard.
So I applaud him, but I have precisely zero interest in the extra buttons and stuff he's got.
I would say he's made a terrible keyboard, but a cool DIY thing. He probably thinks it's awesome.
Re:Gee, what a coincidence (Score:5, Insightful)
The title of his blog post is "How I Built the Developer's Dream Keyboard". The post includes some C code, so he seems to be a C developer. He goes on to write "This realization was followed by an overwhelming feeling of excitement as I thought about customizing the best keyboard for developers".
He is claiming it is the best keyboard for developers. He is a developer himself, in a language that benefits from use of the keys I mentioned.
My guess is that he has an unusual way of working with IDEs, hence the inclusion of some mouse keys. His claim doesn't stand up though, for most developers this thing is unsuitable.
Re: (Score:3)
I'm saying his article is cool, nerdy, and very DIY.
But in terms of being "teh best keyboard evar", it's essentially puffery and hyperbole, and I'm sure he knows this.
Kudos to the guy who built his, he's got mad skills that I don't.
I'm not saying this to detract from what he's done or belittle it. I'm saying people should just ignore the hyperbole and appreciate the build.
The rest is subjective and hype.
Re: (Score:2)
Then we are in agreement. It's a shame he doesn't go into more detail about his thinking and usage patterns.
Re: (Score:2)
Most people don't use the number pad on a full-size keyboard. ... and I have met lots of programmers who use emacs or vi who don't need the cursor keys or the nav cluster.
The function keys are largely superfluous if you are using anything but MS Windows.
Most people press the Space bar in exact the position where it is located on this keyboard.
Using the mouse too far to the right, past arrow and numpad contributes to shoulder problems.
This form factor is actually quite popular among professionals who do a lo
Re: KeyMouse (Score:2)
Not to mention, this one already successfully finished its kickstarter campaign and is on to the next phase of actualization:
https://www.kickstarter.com/pr... [kickstarter.com]
Both keyboards appear to have somewhat awkward choices for the CTRL position, though.
I'm still sort of fascinated by the Twiddler, though... http://twiddler.tekgear.com/ [tekgear.com]
Would be nice to try one out to see if I could get used to it before shelling out some Benjamins for it, though. Also would be neat to consider dual-wielding them.
OTOH, I'm pretty hap
Re: (Score:2)
I'm kinda fond of the http://www.keyboard.io/ [keyboard.io] keyboard.
It's kinda a hacker/programmer keyboard, but it's a little old school classy (milled out of a chunk of Maple) as well..
Re: (Score:2)
Note: there is a newer version that's hard to find on their page, but the production prototype looks a little bit different. It doesn't look so much like a butterfly as some of the older revisions do. I think they were considering embracing the butterfly look, but then they changed their mind.
Re: (Score:2)
Oh, sweet! Yeah, I was wondering about something like that after some other comment in the thread mentioned that staggered rows would be more natural than the staggered column layout used in most keyboards.
Re: (Score:2)
Yeah, well, I won't be happy until Control is back where it belongs, to the left of the letter A!
Re: (Score:2)
I have nothing against Caps Lock, but as far as I'm concerned it can live up there next to Scroll Lock. The Windows key can also join it.
Re: (Score:2)
Here's a different version of prior art. [yahoo.com]
Seems ironically vulnerable to hacking (Score:2)
I'd totally be able to capture keyboard input on that thing from at least 20 feet away.
Re: (Score:2)
You could probably build in a module that would send out overwhelming stronger EM to make it look like you were constantly typing Lorem Ipsum text.
Give me a break (Score:4, Interesting)
Come on now, a developer keyboard with no navigation keys? Really? Okay, so you can map multiple key combinations to represent them. Still, no way. If I want to highlight the text to the left of the cursor, I use CTRL-SHIFT-LEFT_ARROW. If I want to select the text from the cursor to the end of the line, I use CTRL-SHIFT-END. I already use those navigation keys in 3-key combos. I don't need it to be a 4-key combo, or something totally proprietary to the point I can only function with any proficiency on a keyboard that there is exactly one of in the entire world.
When I chose my last dev machine a few months ago, I really, really tried to make it a Macbook. I figured I could dual-boot windows and have all my bases covered. I had already tried using my older Macbook as a dev machine, and had given up. Why? No Home, End, PgUp or PgDown keys. As I stated above, I already use 3 key combos with those keys. I'm not about to try and make it a 4 key combo because Apple puts style over functionality. (and of course no Macbooks are touchscreen, and part of my work is making sure that web based multitouch HTML5 works properly on modern touch-screen desktop browsers).
Re: (Score:3)
Real navigation keys are called H, J, K, and L.
Re: (Score:2)
You obviously meant C-b, C-n, C-p, C-f.
Re: (Score:3)
Real navigation keys are called H, J, K, and L.
You obviously meant C-b, C-n, C-p, C-f.
There has to be an equivalent to Godwin's Law that covers this....
Re: (Score:2)
Yeah but the Fn key is right next to ctrl, alt and windows/command on a macbook and most other decently designed notebooks.
Having to press an additional key beats having a cramped keyboard.
Re: (Score:2)
I second this. I have no interest in having an additional set of finger-memory mappings. Which is a bummer, because otherwise there's a lot to like about the MBP.
Re: (Score:2)
Re: (Score:2)
Actually the behavior of Home/End is one of the few things that still varies between Mac and PC and between various PC apps. Some have them move to the end of the line, some to the end of the document. A few that move to the end of the line move to the end of the document when you press them a second time.
Re: (Score:2)
You're right. It's SHIFT-END. I can do them without thinking, but I can't seem to describe them. :)
Re: (Score:2)
To select from where you are to start/end on Mac.. (Score:2)
From where your cursor is on a mac:
Control-Shit-A selects to the start of the line.
Control-Shit-E selects to the end of the line
OS X has since the beginning been able to use many Emacs control directives inside any text box - so the way the above works is Control-A is a command that moves to the start of a line, while Shift is the modifier that selects (just as you can hold down Shift to select while moving the cursor with the arrow keys).
So if you want to select a whole line quickly you can do Control-A to
No F-Keys (Score:1)
Yeah great, I have to use key combinations for the f-keys. Best keyboard evar!
Re: (Score:3)
Probably an Apple user. Its also missing the developer critical keys Page Up, Page Down, Home, End, Delete, Insert.
I'm stuck back on a Thinkpad x220 because as far as I can tell OEMs have abandoned developers with keyboards missing keys.
Re:No Fn-Keys (Score:2)
They're there using the "mod" keymap instead of the "Fn" modifier, but otherwise doesn't look too bad... better than the Fn - arrow keys I have to use now for PgUp/PgDn/Home/End on the PowerBook at work.
What does bother me about his layout is the position for the "Browser Back" in the mouse keymap, which is of course right in between mousewheel up and mouse up. And maybe also that he put LMB on the right and RMB to the left probably for ergonomic reasons, but it will probably still break people's brains.
Re: (Score:1)
Re: (Score:2)
Oh, they labelled it "History Back" on the mouse layer... I'm assuming that'll probably do the same thing as "Hist -" on the Fn layer.
What a piece of shit (Score:5, Insightful)
No arrow keys, no side numeric keypad? Not interested.
Re: (Score:2)
Many skilled typist prefer not to have to remove their hands from the home position to reach those keys. It allows them to maintain a faster typing speed. Instead, they access those missing keys on a function layer. It's actually quite common (see Happy Hacking Keyboard)
Re: (Score:1, Insightful)
No need of stinkin arrows in vi
Re: (Score:2)
I don't really care much for this keyboard either, but please... you can just add an extra dedicated keypad for data entry for like $20 if you want one.
Re: (Score:2)
Volume control (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
mine's similar but with more buttons and it's Bluetooth. It's the best brickboard ever, useful for all occasions (I write, I game and I bounce around spreadsheet type layouts a LOT). For perfection, it needs an ergonomic bend, that's all.
http://data.stuartconnections.... [stuartconnections.com]
You mean nightmare (Score:5, Insightful)
No arrow, function or pretty much anything useful keys, seems like a nightmare.
The perfect keyboard has been around for a long time an IBM M13 mine is nearly 20 years old and in perfect working order. While I like the larger keyboard with f13-24 it's a pita to get many OS's to use them. You can also bludgeon an intruder with it and go back to typing.
Re: (Score:2)
The perfect keyboard has been around for a long time an IBM M13 mine is nearly 20 years old and in perfect working order. While I like the larger keyboard with f13-24 it's a pita to get many OS's to use them. You can also bludgeon an intruder with it and go back to typing.
Even better, you can wash the blood off with running water.
Re: (Score:2)
...apparently IBM didn't actually build the M13, it was built variously under licence by Lexmark (who build keyboards for Dell as well), MaxiSwitch and Unicomp. Dell used the GHB button a LOT on the Latitude and Inspiron prosumer laptop lines (I have many examples). I call it the "clitoris" because most of my clients didn't even know what it was for and those who did generally didn't know how to use it. Protip: it's an electrostatic pressure sensor, not a joystick. Forcing it to move deforms the baseplate a
Re: (Score:2)
I've wondered for a while if I could hook up an Arduino or something to my old minicomputer keyboard and use it. Probably even more complicated and know nothing about coding it :( Sure would be fun, it is an awesome keyboard (and weapon like that IBM) 32 function keys would be cool too.
Hmm, might it be simpler since the keyboard is already expecting a computer to interpet for it?
The tricky part is getting it to understand the old keyboard protocol. If it's a standardized one, it shouldn't be too hard, otherwise you'd need to reverse engineer it (hope you have a logic analyzer or are handy with a 'scope).
Once that's done, the rest should be pretty easy - the standard library* contains functions for simulating a USB keyboard, although I believe the Teensy microcontrollers are more popular for USB HID applications.
* Note that this only works with some of the Arduino devices, and notab
So close... (Score:2)
Thanks, but... (Score:2)
I'll stick with the Ryos MK Pro. One with red switches at work, and blue switches at home. :)
Stop staggering rows already (Score:2, Interesting)
Another keyboard with staggered rows, in 2015?
Row staggering was a workaround for a mechanical typewriter, so that the levers that went from each key to the type ball would not overlap. It has not been necessary on any of the computer keyboards ever designed.
On newly designed keyboards, stagger the columns instead, matching the variation in finger length.
Manufacturer? (Score:1)
Re: (Score:3, Informative)
Re: (Score:1)
That would be the Macbook Pro keyboard, right? (Score:2)
So the perfect keyboard might be the Macbook Pro keyboard, as it seems to be the most common high end machine?
My dream keyboard (Score:2)
10-bit input. That's ten keys, so my wrists don't have to move. All that's needed is a slight flexing of each digit. How much faster could I type if my hands didn't have to move *at all*?
Ten bits is 1024 characters. That's ten times as many keys as an enhanced AT keyboard has.
That'll also more than cover the entire Latin block of the Unicode set (up to 024F).
Hell, even 8-bits is still 256 characters. My first home computer had all of 128 characters (including control and escape characters) in its entire lex
Re: (Score:2)
With an ordinary keyboard, your fingers do have to move; but each keystroke provides multiple bits worth of input(exactly how many varying with input language and a bunch of other fiddly stuff).
Would you be able to cycle all ten fingers fast enough to achieve the same number of effective bits per minute, or would the advantage of having multiple-bit input in a single keypress(and keys chosen to
Re:My dream keyboard (Score:4, Informative)
stenography uses what, sixteen keys? No less than two of which (the thumbs I guess) are exclusive control characters, which puts you down to 14. With a dedicated stenotype board you can hit 255wpm with no problem once you get used to the shorthand (some people can hit 300. I do just fine at 110 on a standard QWERTY). That's fast enough to transcribe a lively debate in real time. There are open source stenotype packages out there that allow you to remap a standard QWERTY and with a little creative keytop swapping you can be a stenographer in the comfort of your mom's basement. Plover is one such package.
Looks like crap (Score:1)
Currently waiting for Keyboardio [keyboard.io] to release their Model 1. If you really want an ergonomic keyboard, remove the stagger in the key rows.
Re: (Score:2)
that's pretty, though I can't see it being any more useful than my Keysonic Ultra which, while it uses low-travel keys and membrane switching (it is definitely not built for touch typing), is completely devoid of backlights and has a fixed USB connector, is functionally identical.
Broader question.... (Score:2)
Re: (Score:2)
Go deep, not wide. Offer Fn layers and dedicated keys, but put those dedicated keys in back, not off to the side. If you do expand to the side, expand left, not right.
You may want a Tipro MID, though those are hard to come by in the U.S.
Cherry MX Black switches (heavy linear), relegendable keys on the top three rows. You can get them in either a matrix layout or a staggered ANSI or ISO layout for the bottom four rows. The top four rows are always a matrix. If you want more keys, they come in various sizes a
Esc (Score:5, Insightful)
Have to change modes to hit esc is a big fail. Real developers use vi!
Re: (Score:2)
No kidding. I'm surprised there aren't foot pedals to access the extra mode keys.
Re: (Score:2)
right there. That's ten digits right there that aren't being used.
I think we just doubled the productivity of every office workstation on the entire fucking planet.
The ultimate keyboard? (Score:2)
Control key (Score:1)
Control key belongs next to the A key, right where unix intended.
Esc key (Score:1)
Esc key should not require hitting a mod key first to get to it. That is a constant key in vi to use and should be readily accessible.
Not even close (Score:1)
Any keyboard with an asymmetric stagger (i.e. >99.9% of them) is automatically disqualified from being in any way "ultimate".
Unless you've spent the majority of your life sat in front of a mechanical typewriter, the need to adjust won't (in the long term) outweigh the inherent disadvantages of an asymmetric layout.
Re: (Score:2)
I agree... but let's give a link, shall we?
http://typematrix.com/ [typematrix.com]
Off the shelf answers are out there. (Score:2)
There are simple, off the shelf answers out there, you just need to look at the point-of-sale market. This means you may end up with an unnecessary credit card reader attached to your keyboard, but otherwise there is no real issue. (Besides, wouldn't being able to swipe a card, even a magstripe, be a nice second factor for login?)
As I posted to Deskthority just yesterday:
http://cherrycorp.com/product/... [cherrycorp.com]
http://cherrycorp.com/product/... [cherrycorp.com]
And the one that I have chosen (for now) to serve in a similar role, that of having alternate language characters and mathematical symbols within easy reach, would be this:
http://cherrycorp.com/product/... [cherrycorp.com]
I chose the non-trackpad version.
You can play with the Cherry programming software to see the limitations of the hardware without actually buying anything, but I can tell you that doing things like typing {} followed by a left arrow would be quite trivial, as would double characters like == and !=. Emulating Ctrl-C, Ctrl-X, Ctrl-V is also pretty trivial.
Re: (Score:2)
Oh, incidentally, the thread I posted to may be of considerable interest here.
http://deskthority.net/keyboar... [deskthority.net]
Ironically, it's the tale of a guy who goes to the completely opposite extreme and then wonders why some people would dare to disagree with him.
a perfect keyboard (Score:1)
a perfect keyboard.
ones fingers never leave the home row to point, click, type, scroll, delete, backspace, esc, and type numbers.
the pointer has the precision, accuracy, and speed of an optical mouse.
it is under development. the concept is proven and patented.
inputexpert.
My idea is literally the MS natural keyboard... (Score:2)
... without the damn water soluble contacts. I buy one, am very happy with it... then a bit of water gets between the keys... and dead.
I'm sure other people would prefer other keyboards but I like that one. It is great for putting in my lap and typing from there which is literally where I do 98 percent of my typing. I cross my legs in my chair, then put the keyboard in my lap... and type. :)
Control key is in the wrong place (Score:2)
C'mon! Every programmer worth their salt knows that Control belongs to the left of 'a'. 'Mouse' is cute, but stick that on the bottom (and not where the Meta key goes!).
I'll go back to Emacs now...
-Chris
Not quite as innovative as this oddity (Score:1)
Thinking too narrowly about keyboards (Score:2)
This is my dream keyboard: http://www.synthtopia.com/cont... [synthtopia.com]
I don't get it (Score:2)
As an Emacs user since the late 70s I don't really see the appeal. It's nice that it doesn't have all that crud like a numeric keyboard or arrow keys and the like, but since I never take my hands away from the keybaord anyway those things are simply distractions. Meanwhile a smaller space bar isn't a winner.
But nice mechanical keys are good.
*shrug*
It's horrible (Score:2)
Spacebar is messed up, no arrow keys, no function keys, no insert/delete, no home/end/pgup/pgdn.
It's horrible.
I've never seen a keyboard worse than this one. There have been various satanic malformations, but even those had a normal fucking spacebar.
Go 3D next? (Score:1)
Re: (Score:2)
Actually, he works with me as a frontend developer, and judging by his commits, he's a fairly prolific writer of code...
Not compliant with vi, even (Score:2)
Re: (Score:1)
Re: (Score:2)
Holy crap! I'm having a hard time imagining that getting funded.
Re: (Score:2)
it's already funded
Re: (Score:2)
All unbelievers shall spend eternity doing data-entry using T9 text input on an aging dumbphone with intermittent key response.
Re: (Score:3)
Probably for silly reasons like increasing speed and decreasing carpal tunnel,
Keeping your hands still and not moving them *helps* repetitive stress injuries??? The consensus nowadays with typing, sitting at a desk... anything repetitive, is that changing positions often is key.
Re: (Score:2)
Clearly, we need a keyboard which constantly shifts the positions of the keys around randomly.
Re: (Score:2)
6 on the left half is a side effect of the continued stupidity of staggered key columns.
He should have used a TypeMatrix [typematrix.com] as his base to work from.
Re: (Score:2)
It's generally faster to hit a modifier key than it is to move your fingers all the way over to the pgup/down/etc area. I'd much rather hit Ctrl-A/E for Home/End, Ctrl-U/D for pgup/down, etc. I'd take shell-like or vim-like keys any day.
Re: (Score:2)
Well, at least they have Ctrl and Alt keys on both sides of the keyboard, something not all compact designs have. Otherwise, using that keyboard for any kind of serious programming (and debugging - most IDE's make extensive use of the function keys) would get old pretty quickly.
Re: (Score:2)