carpalx - keyboard layout optimizer - save your carpals

Carpalx optimizes keyboard layouts to create ones that require less effort and significantly reduced carpal strain!

Have ideas? Tell me.

the best layout

Partially optimized QWKRFY and fully optimized QGMLWY layouts are the last word in easier typing.

the worst layout

A fully anti-optimized TNWMLC layout is a joke and a nightmare to type. It's also the only keyboard layout that has its own fashion line.

download and explore

Download keyboard layouts, or run the code yourself to explore new layouts. Carpalx is licensed under CC BY-NC-SA 4.0.

layouts

Download and install the layouts.

6 Aug 20 — The search for the world’s best keyboard layout by Paul Guerin

4 May 20 — An interview with Bloomberg's Arianne Cohen Splurge on a Better Keyboard, It's Worth It.

25 May 18 — The BBC article Why we can't give up this off way of typing by Tim McDonald discusses the history and persistence of QWERTY and my Carpalx work.

16 Aug 16 — Ergonomic Keyboard Layout Designed for the Filipino Language at AHFE2016 derives layout for Filipino language using Carpalx

18 Apr 16 — Carpalx layouts soon to appear in freedesktop (package xkeyboard-config) and kbd. Thanks to Perry Thompson.

Improving Colemak

The layout comparison reported in the popular alternatives demonstrated the virtues of Colemak. The Colemak layout has the lowest total effort out of all the popular alternatives, owing to an excellent combination of low penalty and stroke efforts. If you've been following the case studies, and specifically the full optimization the component optimization sections, you noticed that generating a layout that improves on each effort component of Colemak isn't very easy &mdash component weights need to be tweaked. In this section, I report three layouts that that improve every component of Colemak's effort.

Colemak has the lowest total effort of all the popular alternatives described here. Although its base effort component isn't the lowest, it ranks highly in both penalty and stroke components. The full optimization layout (QGMLWB) has a lower total effort (1.668 vs 1.842) than Colemak and it achieves this by forcibly lowering the penalty at the cost of an increased base effort component.

Figure 1. The Colemak layout.

While the QGMLWB distinguishes itself by having the lowest effort, unseating the previous champion Colemak by 9.4%, it doesn't improve on Colemak across all characteristics. In order to find a layout that does, the simulation parameters needed to be adjusted from a base:penalty:stroke ratio of 1:1:1 to a ratio of 10:1:10. In other words, in order to find a lower base effort than Colemak, some of the gains in penalty effort need to be sacrificed.

Improving Colemak - ZXCV moved

If we allow for the relocation of ZXCV, then the PBFMWJ is the layout that most greatly improves over Colemak. This effort lowers Colemak's total effort by 5.6% and individually improves every component. The largest improvement is in the penalty component (11.5%), with a smaller base (3.5%) improvement and negligible stroke path improvement (0.5%).

Figure 2. The best improvement over Colemak with relocated ZXCV.
Colemak improvement
model keyboard total effortrel% effort contributionsrel%
base penalties path
mod_01 colemak 1.842

0.34418.7
0.76341.4
R0.158
F0.487
0.73539.9

colemak-imp-01 1.738 (-5.6)

0.33219.1 (-3.5)
0.67538.8 (-11.5)
R0.148 (-6.3)
F0.462 (-5.1)
0.73142.1 (-0.5)

Improving Colemak - ZXCV stationary

If we require that ZXCV are held stationary, as in Colemak, then the best improved layout is GYLMWP, which lowers the effort by 4.7%. The profile of improvement is different than seen in the layout reported above. Here, a very large row-based penalty improvement is seen (12%) and a significant stroke path improvement (2.7%). The base effort and finger-based penalty improvements are minor, though, at 0.9% and 1.0%, respectively.

Figure 3. The best improvement over Colemak with stationary ZXCV.
Colemak improvement
model keyboard total effortrel% effort contributionsrel%
base penalties path
mod_01 colemak 1.842

