Author Topic: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)  (Read 7826 times)

0 Members and 1 Guest are viewing this topic.

Offline Piro

  • Thread Starter
  • Posts: 33
Windows installer
Microsoft Keyboard Layout Creator file
CorelDRAW X5 template (Physically swap d and h so the bump is in the right place).

To start with, I base my layout on Dvorak - the reasoning behind this is simple: I have been using Dvorak for many years (10+), I think it has a nice typing rhythm, but there are some flaws, and I'll run down the design goals after the inital money shot.

These may change a little as I refine the extra keys. If you want the layout at any point, ask and I should have it ready. I'll link it when it is 100% done and there are no more concerns.

Main ISO layout is as follows (ISO is the primary design platform, but [post=593351]read down for ANSI goodness and testing results).[/post]

Unshifted:


Shifted:


AltGr:


Shift+AltGr:


Design goals/outline:
Here are some of the common issues that I aim to have tackled with this design:

Shortcut keys:
X - x moved to ; position, ; moved left.
My main concern is not to have QWERTY like shortcut keys, but a nod is given to them being easy to hit with one hand. ZXCV positioning is not considered paramount.
Also, all the letters are now available without significant (extremely little) hand movement. Previously x was just too far away.

The stretch to f:
Fix - move it to the old position of j.
Reasoning - j is seldom used. j gets displaced.
Please note for anyone who thinks this using a bottom row position is bad for a common letter:- this position is far too easy to hit with the index finger to be left for j. 'm' and 'w' are more frequent than f and already have a bottom row position.

U & I: Swapped.
This puts the 8 most frequent letters under your home fingers. Yes, it very slightly increases effort for 'ou' but is overall an obvious refinement.

The oft-derided position of l:
Fix - Swapped with r. [original design swapped with g, but this had issues]
Reasoning - l is used more often, and there are other reasons I will go in to in a bit.

Top row on the right: very refined. Key areas attacked; from worst to least offensive:- hurdles, awkward hand repositioning, load on pinky, pairings involving home then top on the same finger, load on ring, load on index.
Key areas improved on the right hand:- more load on the middle finger, motions requiring one finger for a letter pair are generally extend-press-fold-press, which is more comfortable than the other way round.
CR roll is retained with the new layout, but now is on the strongest fingers.
See [post=593876]this post[/post] for more work on the top row if you're not sure.

Now to the more unique traits of this layout:
ISO & ANSI specific revisions (ISO layout could use the widening and is a little more versatile with the extra key, no point ignoring that).
3-key gap in the home row - less distance to backspace, enter, right shift under pinky (useful with short left shift on ISO).
2 dedicated dead keys for international input. (There are a few more dead keys in this middle cluster, as seen in the image).
In total, here are the dead keys available: grave accent, acute accent, diaeresis, stroke, circumflex accent, Greek, cedilla, dot below, caron, breve, macron, ogonek, dot above.
? available unshifted. (Not in the simplified versions, which retain standard keycaps).
Easy for Dvorak users to adapt to. Very obvious Dvorak character to the layout.
Very little stretching (no horrible centre reaches)
Some other stuff too:- altgr combos mainly using the left hand (thumb much closer on the right makes this so easy)

[post=593351]Read down for ANSI goodness and testing results.[/post]

Previous designs:
2 pretty | 2 clean
1 pretty | 1 clean

I once designed keyboard layouts many, many years ago (it's any incredibly obscure name, but someone may know of "New Euro Keys").
« Last Edit: Thu, 13 September 2012, 13:21:02 by Piro »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #1 on: Sat, 12 May 2012, 13:08:35 »
I forgot to post this before, but there have been some interesting work dove in colemak on this. I had been planning on copying their efforts for an ansi wide dvorak.
http://colemak.com/forum/viewtopic.php?id=839

Then I'll implement amendments like UI swap, etc.

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #2 on: Mon, 14 May 2012, 16:46:57 »
I've been using this for a while now, and a very slight change is going to happen. ? moves to left of L, and that dead key swaps position. Stretching effectively across to what would have been the other hand's key to type a common punctuation mark which I put on its own key for the reason of easy access is nothing less than absurd. Clear fix needed, simple to implement. This reduces home row score (hah!) but of course increases comfort.

Also includes most of my extra symbols (although some don't show on the WASD customiser for some reason). But they're not done yet. More. Always more. It will be as feature complete as could be reasonably desired.
If anyone actually wants the keyboard installer at some point you're welcome to have it, but I'll wait until I'm 100% pleased before a link.

Code if you want it - configuration for http://patorjk.com/keyboard-layout-analyzer/ (Ghetto adapted to ANSI, it should perform slightly better on an ISO layout - less stretch to z, less stretch to j, less stretch to ;)

Code: [Select]
{"label":"WideDV","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":36,"8":37,"9":38,"10":39,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0,"altGr":172,"shiftAltGr":-1},{"primary":49,"shift":33,"finger":1,"id":1,"altGr":-1,"shiftAltGr":-1},{"primary":50,"shift":64,"finger":2,"id":2,"altGr":-1,"shiftAltGr":-1},{"primary":51,"shift":35,"finger":3,"id":3,"altGr":163,"shiftAltGr":-1},{"primary":52,"shift":36,"finger":4,"id":4,"altGr":8364,"shiftAltGr":-1},{"primary":53,"shift":37,"finger":4,"id":5,"altGr":-1,"shiftAltGr":-1},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7,"altGr":-1,"shiftAltGr":-1},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":8,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":9,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":45,"shift":95,"finger":9,"id":11,"altGr":-1,"shiftAltGr":-1},{"primary":61,"shift":43,"finger":10,"id":12,"altGr":-1,"shiftAltGr":-1},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":39,"shift":34,"finger":1,"id":15,"altGr":-1,"shiftAltGr":-1},{"primary":44,"shift":60,"finger":2,"id":16,"altGr":91,"shiftAltGr":-1},{"primary":46,"shift":62,"finger":3,"id":17,"altGr":93,"shiftAltGr":-1},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":121,"shift":89,"finger":4,"id":19},{"primary":-1,"shift":-1,"finger":4,"id":20,"altGr":-1,"shiftAltGr":-1},{"primary":63,"shift":-1,"finger":7,"id":21,"altGr":-1,"shiftAltGr":-1},{"primary":108,"shift":76,"finger":7,"id":22,"altGr":-1,"shiftAltGr":-1},{"primary":99,"shift":67,"finger":8,"id":23,"altGr":-1,"shiftAltGr":-1},{"primary":114,"shift":82,"finger":9,"id":24,"altGr":-1,"shiftAltGr":-1},{"primary":103,"shift":71,"finger":10,"id":25,"altGr":-1,"shiftAltGr":-1},{"primary":106,"shift":74,"finger":10,"id":26,"altGr":-1,"shiftAltGr":-1},{"primary":122,"shift":90,"finger":10,"id":27,"altGr":-1,"shiftAltGr":-1},{"primary":20,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":111,"shift":79,"finger":2,"id":30},{"primary":101,"shift":69,"finger":3,"id":31},{"primary":105,"shift":73,"finger":4,"id":32,"altGr":-1,"shiftAltGr":-1},{"primary":117,"shift":85,"finger":4,"id":33,"altGr":-1,"shiftAltGr":-1},{"primary":-1,"shift":-1,"finger":7,"id":34,"altGr":-1,"shiftAltGr":-1},{"primary":100,"shift":68,"finger":7,"id":35,"altGr":-1,"shiftAltGr":-1},{"primary":104,"shift":72,"finger":7,"id":36,"altGr":-1,"shiftAltGr":-1},{"primary":116,"shift":84,"finger":8,"id":37,"altGr":-1,"shiftAltGr":-1},{"primary":110,"shift":78,"finger":9,"id":38,"altGr":-1,"shiftAltGr":-1},{"primary":115,"shift":83,"finger":10,"id":39,"altGr":-1,"shiftAltGr":-1},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":120,"shift":88,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":113,"shift":81,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":102,"shift":70,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":107,"shift":75,"finger":4,"id":45},{"primary":92,"shift":123,"finger":4,"id":46,"altGr":-1,"shiftAltGr":-1},{"primary":47,"shift":125,"finger":7,"id":47,"altGr":-1,"shiftAltGr":-1},{"primary":98,"shift":66,"finger":7,"id":48,"altGr":-1,"shiftAltGr":-1},{"primary":109,"shift":77,"finger":7,"id":49,"altGr":956,"shiftAltGr":-1},{"primary":119,"shift":87,"finger":8,"id":50,"altGr":-1,"shiftAltGr":-1},{"primary":118,"shift":86,"finger":9,"id":51,"altGr":-1,"shiftAltGr":-1},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":59,"finger":1,"id":54,"shift":58,"altGr":124,"shiftAltGr":166},{"primary":18,"finger":5,"id":55},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}

