This directory contains a program (frequencies.py) for counting the frequencies of non-alphanumeric characters in all the files under a given directory tree, and some results in the "results/" directory. This will help show what non-standard keys need to be most convenient in a proposed "programmer's" Maltron keyboard, to be based on the L89P layout. To see a summary of the frequency results so far, do this: $ cd results/ $ ./totals.py *.out Answers to questions you might be about to ask: Q: Why count only the non-alphanumerics? A: Because we already know that the alphanumerics are the most common things in source code, just as they are in prose. Well, we know that the alphas are most common, and the numerics aren't going to move from their current spots in the L89P layout anyway, so there's no point fussing with them. Q: Why use only single-character counts, not digraphs and trigraphs? A: Using digraph and trigraph data makes sense when coming up with the overall layout, but that's already been done here. We're just tweaking the positions of a few keys at this point, and there's not much room left to work with. Trying to use di/trigraph data would only make the process more complicated than it needs to be. Q: What about editor motion commands and other key usages not reflected in file contents? A: We just have to go on knowledge of typical interfaces for that. I suppose we could ask a lot of people who use different editing environments to tell their editors to save keystroke transcripts, but... there's such a thing as going overboard.