Has anyone seen someone use a great algorithm for layout selection that actually accounts for the more complete range of user typing?

For example, everyone makes typos and corrects them with a backspace or mod+backspace for the whole word, but this is never accounted for, so a very frequent Backspace key is very far away. Using a post-typo text corpus ignores this reality

Or allowing home row mods in a layout, what would be the algorithmic maximum across all the typing metrics?

Or allowing numbers to be in play as well, maybe hiding then behind a modifier, but in the home row or aligned in a numpad-like way on under your right hand

Or would it be better to type capitalized letters with a one-tap Shift or with a home row mod Shift? Or maybe a quick double tap on the same letter is more efficient?

Given the complexity of switching to a new layout, there is no great reason to keep all the non-alpha mistakes of the old qwerty design, the algorithms should run free from those limitations to get us to the future perfection

re: backspace etc. i've recently used dvorak+karabiner+goku on a mac to make homerow mod keys, based on gabriel-gardner's template. others have used QMK keyboards, or kmonad etc. on linux and windows

Sure, all good ideas in the meantime (and you could use right-thumb cmd/alt modifier or holdSpace as a vim-like cursor mod with the home keys as cursor and with H as backspace and G and delete and I as Enter to free your pinky (qwerty-layout))

But then dvorak is obviously not the best layout for this since it wasn't designed with all of that in mind. And neither were the home row mods themselves, for example, maybe only Shift is useful in the home row, and the others aren't used frequently enough (or maybe it's better to have numpad-mod key on the home row instead of the Windows key).

So I guess the focus of the layout collaboration effort could be on improving the algo/data, but instead we get a bunch of new layouts that only tackle a small(er)(and different) part of the problem without much of an improvement over he previous solutions (and, more importantly, with no good way to compare them). That would only leave you with the black magic of tweaking algo weights in the end :-)

P.S. There is also https://github.com/jtroo/kanata alternative to kmonad And re. homerow mod keys, it seems that there is an even better approach not relying on timings (which I think are impossible to resolve with full accuracy, though with per-key timings you can get pretty close), but that's not implementable within Karabiner, so someone had a homebrew Swift solution I haven't tried