Hacker News new | comments | show | ask | jobs | submit login
Show HN: Crackle – keyboard layout for programmers (medium.com)
114 points by jackcouch1 10 months ago | hide | past | web | favorite | 110 comments

The best modification that you can do to your keyboard layout is to adapt the MIT Lisp Machine keyboard layout. The changes are small but very significant, work with either QWERTY or Dvorak, and you can do them on any PC or laptop keyboard[1]:

1. Change the layout of modifier keys from Control-Windows-Alt-Spacebar-Alt-Menu-Control to Windows-Alt-Control-Spacebar-Control-Alt-Windows (bind the outermost modifier keys to Super and Hyper if you use Emacs). This will let you do keyboard chording easily with either hand and eliminate "Emacs pinky": https://retrocomputing.stackexchange.com/questions/495/what-...

2. Change Caps Lock to Backspace (RUB OUT on Lisp Machine keyboards)

3. Swap parentheses () for square brackets []

[1] Not on OS X though. Apple does not provide a way to do these remappings on OS X, and breaks the keyboard internals and consequently third party tools like PCKeyboardHack/Karabiner with every OS X release. I tried early this year with Sierra and Karabiner-Elements and this did not work. Install Linux or OpenBSD.

The best improvement you can make to your mouse is adapting a 12-key thumb layout:

  F5    | Up    | F2
  Left  | Down  | Right
  Tab   | Delete| Backspace
  Enter | Space | ESC
How many times an hour do you have to reach over to the keyboard, press an arrow or Enter, then have to reach over and find your mouse again? All those seconds add up! Do your eyes leave the screen to find your mouse? This configuration lets you maintain your state of flow, because your hand almost never leaves your mouse, except for actual typing.

You'd be surpised how many tasks can be performed with just the mouse (and the left hand for CTRL+C,CTRL+V). This is the most efficient layout I've found. I've used this for about 5 years now, for massive performance gains in many administration and development roles.

Funny how a lot of people have a strong and exotic opinion about the best way to use a mouse/keyboard, but I've never seen anyone actually use a dvorak or any other exotic layout. My personal fetish is to use a standard US keyboard with a trackpoint. The only thing I hate is that I have to move my hands to get to the arrows, home, end, delete, page up and page down keys.

I for one use not just an exotic layout, but a homegrown one. My alphas match the Workman layout, and I use a 12 column, 4 row keyboard (a Planck form OLKB) so that I have plenty of thumb keys.

Symbols are kept on a separate layer of keys alongside a numpad, so that they can be grouped by how I use them. Parens, brackets, braces, are all in the two leftmost alpha columns. I keep $, @, and % in a column because I use Perl fairly often. I also keep # and ! together for fun.

Now, I'm not saying it's particularly common, but I have a friend with a similarly exotic setup and we use them on a daily basis.

Mouse chording is extremely efficient and I highly recommend it if you use a mouse. I was a big fan of combining mouse chording with structure-aware editing: https://github.com/vsedach/mouse-copy

Unfortunately this does not carry over to laptops with pointing sticks or touchpads, which is largely why I switched to a tiling UI with almost exclusive keyboard navigation. After I discontinued mouse use I stopped having wrist pain in my mouse hand, and after I started using the Lisp Machine keyboard layout I stopped having Emacs pinky, so now I no longer have any RSI symptoms from computer use. Another important consideration.

Tab, Esc, Space and F2 are all already reached easily with your left hand. Why do you like having them repeated elsewhere?

To allow better left-hand-only operation, and to avoid having to move the left hand from the "gamer claw" up to ESC and back. This is part of a larger initiative of mine - to use gaming technologies to improve business performance. In menus, the lower right button becomes a "nope" button.

But you're right about F2, and I honestly never use it. But I haven't thought of another button to replace it with - maybe Ctrl-V, and F5 with Ctrl-C? Hmm...I'll have to test this out!

too much mouse use kills my hand. i think by not reaching over from time to time you are boosting chances for RSI.

Maybe a foot pedal is what we need?

I know this is written in jest, but it kind of makes me want to buy one of those MMO mice with 12+ buttons on the side, to try it.

