Karl Hans Janke Kollaborativ
Heute die Welt, morgen das Sonnensystem!

jan 2011

Tron (1982) awesomenesses

tron-pacman.klein.jpg

I just (re)watched the original Tron. Highlights:

mcp-moses.klein.jpg

carpalx keyboard layouts for X11

carpalx is a program for the algorithmic evaluation and optimization of keyboard layouts. The site is a wealth of information and adds a nice scientific angle to the endless discussion of alternatives to the QWERTY layout. First of all it provides evaluations and comparisons of several popular layouts, including Dvorak and Colemak. In addition it describes a number of layouts generated by the program, optimized to certain parameters and side conditions. Within the given effort metric, they improve significantly over all alternatives.

qgmlwb.klein.png
carpalx' fully optimized layout with Colemak lettermask, QGMLWB.

I've created an XKB definition file that allows the five featured layouts to be used with X11. In fact, it also includes the worst layout TNWMLC which maximizes the effort metric. Don't use that, though.

To install, copy carpalx.xkb to your XKB symbols directory (path my differ slightly)

$ cp carpalx.xkb /usr/share/X11/xkb/symbols/carpalx

and add the following lines to /usr/share/X11/xkb/symbols.dir:

-dp----- a------- carpalx(qgmlwb)
--p----- a------- carpalx(qgmlwy)
--p----- a------- carpalx(qfmlwy)
--p----- a------- carpalx(qwkrfy)
--p----- a------- carpalx(qwyrfm)
--p----- a------- carpalx(tnwmlc)

Now it should be possible to load the layouts with, e.g.

$ setxkbmap carpalx                            # defaults to QGMLWB
$ setxkbmap -layout carpalx -variant qwkrfy    # to select other variants

Technically, the following files should also be updated:

/usr/share/X11/xkb/rules/xorg.lst
/usr/share/X11/xkb/rules/xorg.xml

For the time being I couldn't be bothered, but I think that's necessary if the layouts are to show up in Gnome and KDE control panels.

PS: Dear search engines, X11 means X Window System, means this lets you use carpalx layouts on Linux (desktops). Or FreeBSD for that matter.