Ask HN: What keyboard layout (for programming) are you using?

2 points by internetwache ↗ HN
Hi HackerNews, I'm currently using a german laptop keyboard and I've been playing with the idea of replacing it with a UK/US keyboard.

I've asked some friends about this I got mixed answers:

- Buy a german keyboard and use stickers (more keys)

- Buy a UK keyboard (bigger enter key)

- Buy a US keyboard (better key arrangement)

In all three cases I'd have to relearn/retrain my muscle memory, but I think it might be worth to know another layout if I get a job abroad?

I'd like to ask HN:

- Have you switched keyboard layouts before and which one are you using right now?

- Is it worth learning a new keyboard layout?

- Anything else to consider?

Thanks!

EDIT: Tried to fix the lists

3 comments

[ 3.0 ms ] story [ 20.8 ms ] thread
I'm assuming that you are attaching an additional keyboard to your laptop. In that case, I would choose a US keyboard. Some heavily used punctuation characters are in more convenient positions than on a German keyboard (I looked at the MacBook version).

As for relearning, it really depends on how much material you write in German. I'm multilingual and switch the MBP keyboard to suit various languages, but it is a pain, trying to get the various accented characters correctly. I certainly can't touch type in anything but English on the US layout.

If only there was an extended keyboard with all European accented characters accessible with a single keystroke and in "logical" positions. The iPad on-screen keyboard solution to this problem is commendable, but still slows me down.

Maybe a programmable keyboard is your answer, e.g. http://www.touchwindow.com/c/CherryIndustrialProgrammableMSR...

I use an US keyboard.

There are two reasons for that:

1- I learned typing on a QWERTY keyboard first (on terminals and TTYs in 1975);

2- but foremost, I noticed that most programming languages are designed in the US, or by people using a US keyboard, and use the special characters of the ASCII character set easily available on a US keyboard layout.

When you try to type programs on a different layout you will quickly notice that each special character needs more complex key combinations to be typed, which gives a much less fluid typing of programs.

For natural language text, it wouldn't make a lot of difference, since there is a much lower ratio of special character to alphabetic characters.

Now if your programming language was Qalb, then I would definitely advise to use an Arab layout: http://nas.sr/%D9%82%D9%84%D8%A8/ https://en.wikipedia.org/wiki/Qalb_(programming_language)

There's little difference between the US and UK keyboard, however, I much prefer the wide horizontal return and left shift keys of the US keyboard than the narrow vertical return key and the truncated left shift key of the UK (and other "international" keyboards). (Strangely enough I use almost exclusively the left shift key over the right one). So I would definitely advise to explicitely ask for a US qwerty keyboard, and not just a QWERTY keyboard because some vendor will then just deliver you an UK keyboard.

A final point: we use a lot of different computer hardware and systems; each hardware has its own human interface variants (keyboards, trackpads, mices, trackpoints), with different software keyboard layout and functions (notably regarding the modifiers and function keys). IME, this is where most of the pain comes! This can be solved by using the same keyboard and pointing device on all your computer systems. Happily, nowadays it's easy to do, thanks to USB and bluetooth: you can buy eg. half a dozen Filco Otaku Tenkeyless keyboads and half a dozen HP logitech 3-button optical mice, and thus have the exact same physical interface to all your computers. Remains then only to configure the software keyboard layout and modifiers keys identically on all you computer systems (easily done with Xmodmap on X11, harder to do on macOS and MS-Windows, but still possible. At least, if you use emacs (but as a programmer, I assume you DO use emacs), you can always remap all the keys and modifiers to be exactly the same everywhere, if only inside emacs).

You don't really need to swap the keyboard to swap layouts and in fact it can help with learning to touch type when you are unable to rely on the markings on the keyboard. You might also want to consider going with a more dramatic change if you want to find something really convenient in the long run and don't mind losing QWERTY.

I'm using COLEMAK with a customized layers from Neo2. Neo2 would probably be a fine option if you want to write in german and COLEMAK with Dreymar's symbol layers might be the option I'd start with solely for programming if I wanted a ready solution with some support from OS vendors.

Look up TARMAK for an easy way to gradually move to the new layout If you decide to go for COLEMAK. It's much better for retaining most of your productivity during the process than just swapping the whole layout at once.