Any specific mouse you recommend?

I've been using a Razer Naga Epic for 5 years. I'm on my 2nd one. It works well for me, but there are a few downsides that others may not appreciate.

- Software can be required to run, needs admin to install. Sometimes the mouse can "remember" its key mappings, but often it resets to default on new PCs (1234567890-=).

- Internet sign-in required, cloud storage of mouse config is required. But there is an "offline" mode, so you could install the software to a single workstation and just save the profile locally.

- Mouse is not cheap and some people don't like the company.

Can't you rebind them through the regular keyboard preferences? Even without, _just_ binding them that way in Emacs is a huge improvement for chords.

Also, as much as I love Linux, it's not really feasible for anyone doing professional development to just up and bail on an operating system. There's IT infrastructure built around using OSX at some jobs.

> Can't you rebind them through the regular keyboard preferences?

Not for Caps Lock. I think it only lets you set it to Control.

> There's IT infrastructure built around using OSX at some jobs.

That is a really terrible idea, unless the only thing you do is develop OS X and iOS native applications. Do they really run OS X on their servers? Or is it develop-on-Mac-deploy-on-Linux? It isn't just OS X keyboard internals that are flaky and change with every release. The only reliable development environments I have seen on OS X were in fact done by "bailing on an operating system" by using virtualization.

> Not for Caps Lock. I think it only lets you set it to Control.

At least in Sierra, all 4 modifiers can be mapped to any of each other or to escape. The fn key cannot be remapped with the built in preferences.

> The fn key cannot be remapped with the built in preferences

It looks like you will be able to starting in High Sierra

That wouldn't solve the problems I was after. But you can now do that using Karabiner Elements on Sierra with the latest build.

"[T]he evidence in the standard history of Qwerty versus Dvorak is flawed and incomplete. [..] The most dramatic claims are traceable to Dvorak himself; and the best-documented experiments, as well as recent ergonomic studies, suggest little or no advantage for the Dvorak keyboard."

It's an urban myth that Dvorak is any better than qwerty.

I used to be around 80 wpm with qwerty, now I'm 65 on dvorak, but it's much more comfortable.

It's hard to explain, but it feels satisfying to type. When I think about a word I'll sometimes think about what motions it takes to type it (on dvorak) and it just feels comfortable in my head. No regrets about the loss in typing speed.

The worst part about using dvorak is that no software is (or ever will be) designed for dvorak. Vim and emacs still work great, most shortcuts are phonetic and jk are where cv are, so I don't really mind.

I have been waiting for someone to sit down and redesign the keyboard layout for programming, and maybe this is it.

I've been typing on Programmer Dvorak[0] for 3 over years.

[0] https://www.kaufmann.no/roland/dvorak/ it comes with most (all?) Linux systems `setxkbmap -layout us -variant dvp`

I've been on and off with Dvorak since about 16 years.

The feeling is consistent, when I do a lot of typing during the day with QWERTY my hands ache, with Dvorak they don't. So as you say, as long as the typing speed is ok, there's a huge win in how comfortable it is. For me the best way of separating between the two is how the motions are as well, with QWERTY everything is clustered and with Dvorak each key is on each hand, so much more of a hand dance, which in itself is quite nice.

I do remember the first time I introduced myself to it though. Removed all the caps on the keyboard and placed them accordingly, found myself unable to find the correct letters even though I searched the keyboard. Turns out every letter was under the hand that still rested on the keyboard ;) Took ages just to write common sentences, while the brain went crazy. Worth it now though!

The software support is better nowadays, used to be horrible with VNC and the likes. With NoVNC catching wind all those problems are gone though, even on things like IPMI with HTML5 consoles! RDP still blows my mind by changing the keyboard layout to whatever is running on the target machine.

Same, with Colemak. I actually type a little faster now, but the major benefit is how comfortable it is. Hardly have to leave the home row.

+1 for colemak.

I've used all of Qwerty, Dvorak, Programer Dvorak, and Colemak. I think Colemak is the clear winner in terms of comfort. I also don't care much about speed, I just want to not have my hands ache by the end of the day.

