Alternative Keyboard LayoutsIntroductionThere's lots of stuff on the web about which is the best keyboard layout. I have read some of it and I have been using the "Dvorak" keyboard (slightly modified) for years now. With this web page, I want not so much to join the argument or give my theory on why our keyboards all say "QWERTY". Instead, I want to examine these questions:
I was inspired by my favorable experience with the Dvorak keyboard and by the work of Michael Capewell and Håkon Hallingstad. QuestionsWhat makes a particular layout good?
Search ProgramThis program must:
Keyboard Data StructureMy current scheme represents a keyboard layout as a string of 37 characters. This assumes that the number keys should stay where they are. Shifted states will, for now, travel with the unshifted key (shift+[ will still be {, wherever [ ends up).The QWERTY keyboard is represented by the string: `-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./ Scoring MethodThe main idea is to make a layout "type" a sample text and decide how well it did.Favorable patterns make the score better, bad patterns make it worse. Especially good or bad patterns make the score especially better or worse. More . . . Search Method
Source CodeHere is a zip file of my program written in Common Lisp. I also have a version in Emacs Lisp and C++, but I haven't managed to pack these up yet.My Current FavoriteHere's the highest-scoring of the layouts my search program has discovered, with a few modifications by hand.This layout is represented as: `[]jldpbquof/-=\rsthmgnaei,wxvck.yz';I constrained the keys xvc to roughly the same positions that they occupy on the QWERTY keyboard. I also constrained the keys `[] to either their QWERTY or Dvorak positions. My Current Least FavoriteBy the way, for anyone who feels like QWERTY is really dreadful, I had my program look for the worst possible layout. Here's one attempt:
|