Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

So yes, the problem has been raised in parts multiple times already. Still I'm looking for a keyboard layout that has the following features:

  • Easy on fingers (Dvorak-like layouts welcome)
  • Easy for coding
  • Includes german characters (typing ä with AltGr-p is not ok).
  • Works well with web-browsing (Ctrl-t and Ctrl-w on one hand, left one very much preferred, since that's where my ex-CapsLock, now Ctrl lies)
  • Works well with default Emacs bindings
  • Works on both Windows and Linux (at least easily installable)

I've looked at Dvorak and Neo, they both have a "shortcut problem", i.e. web-browsing and most frequent Emacs combinations use both parts of the keyboard. Using right Ctrl is usually not an option, since it'll give me RSI much faster than keeping QWERTY/Z. Funnily enough, mirroring the default Neo layout would probably be enough for me.

So, any ideas?

share|improve this question

migrated from superuser.com Jan 4 '11 at 14:08

This question came from our site for computer enthusiasts and power users.

3 Answers 3

Colemak is another alternative.

Undo/Cut/Copy/Paste are all the same as QWERTY and most special characters are the same too. Ctrl-t and Ctrl-w are still on the left hand.

Supposedly it has less movement than Dvorak (based on English text).

Don't know if German chars or Emacs chords are correct for you, though. Might be able to find a German equivalent.

share|improve this answer

After experiencing a bit with Dvorak, I decided to use a US keyboard layout on my Danish keyboard for programming. The Danish keyboard is a 102-key keyboard. This actually has an advantage to using a 101-key US keyboard because backslash/pipe character key is more accessible on the 102-key keyboard. Backslash used a lot for escape sequences in character strings, and pipe character is used a lot in F#.

The main problem with Dvorak from a programmers perspective is that is a keyboard layout for writing prose. But programming is so much different because you use a lot of special characters, e.g .[]{}()~$^&|><, etc. which are not as accessible on the Dvorak keyboard, as the emphasis here is on the letters in the English language.

When I need to write in Danish, I simply change the configured keyboard layout in Windows (which I have a keyboard shortcut for).

share|improve this answer

I am a Vim user, so I've modified my bindings slightly to accommodate my Dvorak layout, which I find very nice for programming. Another answer mentioned special characters being a problem, but I disagree. As long as you are using a sophisticated IDE with a productivity tool like ReSharper, you rarely need to enter much of the syntax stuff -- just template it out and let the tool build the syntax scaffold. I also use AutoHotkey to simplify constructs that make me reach for modifier keys, like =>. For this, I type -., which is much faster, less stressful, and not a key combination I'd ever use otherwise. Likewise, I type lda to get a multiline lambda (C#):

() => {
     //caret here
};

I mention Vim because I use Vimperator for web browsing, so all common tasks are performed with single keys or Shift+keys.

I have heard of, but not used Conkeror, which is a browser that utilizes emacs bindings. You might find this useful.

As for German characters, I might suggest using AutoHotkey to create hotstrings. For example, you could map .a to ä (except in your IDE, which is the only place you'd likely ever use a legitimate .a sequence. Likewise you could set it up to replace sS with ß.

Vim, of course, will work equally well on Windows and Linux, as will Vimperator and (I assume) Conkeror. AutoHotkey, on the other hand, is exclusively for Windows, so you'd need to find an alternative there.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.