I experience the same satisfaction when touch typing and thinking about typing motions, but I've always used QWERTY. Do you have any idea why you didn't experience this until you moved to Dvorak?

I think one problem I encountered prior to switching to Dvorak was that QWERTY encouraged me to make bad touch typing habits like holding my right hand further toward the top row rather than at the home. This exacerbated my prior inability to pick up ambidextrous use of shift and ctrl.

My error rate is now tiny, backspace is for bad writing rather than bad typing. It is really comfortable to type on Dvorak in all manner of postures. I can type with my hands coming at the keyboard sideways, way above, way below, or while dancing or walking with the keyboard on a moving dolly; I've had no strain issues on any keyboard from doing this sort of thing regularly, or from sustained typing while sitting in crappy office chairs behind desks at the wrong height.

I think it might have something to do with the complete effectiveness of the home row. Because the home row reigns supreme in Dvorak, changes in posture aren't compounded by changes is hand positioning on the keyboard to hit certain motions.

My experience is similar to yours, except I am not looking for anything else. I switched to Dvorak 8 years ago and I haven't looked back since. My speed was lower and might still be but I don't care, typing is a delight and relative to the amount of time I spend on thinking and reasoning I think the overhead of any loss in typing speed is probably insignificant. Vim is the only keyboard control that matters to me anyway. (Though Vim is far from the only program I use.)

I feel it's important to mention that much of my love for Dvorak comes from the grid layout keyboard I've been using for all these years (wore one out though but bought a couple more to replace it), and which remains my primary keyboard both at home and at work.

I've experimented with grid layout; I like the Kinesis Advantsge. Would you mind sharing? Which brand works well for you?

TypeMatrix 2030 USB

Not OP but I have a TypeMatrix that I really like.

Try a Kinesis Advantage: https://jakeseliger.com/2009/07/20/kinesis-advantage. I think it's likely to be a bigger improvement than QWERTY vs Dvorak.

I have one and like it a lot, but it doesn't work in my bag or at the coffee shop.

Awesome. Let me know what you think after you play with it. I'm totally open to making changes.

>It's an urban myth that Dvorak is any better than qwerty.

I think you're wrong. The Carpal X keyboard layout optimizer consistently ranks Dvorak as better than QWERTY for "effort" (which takes into account things like finger travel distance and how good we are at using certain fingers).

You can see the findings here: http://mkweb.bcgsc.ca/carpalx/?typing_effort

Their conclusion was to determine which layout is the best - their own layout, which I use, called QGMLWB was determined to be the one which requires the least typing effort. I'd recommend people try it.

A quote supporting the advantages of Dvorak:

>First, Dvorak is very good at keeping fingers on home row - 71% of keystrokes land there (compare this with 34% for QWERTY). This alone is worth the price of admission. Dvorak bottom row usage is very low at 9% (15% for QWERTY). Dvorak favours the right hand by 14% (QWERTY favours left by 15%). Dvorak has more uniform finger usage and makes greater use of the pinky (18% vs QWERTY's 10%).


> Dvorak favours the right hand by 14% (QWERTY favours left by 15%).

Does that mean Dvorak is better for right handed people? Any left handers with experience here?

Greater use of pinky is a minus. It's your weakest finger.

For Dvorak, aren’t the frequently used keys (for English) under the fingers on the home row? You can measure travel distance of the fingers, for example, on a novel, etc


Xah Lee has a heat map:


I think the claim is that whatever limits typing speed is not key travel distance, but rather maybe coordination in your brain or some other factor. Anecdotally I would get tired typing qwerty way faster than I do typing dvorak, though some of this is just the fact that my form is much better in dvorak.

Yeah hard to account for that confounding factor. The alt layout is most people's second, learned much more deliberately.

The heat map is interesting in that it shows clearly the reason I moved from Dvorak to Colemak after 5 years of the former: Dvorak has a distinct bias toward the right hand, and particularly the right pinky.

How is this relevant to the article?

And, you rarely hear of Dvorak typists that will say they switched for speed and stayed for the speed. It’s almost always that they switch for the myth of speed and claims of comfort, but stayed for the comfort.

I thought the urban myth was about Dvorak being faster than qwerty.

For english language Dvorak does increase center row usage vs. top and bottom row. And for programming there is programmers dvorak.

The absolute worst keyboard layout i've seen for programming is the german layout. Using modeswitch/altgr(yeah i know it's not quite the same) is absolutely terrible.

