Due to the difficulty of editing a website compared to a blog, updates on The Keyboard Layout Project can be found on my blog.

CHECK OUT my experience with the keyboards.

Here are the official keyboards.

Here you can find a 1 handed Colemak.

Through the above links, you can see my design process of MTGAP's layout. Here you will find MTGAP's Layout version 2.0.

6/30/08: I am currently working on version 3.0, with the intent of making a layout that's more friendly towards the user. I am completely redesigning the algorithm using a different programming language, so it will be a while before I am done. If you have questions, comments or suggestions, post them on the Keyboards Comments post on my blog.

7/11/08: I promise to offer frequent updates on my progress on designing version 3.0. I know from a certain person named Michael Capewell that not getting updates is very annoying. Currently I am trying to learn Objective C, and I will make an evolutionary algorithm into an application. But first I have to learn the language. I am currently learning it very slowly, because I am lazy. I also have started making the keyboard program, and all I have so far is a little method that is hinting at possibly eventually becoming a mutation method.

8/6/08: My left thumb hurts. I think it's because my thumb now types shift and delete. My right thumb does not hurt though. Interesting. I tried to figure out a simple way to reduce thumb effort, but I don't see a good way. I'd have to either move shift or delete to a hard to reach position, or move a bunch of keys to put something in an easier position. I think the best thing to do would be to put shift where tab is, and put tab under the thumb. That would add more weight to the pinky, but it might help. (Look here to see what I mean.) Oops, I can't edit the tab key. I'll figure something out.

8/12/08: I am trying to collect some concrete data, which is harder than it sounds. I might not remake the program in Objective C, or if I do, it will not be for a long time. It will probably be faster just to use the program as is, but with the new data implemented. The hard part is getting the data. I am trying to find out how long it takes to press each key, so I can put common characters on the keys that are pressed faster. Some finger weight lifting exercises could also help, but I'm not sure how to do that.

8/22/08: I got some keypress timing data for the QWERTY layout. I noticed that the keys that I typed fastest were the common ones, not the ones in good positions. There were a few anomalies though. I only collected data for 8 minutes, perhaps a longer trial would get better results.

GRAPH (lower is better)
QWERTY
? 4 1 1 3 2 4 3 6 7
1 4 2 3 6 1 5 5 5 8
6 7 6 2 7 1 3 4 7 ?

MTGAP's Layout 2.0
6 4 2 4 5 ? 6 3 4 5
3 3 2 2 2 4 5 1 3 3
6 5 7 4 7 2 5 6 7 ?

Colemak
? 6 6 5 6 2 5 1 4 ?
4 4 5 3 5 2 1 1 4 3
7 ? 7 1 7 4 5 3 4 ?

8/27/08: I just used Colemak for research purposes. I noticed that there was a lot more reaching inward, while my layout does more reaching upward. That was the major difference. I didn't like the positions of G or B.

9/7/08: I've made a new layout which I think is my best yet. It's more similar to Colemak. Link is above.

10/26/08: I seem to remember promising to provide frequent updates. Well I haven't updated in about two months. Yeah, two months isn't that long, but if I don't update now, when will I? Anyway, I have been working on some other projects, so it will be some time before I continue this project. And I might not even continue it. I have two layouts, both of which are very good for their own purposes. Even if I'm not completely satisfied, there's still a limit to how much more I can do. The layouts are basically as good as they're going to get.

12/6/08: I am learning C, and will probably rewrite the program in C. I have started writing the algorithm, but haven't gotten very far so far.

2/12/09: I have since reconsidered, and have decided to write the program in Java. Java is very portable, an easier language to write in, and almost as fast. About three weeks ago, I spent an embarrassing amount of time over a weekend working on the program, and it's about half done. I haven't touched it since that time.

3/29/09: The program is nearly complete. There are a few major bugs, but depending on how motivated I am, the program should be complete pretty soon. There is, of course, a big difference between a completed program and an optimal keyboard.

4/4/09: An important element of finding the best keyboard is knowing letter frequency, digraph frequency, etc. I am trying to figure out the best way to go about this here.

6/13/09: I haven't gotten a lot done lately. Just posting an update for no real reason.

8/11/09: I got to a dead end in Java, so I have started rewriting the algorithm in C. Progress is going great. The program is blazing fast, and I already have some semi-workable results.

8/19/09: See this page for further updates.

Site Map
My letter frequency page