It's not proper fingering, but I find it more comfortable than the stats may suggest (even though they suggest that the comfort level is high) because although 'ld' would count as index finger twice, it is actually very satisfying to briefly shift your fingers a little to use middle finger on l, index on d, as in, "world" for example. Middle finger to index finger inward roll, instead of pinky-index stretch as in normal Dvorak.
Even my stated 'bl' hurdle is not really an issue in reality as I find myself doing the same thing there: middle finger l, index b, a quick upwards roll -- not absolutely perfect I grant you, but not the mess I first imagined.

Although of course I'm still yet to be fully used to it (so many years of normal Dvorak), I can say that I am satisfied so far with the feel of the changes. But improvements can be made, I'm sure.

Looking at the Colemak ideas now, they seem to be interesting, I see some split the number row. I can't say I think there's a great deal of point - by the time you're reaching for the number row, you will be moving your hand anyway, better I think to keep them continuous and keep the symbols in easy reach together on the right. I actually think moving - one to the right means you'd use pinky not ring - which would be a great step back for users of Dvorak who are used to - being ridiculously accessible.
« Last Edit: Mon, 14 May 2012, 18:51:03 by Piro »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #3 on: Mon, 14 May 2012, 22:02:22 »
About the number row: you can reach the numbers on a Kinesis, so shuffling them around is an idea still with a lot of merit.

Offline Tony

  • Posts: 1189
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #4 on: Mon, 14 May 2012, 22:55:49 »
Well discussed posts. I wonder why Dvorak do not put R and I into the 8 key homerow, these keys are used much more often than U and H.
According to carpalx Dvorak use right hand 14% more. Hopefully your new layout is more balanced.
I am using Colemak, which is 6% leaned to the right hand.
« Last Edit: Mon, 14 May 2012, 22:59:34 by Tony »
Keyboard: Filco MJ1 104 brown, Filco MJ2 87 brown, Compaq MX11800, Noppoo Choc Brown/Blue/Red, IBM Model M 1996, CMStorm Quickfire Rapid Black
Layout: Colemak experience, speed of 67wpm

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #5 on: Mon, 14 May 2012, 23:44:58 »
Quote from: Tony;592992
Well discussed posts. I wonder why Dvorak do not put R and I into the 8 key homerow, these keys are used much more often than U and H.
According to carpalx Dvorak use right hand 14% more. Hopefully your new layout is more balanced.
I am using Colemak, which is 6% leaned to the right hand.
Honestly, I don't know why I isn't under the index finger, but the UI swap is common enough to make sense. According to Wikipedia, H and R are almost equally common, though H edges out by a hair. Even with that said, I don't think R should be so far from the middle.

Looking over it more thoroughly, I'm seeing on issue with R, L and D being possible misplaced. The L is already a commonly cited example with a dvorak difficulty. U is also relatively uncommon, but I can forgive Dvorak for placing it on the home row, as it is useful to have all the vowels in a row, and i imagine it does help with hand alternation.

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #6 on: Tue, 15 May 2012, 03:08:44 »
Quote from: Tony;592992
Well discussed posts. I wonder why Dvorak do not put R and I into the 8 key homerow, these keys are used much more often than U and H.
According to carpalx Dvorak use right hand 14% more. Hopefully your new layout is more balanced.
I am using Colemak, which is 6% leaned to the right hand.



It [r] is only just outside the top 8 sorted by frequency in English, and with the u and i switch, the home 8 become perfectly linked with frequency.
By other methods, r is slightly more frequent than h, but that is by counting unique words, and in use, h is frequent because of "the".
The four most infrequent (xq jz) are paired off neatly in some dark corners, as you can clearly see.

Punctuation is easier in Dvorak by design, which is a benefit sometimes not factored in.

My particular design isn't to overhaul Dvorak's characteristics entirely, but merely to reduce stretches. Less to enter/backspace/right shift, less pinky punishment, less to the middle.

I fear I may have made the index fingers repeat a little more than I'd like by doing so, but this is the only thing I'm not totally sold on so far. [this has now been refined]

On hand balance:

http://i.imgur.com/m1w01.png
[old stats, please see [post=593351]here[/post] for updated information.

This was using http://patorjk.com/keyboard-layout-analyzer/ - and the sample text provided, "Alice's Adventure in Wonderland.." (I'd love to test with my massive sample size of an entire novel, as I previously have been doing, but I'm at work and don't have it with me).
« Last Edit: Wed, 16 May 2012, 07:06:20 by Piro »

Offline Tony

  • Posts: 1189
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #7 on: Tue, 15 May 2012, 03:32:09 »
Nice statistics. How many percent improvement this WideDV layout has compared to Qwerty, simplified Dvorak, or Colemak? I suppose the margin is quite small.
Keyboard: Filco MJ1 104 brown, Filco MJ2 87 brown, Compaq MX11800, Noppoo Choc Brown/Blue/Red, IBM Model M 1996, CMStorm Quickfire Rapid Black
Layout: Colemak experience, speed of 67wpm

Offline Djuzuh

  • Posts: 1127
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #8 on: Tue, 15 May 2012, 03:32:11 »
A novel maybe isn't the best example. As the vocabulary is different than what most of us use everyday.

Maybe some huge conversation/mail DB and, next to it, some software sources would be more interesting?

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #9 on: Tue, 15 May 2012, 04:04:15 »
Quote from: Djuzuh;593086
A novel maybe isn't the best example. As the vocabulary is different than what most of us use everyday.

Maybe some huge conversation/mail DB and, next to it, some software sources would be more interesting?


I agree of course, no sample text can be considered perfect. It was just what was default so easy comparisons could be made.
The stats can't be considered 100% accurate either, because most tools only have ANSI layouts, and I had to adapt the layout to as closely match the one I want (ISO).

But as requested, I've changed the text used, and here we go, with heatmaps and stats. This was using sample text I prepared using java & c++ samples, and irc chat logs (minus the <> and @ around people's names, and minus any timestamps - this would of course not be typed and would skew the actual usage).

Deprecated! You can check these old results out if you desire:
http://i.imgur.com/XoJB3.png
http://i.imgur.com/j2EqM.png
http://i.imgur.com/6eoRd.png
http://i.imgur.com/aO1yR.png
http://i.imgur.com/umC66.png
http://i.imgur.com/zeeZt.png
http://i.imgur.com/GJQXB.png
http://i.imgur.com/3h1lB.png
http://i.imgur.com/1WP7e.png
http://i.imgur.com/DjFI9.png
http://i.imgur.com/oIjHq.png

I'm considering a re-working of the top row that removes my nice gr roll, but improves in every other way.

RLCG

Changing this top row raises the score on all texts, reduces distances, makes everything that's good even better.. I'll do the work on this later. It seems a very solid improvement. It even fixes one of Dvorak's only hurdles: rv. But it screws up 'br' and creates a minor issue with 'rd' ah, there's always something. I'll look in to some other improvements. I'll only put the changes in if they are much better, as it needs careful thought, not throwing letters around with wanton abandon.

Edited: removed in-line images because they relate to the slightly older version.
« Last Edit: Tue, 15 May 2012, 16:24:25 by Piro »

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #10 on: Tue, 15 May 2012, 13:22:27 »
I've come up with a superior final iteration of the top row, resolving everything of any importance: CRLG. I'm pretty much done with it now, and without major redesign, I doubt it would be possible to make it much better (I'm happy that I've achieved my goals).
Because I realise most are using ANSI on here, I've been adapting it, and the results are good. Have a look at these two, I've made one wide and one narrow (simplified indicates they are using standard punctuation, no key cap changes):


Code: [Select]
{&quot;label&quot;:&quot;WideDV ANSI (Simplified)&quot;,&quot;fingerStart&quot;:{&quot;1&quot;:29,&quot;2&quot;:30,&quot;3&quot;:31,&quot;4&quot;:32,&quot;5&quot;:56,&quot;6&quot;:56,&quot;7&quot;:36,&quot;8&quot;:37,&quot;9&quot;:38,&quot;10&quot;:39,&quot;11&quot;:56,&quot;false&quot;:-1},&quot;keyboardType&quot;:&quot;standard&quot;,&quot;keys&quot;:[{&quot;primary&quot;:96,&quot;shift&quot;:126,&quot;finger&quot;:1,&quot;id&quot;:0,&quot;altGr&quot;:172,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:49,&quot;shift&quot;:33,&quot;finger&quot;:1,&quot;id&quot;:1,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:50,&quot;shift&quot;:64,&quot;finger&quot;:2,&quot;id&quot;:2,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:51,&quot;shift&quot;:35,&quot;finger&quot;:3,&quot;id&quot;:3,&quot;altGr&quot;:163,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:52,&quot;shift&quot;:36,&quot;finger&quot;:4,&quot;id&quot;:4,&quot;altGr&quot;:8364,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:53,&quot;shift&quot;:37,&quot;finger&quot;:4,&quot;id&quot;:5,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:54,&quot;shift&quot;:94,&quot;finger&quot;:4,&quot;id&quot;:6,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:55,&quot;shift&quot;:38,&quot;finger&quot;:7,&quot;id&quot;:7,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:56,&quot;shift&quot;:42,&quot;finger&quot;:7,&quot;id&quot;:8,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:57,&quot;shift&quot;:40,&quot;finger&quot;:7,&quot;id&quot;:9,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:48,&quot;shift&quot;:41,&quot;finger&quot;:8,&quot;id&quot;:10,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:45,&quot;shift&quot;:95,&quot;finger&quot;:9,&quot;id&quot;:11,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:61,&quot;shift&quot;:43,&quot;finger&quot;:10,&quot;id&quot;:12,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:8,&quot;finger&quot;:10,&quot;id&quot;:13},{&quot;primary&quot;:9,&quot;finger&quot;:1,&quot;id&quot;:14},{&quot;primary&quot;:39,&quot;shift&quot;:34,&quot;finger&quot;:1,&quot;id&quot;:15,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:44,&quot;shift&quot;:60,&quot;finger&quot;:2,&quot;id&quot;:16,&quot;altGr&quot;:91,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:46,&quot;shift&quot;:62,&quot;finger&quot;:3,&quot;id&quot;:17,&quot;altGr&quot;:93,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:112,&quot;shift&quot;:80,&quot;finger&quot;:4,&quot;id&quot;:18},{&quot;primary&quot;:121,&quot;shift&quot;:89,&quot;finger&quot;:4,&quot;id&quot;:19},{&quot;primary&quot;:91,&quot;shift&quot;:123,&quot;finger&quot;:4,&quot;id&quot;:20,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:47,&quot;shift&quot;:63,&quot;finger&quot;:7,&quot;id&quot;:21,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:99,&quot;shift&quot;:67,&quot;finger&quot;:7,&quot;id&quot;:22,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:114,&quot;shift&quot;:82,&quot;finger&quot;:8,&quot;id&quot;:23,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:108,&quot;shift&quot;:76,&quot;finger&quot;:9,&quot;id&quot;:24,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:103,&quot;shift&quot;:71,&quot;finger&quot;:10,&quot;id&quot;:25,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:106,&quot;shift&quot;:74,&quot;finger&quot;:10,&quot;id&quot;:26,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:92,&quot;shift&quot;:124,&quot;finger&quot;:10,&quot;id&quot;:27,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:20,&quot;finger&quot;:1,&quot;id&quot;:28},{&quot;primary&quot;:97,&quot;shift&quot;:65,&quot;finger&quot;:1,&quot;id&quot;:29},{&quot;primary&quot;:111,&quot;shift&quot;:79,&quot;finger&quot;:2,&quot;id&quot;:30},{&quot;primary&quot;:101,&quot;shift&quot;:69,&quot;finger&quot;:3,&quot;id&quot;:31},{&quot;primary&quot;:105,&quot;shift&quot;:73,&quot;finger&quot;:4,&quot;id&quot;:32,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:117,&quot;shift&quot;:85,&quot;finger&quot;:4,&quot;id&quot;:33,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:93,&quot;shift&quot;:125,&quot;finger&quot;:7,&quot;id&quot;:34,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:100,&quot;shift&quot;:68,&quot;finger&quot;:7,&quot;id&quot;:35,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:104,&quot;shift&quot;:72,&quot;finger&quot;:7,&quot;id&quot;:36,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:116,&quot;shift&quot;:84,&quot;finger&quot;:8,&quot;id&quot;:37,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:110,&quot;shift&quot;:78,&quot;finger&quot;:9,&quot;id&quot;:38,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:115,&quot;shift&quot;:83,&quot;finger&quot;:10,&quot;id&quot;:39,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:13,&quot;finger&quot;:10,&quot;id&quot;:40},{&quot;primary&quot;:16,&quot;finger&quot;:1,&quot;id&quot;:41,&quot;shift&quot;:-1,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:120,&quot;shift&quot;:88,&quot;finger&quot;:2,&quot;id&quot;:42,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:113,&quot;shift&quot;:81,&quot;finger&quot;:3,&quot;id&quot;:43,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:102,&quot;shift&quot;:70,&quot;finger&quot;:4,&quot;id&quot;:44,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:107,&quot;shift&quot;:75,&quot;finger&quot;:4,&quot;id&quot;:45},{&quot;primary&quot;:59,&quot;shift&quot;:58,&quot;finger&quot;:4,&quot;id&quot;:46,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:122,&quot;shift&quot;:90,&quot;finger&quot;:7,&quot;id&quot;:47,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:98,&quot;shift&quot;:66,&quot;finger&quot;:7,&quot;id&quot;:48,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:109,&quot;shift&quot;:77,&quot;finger&quot;:7,&quot;id&quot;:49,&quot;altGr&quot;:181,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:119,&quot;shift&quot;:87,&quot;finger&quot;:8,&quot;id&quot;:50,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:118,&quot;shift&quot;:86,&quot;finger&quot;:9,&quot;id&quot;:51,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:-16,&quot;finger&quot;:10,&quot;id&quot;:52},{&quot;primary&quot;:17,&quot;finger&quot;:5,&quot;id&quot;:53},{&quot;primary&quot;:-1,&quot;finger&quot;:1,&quot;id&quot;:54,&quot;shift&quot;:-1,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:18,&quot;finger&quot;:5,&quot;id&quot;:55,&quot;shift&quot;:-1,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:32,&quot;finger&quot;:5,&quot;id&quot;:56},{&quot;primary&quot;:-18,&quot;finger&quot;:6,&quot;id&quot;:57},{&quot;primary&quot;:-91,&quot;finger&quot;:6,&quot;id&quot;:58,&quot;shift&quot;:-1,&quot;altGr&quot;:-1,&quot;shiftAltGr&quot;:-1},{&quot;primary&quot;:-93,&quot;finger&quot;:6,&quot;id&quot;:59},{&quot;primary&quot;:17,&quot;finger&quot;:6,&quot;id&quot;:60}]}

Code: [Select]
{"label":"NarrowDV ANSI (Simplified)","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":35,"8":36,"9":37,"10":38,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0,"altGr":172,"shiftAltGr":-1},{"primary":49,"shift":33,"finger":1,"id":1,"altGr":-1,"shiftAltGr":-1},{"primary":50,"shift":64,"finger":2,"id":2,"altGr":-1,"shiftAltGr":-1},{"primary":51,"shift":35,"finger":3,"id":3,"altGr":163,"shiftAltGr":-1},{"primary":52,"shift":36,"finger":4,"id":4,"altGr":8364,"shiftAltGr":-1},{"primary":53,"shift":37,"finger":4,"id":5,"altGr":-1,"shiftAltGr":-1},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7,"altGr":-1,"shiftAltGr":-1},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":8,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":9,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":91,"shift":123,"finger":10,"id":11,"altGr":-1,"shiftAltGr":-1},{"primary":93,"shift":125,"finger":10,"id":12,"altGr":-1,"shiftAltGr":-1},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":39,"shift":34,"finger":1,"id":15,"altGr":-1,"shiftAltGr":-1},{"primary":44,"shift":60,"finger":2,"id":16,"altGr":91,"shiftAltGr":-1},{"primary":46,"shift":62,"finger":3,"id":17,"altGr":93,"shiftAltGr":-1},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":121,"shift":89,"finger":4,"id":19},{"primary":47,"shift":63,"finger":7,"id":20,"altGr":-1,"shiftAltGr":-1},{"primary":99,"shift":67,"finger":7,"id":21,"altGr":-1,"shiftAltGr":-1},{"primary":114,"shift":82,"finger":8,"id":22,"altGr":-1,"shiftAltGr":-1},{"primary":108,"shift":76,"finger":9,"id":23,"altGr":-1,"shiftAltGr":-1},{"primary":103,"shift":71,"finger":10,"id":24,"altGr":-1,"shiftAltGr":-1},{"primary":45,"shift":45,"finger":10,"id":25,"altGr":-1,"shiftAltGr":-1},{"primary":61,"shift":43,"finger":10,"id":26,"altGr":-1,"shiftAltGr":-1},{"primary":92,"shift":124,"finger":10,"id":27,"altGr":-1,"shiftAltGr":-1},{"primary":20,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":111,"shift":79,"finger":2,"id":30},{"primary":101,"shift":69,"finger":3,"id":31},{"primary":105,"shift":73,"finger":4,"id":32,"altGr":-1,"shiftAltGr":-1},{"primary":117,"shift":85,"finger":4,"id":33,"altGr":-1,"shiftAltGr":-1},{"primary":100,"shift":68,"finger":7,"id":34,"altGr":-1,"shiftAltGr":-1},{"primary":104,"shift":72,"finger":7,"id":35,"altGr":-1,"shiftAltGr":-1},{"primary":116,"shift":84,"finger":8,"id":36,"altGr":-1,"shiftAltGr":-1},{"primary":110,"shift":78,"finger":9,"id":37,"altGr":-1,"shiftAltGr":-1},{"primary":115,"shift":83,"finger":10,"id":38,"altGr":-1,"shiftAltGr":-1},{"primary":106,"shift":74,"finger":10,"id":39,"altGr":-1,"shiftAltGr":-1},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":120,"shift":88,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":113,"shift":81,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":102,"shift":70,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":107,"shift":75,"finger":4,"id":45},{"primary":59,"shift":58,"finger":7,"id":46,"altGr":-1,"shiftAltGr":-1},{"primary":98,"shift":66,"finger":7,"id":47,"altGr":-1,"shiftAltGr":-1},{"primary":109,"shift":77,"finger":7,"id":48,"altGr":-1,"shiftAltGr":-1},{"primary":119,"shift":87,"finger":8,"id":49,"altGr":-1,"shiftAltGr":-1},{"primary":118,"shift":86,"finger":9,"id":50,"altGr":-1,"shiftAltGr":-1},{"primary":122,"shift":90,"finger":10,"id":51,"altGr":-1,"shiftAltGr":-1},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":-1,"finger":1,"id":54,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":18,"finger":5,"id":55,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}
What do you think? I've been testing on ridiculous sample sizes now, as well as eliminating as many hurdles as possible.
Yup, ch is now one finger, but what can you do. Overall, it is a definite improvement.

For completeness, the complex ISO version as originally designed:

Code: [Select]
{"label":"WideDV ISO (Complex)","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":36,"8":37,"9":38,"10":39,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0,"altGr":172,"shiftAltGr":-1},{"primary":49,"shift":33,"finger":1,"id":1,"altGr":-1,"shiftAltGr":-1},{"primary":50,"shift":64,"finger":2,"id":2,"altGr":-1,"shiftAltGr":-1},{"primary":51,"shift":35,"finger":3,"id":3,"altGr":163,"shiftAltGr":-1},{"primary":52,"shift":36,"finger":4,"id":4,"altGr":8364,"shiftAltGr":-1},{"primary":53,"shift":37,"finger":4,"id":5,"altGr":-1,"shiftAltGr":-1},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7,"altGr":-1,"shiftAltGr":-1},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":7,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":8,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":45,"shift":95,"finger":9,"id":11,"altGr":-1,"shiftAltGr":-1},{"primary":61,"shift":43,"finger":10,"id":12,"altGr":-1,"shiftAltGr":-1},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":39,"shift":34,"finger":1,"id":15,"altGr":-1,"shiftAltGr":-1},{"primary":44,"shift":60,"finger":2,"id":16,"altGr":91,"shiftAltGr":-1},{"primary":46,"shift":62,"finger":3,"id":17,"altGr":93,"shiftAltGr":-1},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":121,"shift":89,"finger":4,"id":19},{"primary":-1,"shift":-1,"finger":4,"id":20,"altGr":-1,"shiftAltGr":-1},{"primary":63,"shift":-1,"finger":7,"id":21,"altGr":-1,"shiftAltGr":-1},{"primary":99,"shift":67,"finger":7,"id":22,"altGr":-1,"shiftAltGr":-1},{"primary":114,"shift":82,"finger":8,"id":23,"altGr":-1,"shiftAltGr":-1},{"primary":108,"shift":76,"finger":9,"id":24,"altGr":-1,"shiftAltGr":-1},{"primary":103,"shift":71,"finger":10,"id":25,"altGr":-1,"shiftAltGr":-1},{"primary":106,"shift":74,"finger":10,"id":26,"altGr":-1,"shiftAltGr":-1},{"primary":122,"shift":90,"finger":10,"id":27,"altGr":-1,"shiftAltGr":-1},{"primary":20,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":111,"shift":79,"finger":2,"id":30},{"primary":101,"shift":69,"finger":3,"id":31},{"primary":105,"shift":73,"finger":4,"id":32,"altGr":-1,"shiftAltGr":-1},{"primary":117,"shift":85,"finger":4,"id":33,"altGr":-1,"shiftAltGr":-1},{"primary":-1,"shift":-1,"finger":7,"id":34,"altGr":-1,"shiftAltGr":-1},{"primary":100,"shift":68,"finger":7,"id":35,"altGr":-1,"shiftAltGr":-1},{"primary":104,"shift":72,"finger":7,"id":36,"altGr":-1,"shiftAltGr":-1},{"primary":116,"shift":84,"finger":8,"id":37,"altGr":-1,"shiftAltGr":-1},{"primary":110,"shift":78,"finger":9,"id":38,"altGr":-1,"shiftAltGr":-1},{"primary":115,"shift":83,"finger":10,"id":39,"altGr":-1,"shiftAltGr":-1},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":120,"shift":88,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":113,"shift":81,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":102,"shift":70,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":107,"shift":75,"finger":4,"id":45},{"primary":92,"shift":123,"finger":4,"id":46,"altGr":-1,"shiftAltGr":-1},{"primary":47,"shift":125,"finger":7,"id":47,"altGr":-1,"shiftAltGr":-1},{"primary":98,"shift":66,"finger":7,"id":48,"altGr":-1,"shiftAltGr":-1},{"primary":109,"shift":77,"finger":7,"id":49,"altGr":-1,"shiftAltGr":-1},{"primary":119,"shift":87,"finger":8,"id":50,"altGr":956,"shiftAltGr":-1},{"primary":118,"shift":86,"finger":9,"id":51,"altGr":-1,"shiftAltGr":-1},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":59,"finger":1,"id":54,"shift":58,"altGr":124,"shiftAltGr":166},{"primary":18,"finger":5,"id":55},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}
Here's a code for a simplified ISO version:
Code: [Select]
{"label":"WideDV ISO (Simplified)","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":36,"8":37,"9":38,"10":39,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0,"altGr":172,"shiftAltGr":-1},{"primary":49,"shift":33,"finger":1,"id":1,"altGr":-1,"shiftAltGr":-1},{"primary":50,"shift":64,"finger":2,"id":2,"altGr":-1,"shiftAltGr":-1},{"primary":51,"shift":35,"finger":3,"id":3,"altGr":163,"shiftAltGr":-1},{"primary":52,"shift":36,"finger":4,"id":4,"altGr":8364,"shiftAltGr":-1},{"primary":53,"shift":37,"finger":4,"id":5,"altGr":-1,"shiftAltGr":-1},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7,"altGr":-1,"shiftAltGr":-1},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":7,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":8,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":45,"shift":95,"finger":9,"id":11,"altGr":-1,"shiftAltGr":-1},{"primary":61,"shift":43,"finger":10,"id":12,"altGr":-1,"shiftAltGr":-1},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":39,"shift":34,"finger":1,"id":15,"altGr":-1,"shiftAltGr":-1},{"primary":44,"shift":60,"finger":2,"id":16,"altGr":91,"shiftAltGr":-1},{"primary":46,"shift":62,"finger":3,"id":17,"altGr":93,"shiftAltGr":-1},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":121,"shift":89,"finger":4,"id":19},{"primary":92,"shift":124,"finger":4,"id":20,"altGr":-1,"shiftAltGr":-1},{"primary":47,"shift":63,"finger":7,"id":21,"altGr":-1,"shiftAltGr":-1},{"primary":99,"shift":67,"finger":7,"id":22,"altGr":-1,"shiftAltGr":-1},{"primary":114,"shift":82,"finger":8,"id":23,"altGr":-1,"shiftAltGr":-1},{"primary":108,"shift":76,"finger":9,"id":24,"altGr":-1,"shiftAltGr":-1},{"primary":103,"shift":71,"finger":10,"id":25,"altGr":-1,"shiftAltGr":-1},{"primary":106,"shift":74,"finger":10,"id":26,"altGr":-1,"shiftAltGr":-1},{"primary":122,"shift":90,"finger":10,"id":27,"altGr":-1,"shiftAltGr":-1},{"primary":20,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":111,"shift":79,"finger":2,"id":30},{"primary":101,"shift":69,"finger":3,"id":31},{"primary":105,"shift":73,"finger":4,"id":32,"altGr":-1,"shiftAltGr":-1},{"primary":117,"shift":85,"finger":4,"id":33,"altGr":-1,"shiftAltGr":-1},{"primary":-1,"shift":-1,"finger":7,"id":34,"altGr":-1,"shiftAltGr":-1},{"primary":100,"shift":68,"finger":7,"id":35,"altGr":-1,"shiftAltGr":-1},{"primary":104,"shift":72,"finger":7,"id":36,"altGr":-1,"shiftAltGr":-1},{"primary":116,"shift":84,"finger":8,"id":37,"altGr":-1,"shiftAltGr":-1},{"primary":110,"shift":78,"finger":9,"id":38,"altGr":-1,"shiftAltGr":-1},{"primary":115,"shift":83,"finger":10,"id":39,"altGr":-1,"shiftAltGr":-1},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41,"shift":-1,"altGr":-1,"shiftAltGr":-1},{"primary":120,"shift":88,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":113,"shift":81,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":102,"shift":70,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":107,"shift":75,"finger":4,"id":45},{"primary":91,"shift":123,"finger":4,"id":46,"altGr":-1,"shiftAltGr":-1},{"primary":93,"shift":125,"finger":7,"id":47,"altGr":-1,"shiftAltGr":-1},{"primary":98,"shift":66,"finger":7,"id":48,"altGr":-1,"shiftAltGr":-1},{"primary":109,"shift":77,"finger":7,"id":49,"altGr":-1,"shiftAltGr":-1},{"primary":119,"shift":87,"finger":8,"id":50,"altGr":956,"shiftAltGr":-1},{"primary":118,"shift":86,"finger":9,"id":51,"altGr":-1,"shiftAltGr":-1},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":59,"finger":1,"id":54,"shift":58,"altGr":-1,"shiftAltGr":-1},{"primary":18,"finger":5,"id":55},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}
If you think the fingering looks off compared to default, don't worry, I tested them all with the same fingering, which is much more symmetrical and is how you would actually hit the keys. Here's Colemak:
Code: [Select]
{"label":"Colemak","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":35,"8":36,"9":37,"10":38,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0},{"primary":49,"shift":33,"finger":1,"id":1},{"primary":50,"shift":64,"finger":2,"id":2},{"primary":51,"shift":35,"finger":3,"id":3},{"primary":52,"shift":36,"finger":4,"id":4},{"primary":53,"shift":37,"finger":4,"id":5},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7,"altGr":-1,"shiftAltGr":-1},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":8,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":9,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":45,"shift":95,"finger":10,"id":11},{"primary":61,"shift":43,"finger":10,"id":12},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":113,"shift":81,"finger":1,"id":15},{"primary":119,"shift":87,"finger":2,"id":16},{"primary":102,"shift":70,"finger":3,"id":17},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":103,"shift":71,"finger":4,"id":19},{"primary":106,"shift":74,"finger":7,"id":20},{"primary":108,"shift":76,"finger":7,"id":21},{"primary":117,"shift":85,"finger":8,"id":22},{"primary":121,"shift":89,"finger":9,"id":23},{"primary":59,"shift":58,"finger":10,"id":24},{"primary":91,"shift":123,"finger":10,"id":25},{"primary":93,"shift":125,"finger":10,"id":26},{"primary":92,"shift":124,"finger":10,"id":27},{"primary":8,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":114,"shift":82,"finger":2,"id":30},{"primary":115,"shift":83,"finger":3,"id":31},{"primary":116,"shift":84,"finger":4,"id":32},{"primary":100,"shift":68,"finger":4,"id":33},{"primary":104,"shift":72,"finger":7,"id":34},{"primary":110,"shift":78,"finger":7,"id":35},{"primary":101,"shift":69,"finger":8,"id":36},{"primary":105,"shift":73,"finger":9,"id":37},{"primary":111,"shift":79,"finger":10,"id":38},{"primary":39,"shift":34,"finger":10,"id":39},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41},{"primary":122,"shift":90,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":120,"shift":88,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":99,"shift":67,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":118,"shift":86,"finger":4,"id":45},{"primary":98,"shift":66,"finger":4,"id":46},{"primary":107,"shift":75,"finger":7,"id":47},{"primary":109,"shift":77,"finger":7,"id":48},{"primary":44,"shift":60,"finger":8,"id":49},{"primary":46,"shift":62,"finger":9,"id":50},{"primary":47,"shift":63,"finger":10,"id":51},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":-91,"finger":5,"id":54},{"primary":18,"finger":5,"id":55},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}
... and Dvorak:
Code: [Select]
{"label":"Simplified Dvorak","fingerStart":{"1":29,"2":30,"3":31,"4":32,"5":56,"6":56,"7":35,"8":36,"9":37,"10":38,"11":56,"false":-1},"keyboardType":"standard","keys":[{"primary":96,"shift":126,"finger":1,"id":0},{"primary":49,"shift":33,"finger":1,"id":1},{"primary":50,"shift":64,"finger":2,"id":2},{"primary":51,"shift":35,"finger":3,"id":3},{"primary":52,"shift":36,"finger":4,"id":4},{"primary":53,"shift":37,"finger":4,"id":5},{"primary":54,"shift":94,"finger":4,"id":6,"altGr":-1,"shiftAltGr":-1},{"primary":55,"shift":38,"finger":7,"id":7},{"primary":56,"shift":42,"finger":7,"id":8,"altGr":-1,"shiftAltGr":-1},{"primary":57,"shift":40,"finger":8,"id":9,"altGr":-1,"shiftAltGr":-1},{"primary":48,"shift":41,"finger":9,"id":10,"altGr":-1,"shiftAltGr":-1},{"primary":91,"shift":123,"finger":10,"id":11},{"primary":93,"shift":125,"finger":10,"id":12},{"primary":8,"finger":10,"id":13},{"primary":9,"finger":1,"id":14},{"primary":39,"shift":34,"finger":1,"id":15},{"primary":44,"shift":60,"finger":2,"id":16},{"primary":46,"shift":62,"finger":3,"id":17},{"primary":112,"shift":80,"finger":4,"id":18},{"primary":121,"shift":89,"finger":4,"id":19},{"primary":102,"shift":70,"finger":7,"id":20},{"primary":103,"shift":71,"finger":7,"id":21},{"primary":99,"shift":67,"finger":8,"id":22},{"primary":114,"shift":82,"finger":9,"id":23},{"primary":108,"shift":76,"finger":10,"id":24},{"primary":47,"shift":63,"finger":10,"id":25},{"primary":61,"shift":43,"finger":10,"id":26},{"primary":92,"shift":124,"finger":10,"id":27},{"primary":20,"finger":1,"id":28},{"primary":97,"shift":65,"finger":1,"id":29},{"primary":111,"shift":79,"finger":2,"id":30},{"primary":101,"shift":69,"finger":3,"id":31},{"primary":117,"shift":85,"finger":4,"id":32},{"primary":105,"shift":73,"finger":4,"id":33},{"primary":100,"shift":68,"finger":7,"id":34},{"primary":104,"shift":72,"finger":7,"id":35},{"primary":116,"shift":84,"finger":8,"id":36},{"primary":110,"shift":78,"finger":9,"id":37},{"primary":115,"shift":83,"finger":10,"id":38},{"primary":45,"shift":95,"finger":10,"id":39},{"primary":13,"finger":10,"id":40},{"primary":16,"finger":1,"id":41},{"primary":59,"shift":58,"finger":2,"id":42,"altGr":-1,"shiftAltGr":-1},{"primary":113,"shift":81,"finger":3,"id":43,"altGr":-1,"shiftAltGr":-1},{"primary":106,"shift":74,"finger":4,"id":44,"altGr":-1,"shiftAltGr":-1},{"primary":107,"shift":75,"finger":4,"id":45},{"primary":120,"shift":88,"finger":4,"id":46},{"primary":98,"shift":66,"finger":7,"id":47},{"primary":109,"shift":77,"finger":7,"id":48},{"primary":119,"shift":87,"finger":8,"id":49},{"primary":118,"shift":86,"finger":9,"id":50},{"primary":122,"shift":90,"finger":10,"id":51},{"primary":-16,"finger":10,"id":52},{"primary":17,"finger":5,"id":53},{"primary":-91,"finger":5,"id":54},{"primary":18,"finger":5,"id":55},{"primary":32,"finger":5,"id":56},{"primary":-18,"finger":6,"id":57},{"primary":-91,"finger":6,"id":58},{"primary":-93,"finger":6,"id":59},{"primary":17,"finger":6,"id":60}]}
QWERTY..
Hah, what would be the point. It's an insult to compare QWERTY to Dvorak, Colemak, or any well planned variant (here's a hint, it loses comically).