I'm not sure if Dvorak is really faster, but I do think it keeps your fingers on the home row more. At this point the main reason I prefer Dvorak is that it lets me have more modifier keys on the left side of the keyboard (without moving to the number row).

I don't think layout matters for speed unless we're talking top 1% of typists. Go on YouTube. Tons of people typing 100+ wpm with two fingers.

I type 60-70 WPM with 2-4 fingers lol

I program with the German layout, found it pretty okay.

I found it ok until I switched to UK layout. It takes a while to get used to the layout for programming but it does speed up programming a lot for languages that use brackets excessively. Others (e.g. Python) don't really make a difference.

Was not the fastest typer in the world a Dvorak user? http://rcranger.mysite.syr.edu/dvorak/ Not exactly a study but it can't be ignored in my opinion. Disclosure I am a Dvorak user so I may be biased.

I get what you're saying, but max(f(x)) isn't a very good way to characterize a sampling distribution. It could be that for very few people, Dvorak is blazingly fast while for the vast majority of experienced typists there is zero (or negative) improvement.

I have no idea if Dvorak is better or not, but this data point isn't convincing.

> but max(f(x)) isn't a very good way to characterize a sampling distribution

That depends greatly on what your goal is. I would appreciate it if max (or something close to it) was the most common for comparing frame rendering latency (inverse of frame rate) measurements. The large number of fast QWERTY typists could be due to the greater number of overall QWERTY typists, who knows.

This is not relevant. Frame rendering latency matters because as an end user this effects performance in an obvious and measurable way. The thing you care about depends on the worst case, so it makes sense it that case. I don't type faster because a competitive typist hit a certain wpm.

Was not the fastest typer in the world a Dvorak user?

150 wpm for 50 min (37,500 key strokes) and attained a speed of 170 wpm using the Dvorak Simplified Keyboard (DSK) system. Her top speed was recorded at 212 wpm.

No. http://seanwrona.com/typing.php

