Become a fan of Slashdot on Facebook


Forgot your password?
Input Devices Programming

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.
This discussion has been archived. No new comments can be posted.

Building the Developer's Dream Keyboard

Comments Filter:
  • Why does it look like a fleshlight?

  • by mlts ( 1038732 ) on Wednesday February 11, 2015 @12:36PM (#49029835)

    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.

  • by Megane ( 129182 )
    The 6 key is on the left side? Do you even touch-type, bro? This is the one thing that annoys me the most about split keyboards.
    • by cruff ( 171569 )

      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.

    • Just because Americans are taught to press the 6 key with their right hand it's not the best way to go. We Hungarians are taught to press it with our left hand. Using your left hand is more ergonomical because you don't have to reach out so far. More info at []
      • by Anonymous Coward

        Oh yeah? Well your notation is crap. So there.

    • 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.....

    • by Misagon ( 1135 )

      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,

  • by smooth wombat ( 796938 ) on Wednesday February 11, 2015 @12:38PM (#49029847) Journal
    This keyboard [] seems to have already filled this role.
    • by AmiMoJo ( 196126 ) * <> on Wednesday February 11, 2015 @12:52PM (#49030031) Homepage Journal

      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.

      • by gstoddart ( 321705 ) on Wednesday February 11, 2015 @01:03PM (#49030153) Homepage

        The design actually looks awful for programmers and people who do a lot of non-document typing.

        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.

        • by AmiMoJo ( 196126 ) * <> on Wednesday February 11, 2015 @01:56PM (#49030725) Homepage Journal

          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.

          • 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.

            • by AmiMoJo ( 196126 ) *

              Then we are in agreement. It's a shame he doesn't go into more detail about his thinking and usage patterns.

      • by Misagon ( 1135 )

        Most people don't use the number pad on a full-size keyboard.
        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. ... and I have met lots of programmers who use emacs or vi who don't need the cursor keys or the nav cluster.

        This form factor is actually quite popular among professionals who do a lo

    • Not to mention, this one already successfully finished its kickstarter campaign and is on to the next phase of actualization: []

      Both keyboards appear to have somewhat awkward choices for the CTRL position, though.

      I'm still sort of fascinated by the Twiddler, though... []
      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

      • I'm kinda fond of the [] 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..

        • 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.

        • by rwa2 ( 4391 ) *

          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.

      • by TWX ( 665546 )

        Both keyboards appear to have somewhat awkward choices for the CTRL position, though.

        Yeah, well, I won't be happy until Control is back where it belongs, to the left of the letter A!

    • Here's a different version of prior art. []

  • I'd totally be able to capture keyboard input on that thing from at least 20 feet away.

    • 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)

    by Dan East ( 318230 ) on Wednesday February 11, 2015 @12:42PM (#49029915) Journal

    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).

    • by itzly ( 3699663 )

      Real navigation keys are called H, J, K, and L.

    • 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.

    • 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.

    • by asylumx ( 881307 )
      FYI, CTRL-SHIFT-END will select the rest of the document, not the rest of the line -- unless the rest of the line also happens to be the rest of the document.
      • by spitzak ( 4019 )

        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.

      • You're right. It's SHIFT-END. I can do them without thinking, but I can't seem to describe them. :)

        • by asylumx ( 881307 )
          I had to try it to remember, too! It's muscle memory now, not something I think about when I do it.
    • 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

  • Yeah great, I have to use key combinations for the f-keys. Best keyboard evar!

    • by Luthair ( 847766 )

      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.

      • 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.

        • I'm afraid that you're mixing things up: Browser Back is featured on the Fn layer, not on the mouse layer.
          • by rwa2 ( 4391 ) *

            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.

  • by KlomDark ( 6370 ) on Wednesday February 11, 2015 @12:49PM (#49029987) Homepage Journal

    No arrow keys, no side numeric keypad? Not interested.

    • 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)

      by Anonymous Coward

      No need of stinkin arrows in vi

    • by rwa2 ( 4391 ) *

      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.

    • by Jamu ( 852752 )
      With another "mode" key (Num-Lock?), he could turn the right-half into a numeric keypad, so that JKL becomes 456. Maybe another one (errr... Edit-Lock?), so they become Delete-End-PgDn, or Left-Down-Right? Fuck it, I'll just design my own. And write an article about it.
  • I have a cool mini-idea. Snitch a scroll wheel from a mouse and put it in the keyboard. Then make the wheel up/down clicks send volume up/down keycodes. The wheel press can be a mute command.
    • I have a Dell keyboard [] that has music controls on it. I can tell just by looking at the keyboard in the article that my current keyboard is far, far more useful to me as a developer, user and gamer than the one in the article. But then, the one in the article is for "hackers", and since they don't define what they mean by "hacker", then the term probably could be applied. A hacker is apparently someone that likes to take extra steps to achieve functions which are more efficiently achieved on a standard key
  • You mean nightmare (Score:5, Insightful)

    by silas_moeckel ( 234313 ) <silas@dsminc[ ] ['-co' in gap]> on Wednesday February 11, 2015 @12:57PM (#49030095) Homepage

    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.

    • 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.

      • by ihtoit ( 3393327 )

        ...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

  • Now if they could just add a thinkpad-style trackpoint to it, I'd be begging for them to take my money.
  • I'll stick with the Ryos MK Pro. One with red switches at work, and blue switches at home. :)

  • by Anonymous Coward

    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.

  • What is the probability that the device would be as "awesome" as the group behind kickstarter marketing campaign says? They don't identify any particular manufacturers or vendors for who will be mass producing this thing. Doesn't that matter? Are they just going to go with the cheapest bidder, or are they targeting a particular vendor that is known for manufacturing high quality products. Seems like any kickstarter campaign should be including that at the top along with the other vapor, so people decidi
    • Re: (Score:3, Informative)

      by mondalaci ( 2839541 )
      It's not 1 manufacturer but about 10 all over the world, some of them located in Hungary, the most critical ones being in close proximity so that we will be able to do final QC on the spot and directly communicate with them. Andras is a mechanical engineer, having an established workshop nearby and many connections in the industry. Final assembly will take place in the workshop.
  • So the perfect keyboard might be the Macbook Pro keyboard, as it seems to be the most common high end machine?

  • 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

    • I'd be very interested to see how such a design would stack up in practice(and, one assumes, with practice).

      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)

        by ihtoit ( 3393327 ) on Wednesday February 11, 2015 @02:34PM (#49031171)

        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.

  • The Ducky Mini [] has been my favorite keyboard to code with. It certainly looks better than this garbage.
    Currently waiting for Keyboardio [] to release their Model 1. If you really want an ergonomic keyboard, remove the stagger in the key rows.
    • by ihtoit ( 3393327 )

      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.

  • Obviously, some details of a keyboard's operation must be mechanical(ergonomics, key travel, the Absolute and Unquestionable Superiority of Buckling Spring Designs, etc.); but other details can be addressed at the hardware level, the firmware level, or the OS/userland level. Tons of function keys, say: you can physically add the additional buttons for all sorts of functions(volume control, start/stop/play, application specific shortcuts and macros), you can have some sort of firmware-level capability for as
    • by Mal-2 ( 675116 )

      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)

    by CanadianMacFan ( 1900244 ) on Wednesday February 11, 2015 @02:03PM (#49030795)

    Have to change modes to hit esc is a big fail. Real developers use vi!

  • Already produced, years ago. It was called the Keytronic FlexPro []. Been using mine for 20yrs, through multiple adapters as the original was 5pin AT, now connected to a USB. 5pin -> PS/2 -> USB.
  • by Anonymous Coward

    Control key belongs next to the A key, right where unix intended.

  • by Anonymous Coward

    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.

  • by Anonymous Coward

    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.

  • 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: [] []

    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: []

    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.

    • by Mal-2 ( 675116 )

      Oh, incidentally, the thread I posted to may be of considerable interest here. []

      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.

    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.


  • ... 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. :)

  • 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...


  • This device [], which has yet to be released, kind of reminds me of the thinking behind this. Except they took it a step further, made both independently moving sides into mice as well. The price is a bit steep for my liking, though, and it looks like it might have a bit of a learning curve.
  • 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.


  • 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.

  • Nice job so far! I started working on an open keyboard similar to a Kinesis Contour or Maltron, but I was using closed source CAD and my windows installation started refusing to boot one day and I haven't been sufficiently inspired to fix it yet. CAD is the main thing holding back open source hardware IMHO; there is FreeCAD, but assemblies aren't even there yet; that's a showtopper for me. I think if you laser sinter the entire keyboard shell and hand-solder the keyscanning matrix, you could almost reach

Memory fault -- brain fried