Skip to: Site menu | Main content

A better Qwerty layout for accents

Apple Keyboard

Like many programmers whose main language is not English, I’ve been facing the keyboard dilemma for a while: keep my native layout even though frequent programming characters like []{}|\ require 2 or 3 fingers, or adopt the standard US Qwerty layout?

In practice, I’ve chosen Qwerty because I write a lot in English anyway, and its advantages outweight the couple of defaults and inconsistencies it does have. The problem is, I’ve recently started learning Esperanto, which requires a dozen diacritics that are not reachable on the basic Qwerty.

So, I made a layout to fix that, plus a couple itches I had with the basic Qwerty layout.

Rollover & Overstriking

The problem with accessing diacritics in Qwerty is that the dead-key combinations have not been designed with rollover or overstriking in mind, as described by Jef Raskin in The Humane Interface:

A keyboard that supports rollover does not get confused when you start pressing a key before the previous one has been completely released. This is very useful for sequences of letters that are typed in a single swipe, like the -ion suffix.
Overstriking is when key B is pressed after, but released before key A; it’s important that the last key pressed is released first, else this is rollover. Raskin proposed that characters could be composed this way by temporally overstriking keys, like one would physically overstrike glyphs on a typewriter.

What makes accents painful with Qwerty it that they require finger-jumping, for instance to get “É”: press option, press e, release both, press shift, press e, release. Admittedly, you get used to it, but the gesture would flow better if it was just: press shift and option, double-type e, release.

Actually, most of the problem was that the layout defines nothing when it’s in a dead-key mode and the option key has not been released. I just duplicated accented letters to these option-keys. Similarly, to handle accented capitals, I duplicated the dead-keys to their shift-option equivalents.

Why keep Qwerty, what about alternate keyboards?

The basic Qwerty layout has many advantages:

Mac OS does have an U.S. Extended keyboard layout that provides more accented characters, but it has the same rollover problems, and the dead-keys are placed completely differently, invalidating muscular memory learned from the usual Qwerty.

Of course, there is also the solution of an entirely new keyboard layout such as Bépo, which has been designed from the ground up to fix all these problems; I might adopt it sometime, but this is too big a step for me for now. I learned Dvorak because it was only a quick keycap permutation away from Qwerty; I can’t touch-type, so converting my physical keyboard is necessary, but that also frustrates anyone I lend my keyboard to.

The layout

Download the file here, then drop it into your Library/Keyboard Layouts directory; it should then become available from the Language & Text preference pane. I made it using Ukelele, and am releasing it under the Creative Commons Attribution-Share Alike 3.0 License.

What’s changed

What’s still needed

Some rights reserved. Except where otherwise noted, this website by is licensed under Creative Commons Attribution-Share Alike 2.0 France.
Generated by nanoc, ruby, sass, haml, markdown, kramdown, slides, jquery, easing, hyphenator.js
Last updated on 2015-03-03.  Toggle hy-phe-na-ti-on.
Creative Commons License Back to top