50 minute typing in English - 174 wpm (870 cpm) - 1st all time (this unofficially breaks Barbara Blackburn's Guinness world record of 150 wpm (750 cpm) over 50 minutes, but is perhaps less impressive because she used a typewriter while I used a computer keyboard).

Caveat aside, his peak speed is over 250WPM.

If you look at typeracer.com's scores, there are plenty of typists in the 150+ range. I'd also consider myself a fast typist, averaging 150-160 for general English text and have peaked at ~240wpm in short bursts. I use QWERTY exclusively, but on an extremely low-force keyboard.

After programming with a danish keyboard layout for a few years which require double modifier such as ctrl + alt + 8 to make { or [

I noticed on US keyboard layout you only have single key modifier and only have two characters per key instead of three, which I then bought a laptop with and it is an amazing difference after typing for 8 hours especially because you do less weird postures with your hand in order to make a single character.

Never gone back to the danish keyboard layout, I now only keyboards with the US keyboard layout and it is actually possible to use hotkeys in most software now as well yay!

I had the same experience. I tried the US keyboard because I was starting to use Vim-bindings and stuck to it. Now I have actually more trouble with keyboards that use my locale (mainly because of muscle memory).

For umlauts, I use the US-intl keyboard, which works great. The only thing that bothers me a bit is that I can't configure vanilla Windows to use capslock to switch between US and US-intl (which works on my private Linux machine).

On another note: I find it really strange that most keyboard locales actually change very little except for screwing up programming symbols...

I am in the same situation. I only switch to Norwegian layout when typing emails, all other times I use US layout. The keyboard is blank, so no confusion with keys either.

Same, but with a Spanish keyboard, and non-blank keys.

In fact Spanish keyboards are physically like UK keyboards, so slightly different from US keyboards, so the layout I've now gotten most used to is nonexistent.

Note the different shape of the Enter key, and the additional key on the bottom left:



this is a problem that a lot of people just don't notice because they are so used to a sub-optimal positioning of symbol keys/etc... When I built an ErgoDox and started using it full time a few years ago all the symbol keys moved (still not optimized in the default layout in my opinion), and that's when I finally realized it could be better. The ergodox (or any diy board with its own customization firmware) is cool cause you do all your remapping via firmware and it just looks like a normal old keyboard to the computer.

Here's my qwerty based ergodox layout; its still not great, but its miles better than normal symbol layouts on a std keyboard for me. I really only use layers 0 and 1. I need to add a layer 2 shift key and put arrow keys under the ikjl key positions, I just haven't done it yet. https://www.massdrop.com/configurator/ergodox?referer=MSCE5S.... I'm an osx user for the most part, hence the easy thumb access to the command/windows key for the left thumb.

Can you upload your config somewhere else? Link is not working for me.

I purchased an ergodox ez, and while I love the feel of the mechanical keys, the default layout, and any layout I can up with, was too radically different from normal qwerty.

So I purchased a matias ergo pro, which is great, and can do negative tilt which the ergodox can't seem to do natively.

The link on medium is to google drive. Here is a link to the file on dropbox: https://www.dropbox.com/s/c3ssc40svbmagfu/karabiner.json?dl=...

ugh.... apparently you have to be logged in to massdrop for the configurator to load now.

Here's a screenshot: http://imgur.com/a/JU0kb

After 25 years of typing I decided to switch to the vi style of editing. Now, about 1 and a half years later, I use it everywhere and I regret that I haven't started earlier. I find it relaxing and it keeps me in a more content state while programming.

Btw. I'm not using Vim, except for some small edits from the terminal. But there is a vi plugin for the most important tools that I use: (JetBrains:ideavim, Firefox:Vimperator, ZSH:vi-mode, Emacs:evil-mode, Atom:vim-mode)

I think a lot of what the author tries to solve could be solved by switching to vi-style editing. He introduces two new modifier keys to increase the number of actions you may bind to a key, Vi uses modes (normal-mode, insert-mode,..) to achieve the same thing.

But I really like what the author does with the brackets! Putting the opening brackets on one hand and mirror the closing brackets onto the other makes a lot of sense to me. I think I'll try out something similar by switching ! with {, + with }, @ with [, _ with ] , etc.

And still the numbers are in order. I mean, how often do you write the number 6? Does it really deserve to be right in the middle, while 1 is the hardest to reach?

I am only half joking. I've yet to see a keyboard layout that puts the numbers in a different order.

Programmmer Dvorak is in a different order http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html

In fact Dvorak originally had the numbers in a different order https://en.m.wikipedia.org/wiki/Dvorak_Simplified_Keyboard

That's funny because 6 is actually the hardest to reach for anyone without extra-long index fingers.

I created a layout based on similar assumptions a few years ago. Blog post: https://kozikow.com/2013/11/15/the-only-alternative-keyboard... (including OSX implementation). I also created Linux implementation: https://github.com/kozikow/keyremaplinux .

It's also targeting "special" keys rather than letters. The difference is not using modality, but utilizing the right cmd (or the right alt on linux) to activate a layer with all special characters. Conflicts with qwerty are minimal, so you can install it on top of qwerty.

Wow, medium is now modal-overlaying a sign-in/up screen on load; they are really doubling down on those A/B tests.

Not the same thing at all, but when I used to write a ton of Perl, I had a board on which I mapped the shift-number keys (punctuation) to the F-keys. It was really rather nice.

These days I mostly use keyboards with fully programmable firmware (QMK, when possible) and remap things as needed. Things that stay pretty consistent are swapping caps lock and control (the way dog intended it), adding pipe as layer1-~ (shift-\ is terrible to type with one's right hand, and somehow I haven't trained myself to do that two-handed), and mapping parens to later1-o and -p.

Never played with a Dvorak or Colemak.

Long time Dvorak fan here. Great to see an initiative like this :)

When I have to use Apple products I tend to use Karabiner Elements to swap place between Right ALT and Caps Lock, to ease with all the combinations. Seems to do the trick to avoid pain.

Also there is a nice implementation called Svorak A5[0] of this (although based on the Swedish Dvorak layout), that I learned and find productive.

0: http://aoeu.info/s/dvorak/svorak

Edit: It's Right ALT and not CMD that's switched.

I am french and recently I had to use a qwerty keyboard for programming. The layout is so nice to use I wonder if I will no switch definitely on qwerty. For example the keys '<' '>' and '/' for xml documents. I guess many syntax have been adopted in languages to take profit of keyboard layout.

I think you under appreciated the luck you have using a qwerty keyboard compared to all the international silliness.

As an american living/working in france I feel the pain of the azerty.

Si vous décidez de changer, je recommande le français canadian clavier. C'est le qwerty clavier avec quelque modifications mineures. Je pense que c'est un bon conpromis.

French Canadian keyboard is quite good. It's pretty much "Qwérty". Standard Qwerty but with accents that are easy to reach.

Is there support is OS X for changing normal letter keys into properly functioning modifier keys?

CMD with my thumbs, and Shift, are the only modifiers I can comfortably type. RSI pain in my pinkies really limits Option and Ctrl.

It would be interesting to have a chording setup with keys on the home row. Hold "D" + type a key with your Right hand, and vice versa for "K" and the Left hand.

"Simultaneous VI Mode" in Karabiner (RIP) is apparently one such example of normal keys as modifiers.


I actually got really excited about doing that, but it turns out that apple keyboards are only reliable for a total of 2 simultaneous.

Is that due to the physical Apple keyboards? Or OS X?

Yes, if you hold down J and Semicolon and then hit the a button on a macbook pro you will notice it isn't picked up. It is a hardware limitation on most keyboards. See "n key rollover" in google for more details.

My biggest problem with keyboard input is not the positioning of the keys - most of the time it's either weird default shortcuts(like Ctrl + Alt + Shift + Insert) or the lack of a numpad - It's remarkable how good of an idea it was to have the plus sign under one, pretty large key.

Also smaller keyboards(think 13,3" laptop) are to me plain bad, because everything is so crammed.

IMO, macOS has the most sensible keyboard shortcuts [0]. Moving the primary modifier from Control to Command might seem odd at first, at least that was the case for me when I first tried out macOS. But in the long run, I think it's more comfortable.

Common User Access [1] tried to fix the chaotic mess that was DOS... But by then it was too late, so we ended up with a few really stupid shortcuts. My least favorite is Alt+F4 / Ctrl+F4. On macOS you close documents or windows with Cmd+W, or you close the whole application with Cmd+Q. Having to reach up to the F-row is awkward.

[0] https://developer.apple.com/macos/human-interface-guidelines...

[1] https://en.wikipedia.org/wiki/IBM_Common_User_Access

On the pop layout I have a bunch of keys that are used for shortucts. You could remap any of those to CTRL + ALT + Shift + Insert or whatever other combos you hit often. Also, tying numbers on crackle is as easy as typing capital letters so I don't really miss the dedicated numpad (but no 10 key typing of course).

have you tried Vim? or Vim keybinding in your favorite editor?

Yes, a few times - the first around 10 years ago. Not my cup of tea.

The greatest thing VIM does for me is lettting me use comma as a shortcut key. Ctrl feels painful as a prefix key in comparison to using comma.

I have been using http://neo-layout.org/ for years now and it works very well comes out of the box with Linux and does pretty much the same. If you type only in english you will be wasting a few keys because it has german umlauts but it is imho still nicer than qwerty.

At least with the windows AHK implementation you can also keep the qwerty layout and just use the two useful additional layers with the special characters and arrow+number keys.

Why do you need both snap and pop? I use something similar, but get by perfectly well with only one layer for all programming symbols. Seems your life would be a little easier if you didn't have to surrender another two keys for your pop modifiers.

I wanted to keep all of the keys fairly close to the home row. If I do that I can't fit all of them under just snap. It's already full.

Are your snap and pop keys shifts (works like shift), dead keys (I full press & release, then strike another key), or locks (like a dead key, but good until I strike it again to unlock it, e.g., caps lock)?

(Let's say lower case is your first layer, upper case is your second layer, snap is your third layer, and pop is your fourth layer.)

I've worked on a similar design, and I've replaced Caps Lock with a "level 2 shift", which gets me to third layer. (Perhaps in your case, "Snap") The fourth layer is then Level 2 Shift and normal Shift, together.

If your snap & pop keys are shifts, combined with normal shift, you have a total of eight layers, potentially.

(I was inspired by the Neo Layout[1], but it's for German.)

(Also, since programmers often use - and _ for word separators, I put those on the space (which is a word separator) bar; they're level3+space and level3+shift+space, though I don't remember which was which. This made sense to me, but keyboard layouts are a personal thing, I think.)

[1]: https://neo-layout.org/index_en.html

Both of the modifier keys (Snap and Pop) work just like Shift and Control. You hold them down to get the other layer. On mac keyboards you can't count on more than 2 keys pressed at the same time so a Shift + Snap + A might (or might not work). I had a few failed attempts at combo modifiers before I decided they wouldn't be reliable enough (at least not on my mac pro).

All my keys are on alpha keys, so pretty close to the home row. No worse that typing letters.

As an aside, I developed my "snap" layout using a genetic algorithm run over the corpus of my programming career, then shifted around for aesthetic taste. It's served me well for more than ten years.


   ^{}\ 1+[]
  @*:/" 0=();
   ~|&# _-<>

That's nice. One of my goals was to make it easy to remember the key locations so I ended up with <{[(/\)]}> all on one row.

Dvorak users in this thread should really give Colemak [1] a try. Dvorak has a number of issues [2] in modern usage and is also harder to learn; many more keys change from their QWERTY equivalents.

I have used QWERTY, Dvorak and Colemak for multiple years and Colemak is the clearly the best of the there for me.

[1]: https://colemak.com/


I love Dvorak and I love my Atreus in Dvorak-mode. https://atreus.technomancy.us/

I find the better approach is just to use a keyboard layout you like, and then use hotkeys on top of that. It's best if they are standard. OSX does great at using readline hotkeys. ctrl f, b, h, d, e, a, w, u are all used daily by me.

They are: * f - forward char * b - back char * h - backspace * d - delete * e - end of line * a - start of line * w - delete word left * u - delete line left

The standard PC-104 keyboard is indeed bad layout. I think the biggest benefit of such a small layout is the size, but a 60% keyboard is readily available and yields this advantage right away. For people that can't live without arrow keys, a 65%. I'd buy a hard version of this keyboard though, I am curious about using a 40% layout...

I could not live without my 60% keyboards anymore. I have one for at home and one for at work, and I'll never use a full-sized keyboard anymore. They feel so clunky and take up unnecessary space.

The next board I'll be building will be a 40% board (Hopefully the minivan [0) though I don't think I will use it for coding. My main use for it will be just typing tests and recreational use.

[0]: https://f3a98a5aca88d28ed629-2f664c0697d743fb9a738111ab4002b...

I just can't stand the idea of walking around with an extra keyboard with my laptop. And the few small keyboards I've tried still don't place all of the special characters in easy to remember places.

Posting from a 40% 3 layer keyboard... heck yeah. Stupid arbitrary keyboard layouts are awesome, added benefit is nobody will ever come up and be like let me type something into youtube to show you.

You mean when a colleague comes over and want to show you what they mean by doing it themselves and you're like, nope, won't work.

What about @? It should have its own key already. Smart phone keyboards make it readily available in login forms for a reason.

But where do you really have to type it anyway?

In Ruby code.

Perl and Bash too.

Python function decorators and Java annotations too.


When I flash my next 40% layout I think I'll swap ` and @ and put it somewhere unexpected.

On this layout "@" is as easy to type as "A"

We already have more modifier key names, meta/super/hyper. Although I'm not sure that's enough.

Sure, but Snap and Pop on a keyboard named Crackle? Way more fun.

Really sad there isn't a Xmodmap configuration for this and that I'm not skilled enough to create it :(

Does this only work with Karabiner-Elements, not the original Karabiner? I am still on El Capitan.

It works on El Cap too. But it's another config file. I'll dig up and post it shortly.

Thanks! I can't wait to try it out :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact