-
Notifications
You must be signed in to change notification settings - Fork 3
Description
hi Hugh
Okay I've browsed around your repos a bit. Also had a look at keyman.com.
Background: the gory history in excessive detail is on my blog http://iandoug.com/?cat=12 which needs to be updated because there's been significant changes since episode 8.
At the moment I'm juggling between physical and logical arrangements of the keys. I guess Workman-P may not be optimal, and thus am looking at alternatives, and how to evaluate them.
The major problem is the standards (ISO/ANSI/etc) which are bad designs, and tweaking a bad design is not going to get the optimal result. Hence I ditched that layout in favour of more ergo shapes. My current version is drifting to somewhere between Maltron and Kinesis... I've moved things to thumb keys, including space, return, backspace, delete, and the letters e and t. The upside of this is that 24 letters remaining map nicely to a 4x3x2 grid... index finger now only has one column to worry about.
The downside of this is that all existing keyboard layout analysis programs will struggle with this arrangement.
Further, none that I have seen consider ortho vs staggered in layout. That's another typewriter legacy which should change.
As you may know, I'm involved with the Keyboard-layout-editor https://github.com/ijprest/keyboard-layout-editor and as such, propose the following:
- Use raw data from KLE to generate an XML format (simply because I think it's more human-friendly than JSON). This data should include precise descriptions of what each key does when pressed, including with modifiers, and with Compose key. It should also include exact location (centre of key: x,y,rotation). For KLE purposes, it should also include other data like keycap colour, switch data, etc, which is not used for layout analysis. Using a KLE layout is good because then we can map physical much better than just a string of letters and assume it's 3 rows of 10.
- With this data, a program could (in theory) allocate precise difficulties to any key and key combination. It should take into account duplicate keys (eg numerals) or alternate ways of achieving same result (eg if you can alt-gr é or get it via Compose), and pick appropriate use when required. Eg. typing 6 in between text will likely use numerals above letters, but entering columns of text in a spreadsheet will likely use the numpad.
- Once we have the precise difficulties, then we can run assorted layout evaluations, knowing where all the possible keys may be. One could specify that certain keys are locked, and focus on the remaining key.
- KLE does not include facility for entering all the required data, and I'm not sure if it ever will since it is not relevant to its main function. So I want to build a site that will allow that data to be captured.
Yes this is making the analysis complex, but then we will be comparing apples with apples as well as gaining much needed flexibility. - In theory, having some model of average user hand size may be useful.
So now I need to figure out a sane XML layout for keyboards. I know SkullyDazed https://github.com/skullydazed was working on one, but Google won't show me at the moment. I'll ask him. I've looked at some this morning, including in your repos.