0.34418.7
0.76341.4
R0.158
F0.487
0.73539.9

colemak-imp-02 1.756 (-4.7)

0.34119.4 (-0.9)
0.70039.9 (-8.3)
R0.139 (-12.0)
F0.482 (-1.0)
0.71540.7 (-2.7)

Improving Colemak - Detailed Statistics

Detailed statistics of the Colemak improvements are shown below. Recall that the first improvement migrates ZXCV, whereas the second keeps these keys as stationary.

Home row use is the same as Colemak, with decreased use of the bottom row (recall that the bottom row is penalized more than the top row by the row-based penalty). Hand asymmetry is very low, at 0.01 and -0.02 for these two improved layouts. This is lower than Colemak, which is unbalanced by 6% in favour of the right hand. While Colemak has a higher hand asymmetry, it has a marginally better finger run length (93% of key strokes pairs use different fingers, as opposed to 92% and 91% for the two proposed improvements).

carpalx effort optimization keyboard name statistics effort
rowh rowb hand asym finger freq cumulative run distribution mod_01
none Colemak
QWFPGJLUY;[]\
ARSTDHNEIO'
ZXCVBKM,./
0.74 0.09 -0.06 0.16 0.17 0.26 0.41
1 2 3 4 5 6 7 8 9
rhl 0.55 0.85 0.94 0.98 0.99 1 1 1 1
rhr 0.49 0.77 0.90 0.96 0.98 0.99 1 1 1
rh 0.52 0.81 0.92 0.97 0.99 0.99 1 1 1
rrt 0.79 0.97 0.99 1 1 1 1 1 1
rrh 0.26 0.46 0.60 0.71 0.79 0.85 0.89 0.92 0.94
rrb 0.95 1 1 1 1 1 1 1 1
rr 0.57 0.73 0.81 0.86 0.90 0.93 0.95 0.96 0.97
rf 0.93 1 1 1 1 1 1 1 1
rj 0.83 0.95 0.99 1 1 1 1 1 1
1.842
colemak improvement 1 colemak-imp-01
PBFMWJLUY;[]\
SNATDHOEIR'
ZVGCQXK,./
0.74 0.07 0.01 0.14 0.18 0.28 0.40
1 2 3 4 5 6 7 8 9
rhl 0.50 0.80 0.91 0.96 0.98 0.99 1 1 1
rhr 0.51 0.81 0.92 0.97 0.99 1 1 1 1
rh 0.50 0.80 0.92 0.97 0.99 0.99 1 1 1
rrt 0.76 0.95 0.99 1 1 1 1 1 1
rrh 0.26 0.46 0.60 0.71 0.79 0.85 0.89 0.92 0.94
rrb 0.95 1 1 1 1 1 1 1 1
rr 0.55 0.72 0.81 0.86 0.90 0.93 0.95 0.96 0.97
rf 0.92 0.99 1 1 1 1 1 1 1
rj 0.83 0.96 0.99 1 1 1 1 1 1
1.738
colemak improvement 2 colemak-imp-02
GYLMWPFUB;[]\
RSNTDHAEOI'
ZXCVQJK,./
0.74 0.05 -0.02 0.15 0.18 0.28 0.39
1 2 3 4 5 6 7 8 9
rhl 0.57 0.88 0.98 1 1 1 1 1 1
rhr 0.57 0.87 0.95 0.99 1 1 1 1 1
rh 0.57 0.88 0.96 0.99 1 1 1 1 1
rrt 0.75 0.95 0.99 1 1 1 1 1 1
rrh 0.26 0.46 0.60 0.71 0.79 0.85 0.89 0.92 0.94
rrb 0.94 1 1 1 1 1 1 1 1
rr 0.53 0.72 0.80 0.86 0.90 0.93 0.95 0.96 0.97
rf 0.91 1 1 1 1 1 1 1 1
rj 0.84 0.97 0.99 1 1 1 1 1 1
1.756