Sunday 10 a.m.–1 p.m. in

A Python-Friendly Computer Keyboard

Erin Allard


If we could create a computer keyboard specifically for Python programmers, what would the layout of the letters and symbols be? The QWERTY keyboard we use today was developed in 1878 to avoid jamming typewriters' metal arms when typing quickly. But some of the most commonly used letters and symbols aren't easy for our fingers to get to on our modern, two-dimensional computer keyboards! Computer programmers know this problem well: We have to press the `SHIFT` key every time we need a curly bracket, a parenthesis or a colon. And we use lots of these punctuation marks, creating a lot of extra keystrokes. By running character analysis on the source code of Python's 30 most widely used libraries—presumably good examples of high-quality, Pythonic code—we can discover character frequencies that will help us assemble a new keyboard layout that helps Python programmers make more efficient keystrokes. A Python-friendly keyboard would have the most common letters and symbols on the home row, the moderately-used letters and symbols on the top row, and infrequently used letters and symbols on the bottom row. And with keyboard re-mapping, we can actually implement such a keyboard!