Building the Developer's Dream Keyboard
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?
If there's one thing I love, it's using modifier keys to get things done on my keyboard. Function keys? Home? Pgdn? A numeric keypad Who needs those anyway?
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.
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.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
This keyboard seems to have already filled this role.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
IWhen I read the title I thought this was going to be about the keymouse. Since it's not, what are your thoughts on this? FWIW I didn't fund it, but I'm interested in seeing how it works IRL. It seems like it has potential.
https://www.kickstarter.com/projects/1666150716/keymousetm-the-keyboard-and-mouse-re-invented
I'd totally be able to capture keyboard input on that thing from at least 20 feet away.
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).
Better known as 318230.
Yeah great, I have to use key combinations for the f-keys. Best keyboard evar!
What moron (besides Microsoft) put the 6 key on the wrong side. The same finger that hits the 7, hits the 6. The matching finger on the other hand hits the 4 and 5 keys.
No arrow keys, no side numeric keypad? Not interested.
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.
No arrows or navigation keys (pgUp, pgDn, Home, End). No separate numeric keyboard, no F keys. I'm sure whoever designed this never wrote a single line of code.
My dream workstation setup (keyboard included) would be one that allows me to have full access to everything without requiring me to move my arms around much, all while allowing me to position myself comfortably. I want the following:
- "VR" display. Does not need to be stereoscopic, but needs to be careful that my eyes focus on it correctly. Must be a "normal" field of vision, and allow me to turn my head to look at the out-of-view portions of my desktop. (Every major OS already supports this in theory. A virtual desktop with a display only showing part of that virtual desktop. Just tie the viewing rectangle to the VR glasses' motion/positioning sensors, and give me a key combo to "re-center" as needed.) Bonus points for good built-in headphones. Extra bonus points if you design your VR glasses to get out of the way of other headphones, so I can supply my own (and replace them whenever I want, without replacing the VR glasses). These don't have to be wireless. It would be nice to provide a built-in USB hub as well.
- A handheld keyboard/pointer combo. I'm picturing something akin to a game controller, but with a chording keyboard built in. There's the AlphaGrip, but I want at least the option for an analog joystick instead of a trackball, or maybe even that Steam Controller touch-D-pad thing. (A user-swappable module would be nice!) Also, Bluetooth would be great, and no, your proprietary bullshit RF dongle that ties up yet another USB port and attempts to use the already-overcrowded 2.5GHz band is not a worthy replacement. (Do you hear me, peripheral makers?) Wired USB would be acceptable as long as the VR display has a built-in hub. But I'd really prefer not to get smacked in the face with a USB cable every time I move, so BT is preferred.
- A recliner. I'm sure La-Z-Boy stock will go up when the first two become a reality.
- A tray-table similar to the vertically-adjustable, wheelie ones they use in hospitals. Making them not quite so hospital-y would be a nice touch.
The computer itself can be a normal desktop, as far as I care. The more power, the better.
That's my wishlist.
http://matias.ca/ergopro/pc/ It doesn't "re-merge" but it's my keyboard and I'm not giving a bent-wristed yahoo access to it. And I'm too old and get paid too much to spend time assembling a keyboard, I'd rather buy it off the shelf.
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.
No sir I dont like it.
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...
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/
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 happy with my $10 keyboards.
Now if they could just add a thinkpad-style trackpoint to it, I'd be begging for them to take my money.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Lots of people are complaining about this, but if you read the article (sorry, I'm new to slashdot) you'd see that the idea was to have none of that. He was tired of moving his hands around they keyboard to get to all of those things, and wanted to have access to them on the main keyboard. Probably for silly reasons like increasing speed and decreasing carpal tunnel,
I'll stick with the Ryos MK Pro. One with red switches at work, and blue switches at home. :)
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
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.
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. Mousewheel Left and Mousewheel right might be good mappings to have available as well.
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 deciding whether to fund have a real idea of what/who they're funding.
So the perfect keyboard might be the Macbook Pro keyboard, as it seems to be the most common high end machine?
ago. It's called the IBM Model M. If female, spray-paint it pink.
I can't always use vim. While the idea of a ultra-minimal keyboard is fine, the idea of leaving out the cursor keys is not.
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 lexicon, and I was dialling out to bulletin boards with that thing.
Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
Just fucking stop. What the fuck is a "hacking keyboard" or a "developer keyboard"? What I consider a good keyboard is vastly different from what most people here consider a good keyboard because, for starters, I hate mechanical clicky keyboards. Always have. After spending a semester in a room full of AIX machines with Model M keyboards, I wanted to smash every single one of those Model M's against the head of its inventor. So, you know, I guess I am not a developer despite all the developing I do. And, fuck the words "hacker" and "maker" in general. You're just rebooting the word "hobbyist". And fuck the word "reboot" too.
Mod+J on this keyboard is left arrow whereas every programmer since ASCII started (1963) knows Ctrl+J is linefeed (cursor down), and Ctrl+H is backspace (cursor left). Certainly at least since the ADM-3A (1975) and the vi editor, (left,down,up,right) have been (H,J,K,L) yet this keyboard's modifiers give you those on (J,K,I,L) instead? Huh?
I'm kinda fond of the http://www.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..
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.
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.
I'm afraid that you're mixing things up: Browser Back is featured on the Fn layer, not on the mouse layer.
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 assigning unusual keycodes or keycode sequences to specific keys or modifier key+key combinations, or you can have the keyboard remain relatively dumb, with most of the work happening at the level of software on the host machine(as with IMEs that use English keyboards to handle input of East Asian languages, or programs that execute complex macros on demand).
In your ideal world, how would you divide the work up? Eat the extra space and cost, and break out a ton of dedicated buttons? Endure the rather limited user interface that keyboard firmware can allow, in order to be able to do complex macros, custom keycodes, and other fun stuff even in the BIOS, on another computer, in an OS without software support? Go for a fairly minimal-complexity keyboard; but use software that provides a great deal of power from the keycodes you can generate?
Have to change modes to hit esc is a big fail. Real developers use vi!
So I guess I'll never be able to buy it. Oh well.
I get how this is "hacking a keyboard" and I highly approve of people seizing their destinies.
I don't understand in any way, how this results in a "hacking" or "developers" type of keyboard.
When I code, I take my syntax highlighting to the next level.
http://www.newegg.com/Product/Product.aspx?Item=9SIA25V2F98091&cm_re=Chester_Creek-_-9SIA25V2F98091-_-Product
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.
"Software is the difference between hardware and reality"
Control key belongs next to the A key, right where unix intended.
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.
Yeah, well, I won't be happy until Control is back where it belongs, to the left of the letter A!
Do not look into laser with remaining eye.
There is only one correct workflow.
You shall use my godly choice of tools, because they are the best, because I say so.
You can't use your own keyboard, OS or editor preference, because mine is superior..
etc. etc. etc.
What a moron. Has he ever worked with a team of developers? I think not.
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:
http://cherrycorp.com/product/...
http://cherrycorp.com/product/...
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/...
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.
How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
Maybe this depends a bit on the language (see other java topic just being discussed), but to me the amount of typing needed for coding seems to be minimal, compared to other activities. Clearly, writing documentation and answering support emails needs more key-strokes. For coding, its way more important to be able to the special things easily, as far as supported by the environment.
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.
... 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. :)
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
For a second I thought my intellectual property had been stolen before I could publish. The ultimate developer keyboard is actually no keyboard at all but an apparatus that reads the mind of the software developer and writes all the code for them in the language best suited for the task.
No typos! Unless the developer's mind wanders, then things could get real interesting.
Wait ... What? Aww
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
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.
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.
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 move to the start, followed by Control-Shift-E to move to the end of a line and select it all. These commands work to move in text in pretty much any area you can type, the select aspect even works for text in web pages (though it goes a whole paragraph).
Home and End are needless keys that just take up space.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Pff, a model M? Puny. Real women uses Model Fs.
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.
I guess you never learned to type on a Selectric or had to maintain code where the standard is all caps, e.g. Cobol, PL1, and various other languages with roots in mainframes and batch processing.
This is my dream keyboard: http://www.synthtopia.com/cont...
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*
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 cost parity with the commercial versions, which cost around 300 bucks. My main motive was to be able to fix firmware bugs and replace keys individually, even though Kinesis is really cool about sending you replacement parts if you buy one of their keyboards and manage to wear out the keyswitches. I also wanted mechanical switches for the F-keys; the rubber dome switches drive me nuts.
Better alternatives out there already: www.trulyergonomic.com
Those who do not learn by history are destined to repeat it.
Real hacker's dream keyboard: https://www.kinesis-ergo.com/s...
Seriously, why is your 'ultimate hacker's keyboard' just a split version of an 1860's typewriter?????
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.
I bet this guy is a mouse user and writes JavaScript. Fail.
Resurrect manufacture of the comfort curve 2000 over this thing anyday.