On to the results. Here I'm using a crazy sample size - irc logs, code (c++, java, autoit thrown in for good measure), news articles, documents I've written, an entire novel, even a long Wikipedia article; all combined. I'm sure this system won't provide perfect answers, but the stats can be pretty:










I assume the ISO one scores a tiny bit lower because of the way I've shoe-horned it in to something without an ISO layout, but that's fine.
Also, maybe I need a better name for the layout and its variants.. Who knows.
A note on the narrow one: it is basically just so you can see the advantage of moving the home position, but maybe someone likes it even more. It's possible, as it brings - closer again, and tosses z back in its old position.
« Last Edit: Wed, 16 May 2012, 06:42:34 by Piro »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #11 on: Tue, 15 May 2012, 18:33:24 »

The only thing I see with this layout that might be changed is to put the {} keys next to each other and drop the ? key down, that way it's more symmetrical to the eye and fingers. That's what I'd do, even if there were some small penalty. I prefer the cognitive aspect of matching braces.

I also notice that +_ are placed in their QWERTY positions: Any reason for this? I agree with the letter placement: Makes a lot of sense, but I just think that were I to adopt this, I'd rearrange the symbols differently.

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #12 on: Wed, 16 May 2012, 03:03:39 »
Square braces [] are also on altgr+,. as a leftover from the ISO version, but in the interests of fairness, I've removed them from the following tests.

Here's some musing on the finer details of the ANSI adaptation, maybe some of this will hit home with you. Here are two with altered punctuation:




(The logic behind switching - = here is because - used to be very close on Dvorak, it's common in writing, and it's on the better position of the two by far).

As for these changes - they alter the characteristics of the layout very little; nothing terrible.

I've been having a little play with Z and J which can't be given a great home, but maybe one catches your eye:




