carpalx - keyboard layout optimizer - save your carpals

Japanese version and translation details.

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

Download keyboard layouts, or run the code yourself to explore new layouts.

X11 layouts are available! Many thanks to Sven Hallberg for providing X11 configuration for Carpalx layouts. Richard Gomes contributed an archive of these files for KDE/Gnome users.

Love your coworkers? Switch them to QWKRFY layout or a fully optimized QGMLWY layout.

Hate your coworkers? Switch them to TNWMLC layout. It's the only keyboard layout that has its own fashion line.

Have ideas? Tell me.

9/sep/14 — A new layout—De Correspondent—for the Dutch language in collaboration with De Correspondent.

18/may/14 — Updating text — some of the copy needs to be reworked.

17/may/14 — Made the CSS less useless.

16/may/14 — Added evaluation of the Norman layout. This layout modifies 14/26 keys and has statistics similar to Colemak. Detailed statistics are available.

12/feb/14 — Added evaluation of the abKey layout. Its alphabetic layout makes no attempt at ergonomics. Detailed statistics are available.

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