patorjk / keyboard-layout-analyzer

MIT License
45 stars 16 forks source link

AltGr boosting scores dramatically? #10

Open iandoug opened 7 years ago

iandoug commented 7 years ago

Hi Patrick

A question about AltGr. See http://patorjk.com/keyboard-layout-analyzer/#/load/dxSJmR0v

The only difference between the two QWERTY layouts is that I moved the "e" from its normal position to the AltGr slot on the same key, and put the right thumb on AltGr.

That kicked the score up 6 points.

Is that how your scoring algorithm is supposed to work?

Thanks, Ian

NSUSpray commented 2 years ago

peeped, feel, sleepy, seemed, feet, seen, deep, been, fifteen, indeed, bleeds, disagree, tofee, creep…

Consecutive Finger Use – How often the same finger is used to type a key as was used to type the previous key.

Untitled - 5

Consecutive Hand and Thumb Use – How often the same hand was used to type a key as was used to type the previous key (thumbs are grouped as a separate entity).

Untitled - 8

;)

NSUSpray commented 2 years ago

If the time/effort of pressing the same key is considered equal to one, then we can make a tables:

QWERTY

time left hand right hand same finger effort timer effort characters keystrokes
0.0 e 0 0.0 1 1
1.0 e 1 1.0 1 1
total: 1 1.0 2 2

specific “same finger” effort: 1 / 2 = 0.5 repeats per character (double e)

specific “timer” effort: 1.0 / 2 = 0.5 times per character

QWERTY altgr e

time left hand right hand same finger effort timer effort characters keystrokes
0.0 Alt Gr 0 0.0 0 1
0.1 e 0 0.1 1 1
1.0 Alt Gr 0 0.9 0 1
1.1 e 0 0.1 1 1
total: 0 1.1 2 4

specific “same finger” effort: 0 / 2 = 0 repeats per character (less than QWERTY)

specific “timer” effort: 1.1 / 2 = 0.55 times per character (more than QWERTY)

Or with holding the Alt Gr:

time left hand right hand same finger effort timer effort characters keystrokes
0.0 Alt Gr 0 0.0 0 1
0.1 e 0 0.1 1 1
1.1 e 1 1.0 1 1
total: 1 1.1 2 3

specific “same finger” effort: 1 / 2 = 0.5 (double e, equal to QWERTY)

specific “timer” effort: 1.1 / 2 = 0.55 times per character (more than QWERTY)

Conclusion

The “timer” effort model is better than the “same finger” effort model. But, as I understand it, the analyzer uses the “same finger” effort model for accounting of hand alterations. Or the weight of alternations is much greater than the weight of keystrokes.

iandoug commented 2 years ago

Patrick's code counted the letter presses, and the AltGr presses, but since the thumb was on AltGr, it moved zero distance and thus the total effort required to press 2 keys for one letter was not fairly recorded.

We fixed this by adding a vertical distance to all key presses (4 mm down, 4 mm up). This was multiplied by different weightings for each finger and hand.

Cheers, Ian

NSUSpray commented 2 years ago

But isn’t the cost of keystrokes already factored into the “finger usage” factor? The same action is calculated twice: as a keystroke and as a move down/up, right?

iandoug commented 2 years ago

Yes.... so I changed the calculation. Den had different weightings for "finger use" and "distance".

I wrote about the issues :

https://www.keyboard-design.com/#All%20versions%20of%20KLA%20are%20measuring%20wrong

https://www.keyboard-design.com/#Another%20problem%20affecting%20KLA%20scoring

And also the discussion here: https://ieants.cc/smf/index.php?topic=257.0

Hope that helps :-)

Cheers, Ian

NSUSpray commented 2 years ago

Interesting. I’ll definitely check out your version.

iandoug commented 2 years ago

I have been busy with other things so I have not gotten around to putting "QWERTY normalised" scoring into KLA, instead I do it as part of the off-line process for compiling the "best" layouts lists, using both KLA scores plus a separate SFB-type evaluaition, which all get QWERTY-normalised since I have the QWERTY scores for the different form factors.

https://www.keyboard-design.com/best-layouts.html

I also find it much easier to work in PHP than JavaScript.

NSUSpray commented 2 years ago

I have not gotten around to putting "QWERTY normalised" scoring into KLA, instead I do it as part of the off-line process for compiling the "best" layouts lists, using both KLA scores plus a separate SFB-type evaluaition, which all get QWERTY-normalised since I have the QWERTY scores for the different form factors. https://www.keyboard-design.com/best-layouts.html

Oh, you probably mean my fork, where I added the ability to compare with a reference. I settled on the idea that the similarity of layouts takes place in the context of letter frequency and text corpus. For example, swapping a space from the bottom row to the top row will have a much greater impact than swapping the dollar sign to the other hand, because the space is used extremely often, and the dollar sign may not be present at all in a group of texts. Therefore, it would be reasonable to allow the researcher to influence the calculation of similarity.

Yes, I've already visited your site. Great job. You have, perhaps, the most complete database of layouts on the Internet. The abundance of statistics is also inspiring.