But bear in mind the changes don't necessarily make the overall feel better, based on two very different samples:


Novel.


Code/chat.

Of course I don't want a million variants, but this may help decide the final ANSI design. Let me know what you think.

As a fun sanity check, to make sure I'm doing something right, I widened Colemak and Dvorak with very few changes, to take the inherent pinky travel benefit out of the equation.
Using the code/chat sample, I got 54.35 for Colemak and 53.9 for Dvorak, so I can see my changes to Dvorak have more than likely improved the layout.
« Last Edit: Wed, 16 May 2012, 04:32:22 by Piro »

Offline Tony

  • Posts: 1189
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #13 on: Wed, 16 May 2012, 05:09:47 »
Thanks to patojk excellent website, anyone could be keyboard layout designer.

Ideally, for every large text we have different keyboard layouts to type it most efficiently.

Qwerty is not efficient at all compared to Dvorak/Colemak but it is widely used and become a de facto standard right now.

Colemak layout was designed with that in mind, trying to change as less keys from Qwerty as possible while keeping the frequent hot keys, short finger travel distance, the alternate hand movement, and good typing combinations.
« Last Edit: Wed, 16 May 2012, 05:11:55 by Tony »
Keyboard: Filco MJ1 104 brown, Filco MJ2 87 brown, Compaq MX11800, Noppoo Choc Brown/Blue/Red, IBM Model M 1996, CMStorm Quickfire Rapid Black
Layout: Colemak experience, speed of 67wpm

Offline pyro

  • Posts: 177
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #14 on: Wed, 16 May 2012, 05:10:46 »
Why not RCLG?

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #15 on: Wed, 16 May 2012, 05:23:48 »
Quote from: pyro;593873
Why not RCLG?

1) Hurdles (jumping from the top to the bottom or bottom to top rows for a letter pair), mainly. Using one resource just to give a rough idea of what I mean, here are the number of words with pairs with my positioning:
bc - 130
cb - 4
mc - 46
cm - 10
Total - 190 words
Here are the results with R there instead:
br - 2541
rb - 1482
mr - 55
rm - 2624
Total - 6702 words
35 times more:- that adds up to a ton of extra distance on the index finger, and having to do that is so slow. A traditional design feature of Dvorak is the very low incidence of these one finger awkward movements, one I definitely wish to preserve.

2) 'rd' (2553 words vs 30 for 'cd') and 'dr' (2039 words vs 118 for 'dc') would be one finger or possibly two finger with hand repositioning.

3) r is more common than c, so the middle finger gets put to better use. Moving more load to the middle fingers was definitely a design consideration, and looking at the analysis: (presses | distance) that seems to be successful.

All that, I think, makes 'ch' on one finger a perfectly good solution. It's also a smooth movement with your finger finishing curled, so it doesn't feel bad.
Of course, you also compromise 'wr' this way, but the middle finger can do this easily. 'lv' is now the hurdle on the ring, and the 'rv' hurdle is gone. This is an improvement; 'lv' is less common than 'rv'.

Quote from: Tony;593872
Thanks to patojk excellent website, anyone could be keyboard layout designer.

Ideally, for every large text we have different keyboard layouts to type it most efficiently.

Qwerty is not efficient at all compared to Dvorak/Colemak but it is widely used and become a de facto standard right now.

Colemak layout was designed with that in mind, trying to change as less keys from Qwerty as possible while keeping the frequent hot keys, short finger travel distance, the alternate hand movement, and good typing combinations.

This isn't about Dvorak vs Colemak - I didn't say anything bad about Colemak. Anything that is a vast improvement over QWERTY and gets people off QWERTY is great! But I have been typing Dvorak for years longer than Colemak existed, so Dvorak is my starting point, that's all, just a different perspective. Also, something being a common standard isn't really what this whole community is about, surely! Everyone has a preference, with key switches, and so on, so layout is also fair game.
That keyboard layout designer, is a tool to visualise changes. That's all.. You need to think about movements and pairing far more than it can do for you.
It's not all theory, either. I've been typing on the altered designs as I made them and never going back, to check for anything nasty.
« Last Edit: Fri, 18 May 2012, 03:11:45 by Piro »

Offline Piro

  • Thread Starter
  • Posts: 33
WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #16 on: Fri, 18 May 2012, 16:55:10 »
Quote from: dorkvader;592948
About the number row: you can reach the numbers on a Kinesis, so shuffling them around is an idea still with a lot of merit.


I've done a little analysis on splitting the number row, or centering them, and the results aren't that compelling. It might be a totally different story on a linear keyboard like the Kinesis.
Although the initial movements take a little getting used to, moving your index and middle straight upwards to 90 for () turns out to be fairly satisfying.

Offline Piro

  • Thread Starter
  • Posts: 33
Re: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #17 on: Thu, 06 September 2012, 03:15:03 »
This needs moving back to the ergonomic forum, but..



WASD 105-key, browns, thinnest o-rings.
« Last Edit: Thu, 06 September 2012, 03:44:52 by Piro »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #18 on: Thu, 06 September 2012, 09:24:57 »
That's awesome! I never thought I'd see a wideDV layout get made, but here one is!

I got my WASD engraved, because they didn't offer etching at the time. Maybe I should update it with some new keycaps: Yours looks great!

Offline Piro

  • Thread Starter
  • Posts: 33
Re: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #19 on: Fri, 07 September 2012, 06:05:08 »
Thanks! Obviously it could be adapted to your needs. I put all the keybinds on just for the hell of it.

I made the template in CorelDRAW as recommended by WASD - if you do get a keycap set that is wider than normal, remember that the position of the key with the bump on it won't change - in my case I sent them the layout with H and D swapped - then simply swapped them when I received it so the home position was correct.

Picture was hastily taken, so it's not of the best quality, I'll replace it at some point.
« Last Edit: Fri, 07 September 2012, 06:07:48 by Piro »

Offline Piro

  • Thread Starter
  • Posts: 33
Re: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #20 on: Fri, 14 September 2012, 04:48:01 »
I've included the templates and install files at the top of the first post if anyone wants to play with them.

Offline Piro

  • Thread Starter
  • Posts: 33
Re: WideDV - a Dvorak based layout with many improvements (ISO & ANSI)
« Reply #21 on: Sun, 09 December 2012, 12:37:53 »
Someone downloaded my template recently, which brought this thread back to the front of my mind.
Although I've had it a while, here's the keyboard I had made:



That said, I have some minor thoughts about symbols that need adding, but the core idea is still working well for me.