
Why this seemingly arbitrary keyboard
layout
===
First of all, I realized very quickly when starting to work on this project
that while it might seem open-minded to allow users to create their own keyboard
layout (i.e., did 's' stand for '+1" or '-1', etc.), in the end they would
never learn to play the thing if they kept changing it. Furthermore, there might
be some reasons for assigning various keys in particular ways. So I set about
determining a fixed layout.
When deciding on a keyboard layout, I essentially had an enormous math problem on my hands. At that time I had gotten a copy of an Artificial Intelligence computer language, Prolog, and decided to employ it to assist me. The idea of this program is that instead of specifying lines in code telling the computer exactly how to do a problem, you set up rules and then asked questions and the computer answered them. It's a very interesting language - see this Prolog link for a tutorial containing a description of the language and some examples.
And as I thought about this problem
I recalled that there was a man named Dvorak (not the composer) who had devised
an alternate keyboard layout for the typewriter that he considered to be more
efficient, and I was curious how he decided on his layout. (See this Dvorak
link, especially this layout
diagram.) My thought was to study his work, and then apply what I learned
to my problem. As I recall, my research determined that he had two main considerations:
1. Often-used keys should be assigned to strong fingers (index strongest, 4th,
5th fingers weakest)
2. Often-used 'digraphs' (two letter combinations) should also be in sensible
positions. (Best is opposite hands, second best are two fingers on same hand,
going from outer to inner finger, worst is same finger)
Armed with these rules - of course somewhat filtered through my interpretation of them - I then set about determining in what proportion Dvorak must have valued these rules. That is, I wanted to reduce his analysis to numbers, and to write a Prolog program that proved his keyboard layout the most efficient. Once I could do that, I could modify the program to solve my own keyboard layout problem.
In order to achieve this, I had to fiddle with various coefficients. That is to say I had to come up with a weighting system that declared his system best - i.e., which of the rules were valued in what proportion? For example, were digraphs more or less important than the strong finger rule, how much more or less important, etc.?
(By the way, I did go on the assumption
that Dvorak knew what he was doing, of course! The truth is, since his work
earlier this century, some feel his layout has been discredited by various studies.
In any case, even if not perfect, his layout does demonstrate a number of ideas
that are clearly valid and appropriate to the problem I was attempting to solve.)
I should also mention here that to really get the feel of his layout I learned
to type in the Dvorak system. Interestingly, I'm quite sure I can still type
that way, despite not having done it for a decade.
Anyway, as I fiddled with these coefficients I saw his layout coming out with numbers that supported his choice, more or less. (Actually, I remember seeing other layouts equally good or better, but one advantage of his, from a learning point of view, is that all the vowels are in the left hand). I should mention here that this program included inputting a list of the most-used letters in the English language, as well as the most common digraphs.
And then I applied what I had learned - the coefficients really - to my problem, but instead of inputting common letters and digraphs, I fed it music, in the form of MIDI notes, having written a simple program to convert this MIDI information into Samchillian codes. I used examples from Bach, from Charlie Parker, and my own bebop playing. (The important stuff!) The point was that I wanted to make sure I could play easily the types of things I imagined I would be playing on the thing eventually, and these three sources seemed to span the appropriate musical space.
Here are scans
of my Prolog program I used to run this analysis. As I recall, due to extreme
length of number-crunching time needed (overnight sessions), I was only able
to figure it out - as I had for the Dvorak program - for the 10 or so most common
letters/functions. (For the rest of the assignments I reverted to common sense(!))
Any assignment with a high score got written to a file, and I tried a few of
these out and finally settled on one I liked.
Ironically, when I had finished the layout and started to learn to play, I suddenly realized that there were still phrases I thought were important that were difficult to play. I was chagrined, but by sheer luck I had left unassigned the 2nd set of keys under the index fingers ('t-g-b-y-h-n'). I decided to use these for duplicates of some keys, as well as some special keys. One wonders in the modern age whether it would have been useful to have such duplicates in a typewriter keyboard - several 'e's for example.