• You are not logged in.

Keyboard Effort Grids

  • Started by stevep99
  • 33 Replies:
  • Reputation: 7
  • Registered: 18-Nov-2017
  • Posts: 67

If by exponential you mean log, then that would be consistent with Fitts' Law. I have used Fitts' Law in my keyboard effort grid calculation. But if doing that, I would definitely suggest accounting for sideways and vertical movements separately, because small vertical movements are simple finger curling motions but sideways movements require whole hand.

I took another look at your page, and then at Wiki for Fitts. I had looked at him before quite a while back, but Den was doing the fiddling with the scoring so I didn't look too deeply.

Log2 is curious ... (my guides in my Giza investigations had me looking for log2 based things there ... didn't find much yet).
It kinda implies the opposite of the "squares" relationship mentioned above.

Regarding horizontal movement ... I always had a problem with Den's penalties on that. I could make a case for the index being able to move 1u sideways, and similarly for the pinky, without the hand having to move. More than that (eg QWERTY J to Y) is a problem.

At the same time, while it is easier to curt a finger, ANSI angle means you can NOT (well, I can't) just curl your index and easily  be in or close to the centre of the key below. Middle fingers are worse.

So I think the DIRECTION of finger movement is also a factor. Or consider the attached... how do you type on bottom row without moving everything off Home?

Maybe we need another metric: "hitting this key requires the average person to move their hand x cm, and the penalty for that is ..."

Cheers, Ian

Last edited by iandoug (16-Apr-2021 15:59:14)
Attachments:
Offline
  • 0
  • Reputation: 7
  • Registered: 18-Nov-2017
  • Posts: 67

Did a comparison between the scoring on various versions of KLA: Patrick's, Steve's, Den 1, KLATest, and the version I've been working on, which is KLATest with changes. Called KLANext for now.

1. Left hand 1.1 times right hand, not 1.54.
2. Revised finger weightings as posted previously. I set both "finger use" and "distance" to the same values above.
3. Added a bit of Fitts ... distance calc is still centre-to-centre, but "width" parameter (ie top of keycap) is set at keycap width - 7 mm, so 12 mm for normal 1u key. I'm pondering how to move "target spot" for the wide keys, and then get "width" that is sane and not off the key.

Anyway, spreadsheet attached with results. Input text was 1 MB Chained English Bigrams, the layouts were manually loaded on each version to ensure all the same.
.csv file is standard comma-separated.

The S2 and Nirvana layouts are mine. S2 was done long ago, probably on Den 1, it was intended to compete with the classics by just rearranging the keys, no shift-swaps, AltGr, etc. Nirvana was developed on KLATest. I tried revised versions for the new scoring model, hence 2 of each.

Executive summary:

Patrick        
Rank  Layout                       Score 
#1    hieamtsrn.en.ansi            68.28
#2    mtgap.en.ansi                67.87
#3    nirvana-opt2.en.ansi         67.84
#4    nirvana-opt.en.ansi          67.79
#5    s2-2.en.ansi                 67.56
#6    s2.en.ansi                   66.71
#7    vukeys.en.ansi               66.59
#8    colemak-mod-dh-full.en.ansi  65.1
#9    colemak.en.ansi              64.89
#10   dvorak.en.ansi               64.25
#11   qwerty.en.ansi               49.17
        
Steve        
Rank  Layout                       Score 
#1    colemak-mod-dh-full.en.ansi  67.12
#2    mtgap.en.ansi                66.97
#3    hieamtsrn.en.ansi            66.92
#4    nirvana-opt2.en.ansi         66.03
#5    s2-2.en.ansi                 65.51
#6    colemak.en.ansi              65.37
#7    s2.en.ansi                   64.96
#8    nirvana-opt.en.ansi          64.44
#9    vukeys.en.ansi               64.14
#10   dvorak.en.ansi               61.13
#11   qwerty.en.ansi               39.89
        
Den1         
Rank  Layout                      Score
#1    s2.en.ansi                  118.88
#2    nirvana-opt2.en.ansi        119.6
#3    s2-2.en.ansi                120.07
#4    vukeys.en.ansi              120.61
#5    hieamtsrn.en.ansi           121.49
#6    nirvana-opt.en.ansi         123.65
#7    mtgap.en.ansi               124.47
#8    colemak-mod-dh-full.en.ansi 126.07
#9    colemak.en.ansi             127.24
#10   dvorak.en.ansi              129.93
#11   qwerty.en.ansi              167.23
        
KLATest        
Rank  Layout                       Score
#1    nirvana-opt.en.ansi          80.82
#2    nirvana-opt2.en.ansi         84.48
#3    s2-2.en.ansi                 86.99
#4    s2.en.ansi                   87.08
#5    hieamtsrn.en.ansi            89.78
#6    colemak.en.ansi              91.41
#7    mtgap.en.ansi                93.04
#8    vukeys.en.ansi               95.56
#9    dvorak.en.ansi               97.21
#10   colemak-mod-dh-full.en.ansi  99.14
#11   qwerty.en.ansi              126.19
        
        
KLANext        
Rank  Layout                      Score
#1    s2.en.ansi                  143.95
#2    nirvana-opt2.en.ansi        145.26
#3    s2-2.en.ansi                145.3
#4    nirvana-opt.en.ansi         147.13
#5    hieamtsrn.en.ansi           147.38
#6    colemak.en.ansi             149.57
#7    mtgap.en.ansi               149.74
#8    colemak-mod-dh-full.en.ansi 150.66
#9    vukeys.en.ansi              151.67
#10   dvorak.en.ansi              159.38
#11   qwerty.en.ansi              214.22

Not sure what to deduce from all that ... QWERTY sucks, I guess ;-)

Comments welcome.

Cheers, Ian

Last edited by iandoug (18-Apr-2021 19:19:00)
Attachments:
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I think what we can deduce from that is that people's own layouts tend to score very well on their own analyzers :-P

...and also that Qwerty sucks.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 7
  • Registered: 18-Nov-2017
  • Posts: 67
stevep99 said:

I think what we can deduce from that is that people's own layouts tend to score very well on their own analyzers :-P

...and also that Qwerty sucks.

FWIW, my 2 layouts pre-date the analyzer tweaks :-)

I found it weird that S2 did well, hence the comparative exercise. (since it was developed on Den1 == Patrick with bugfixes, scoring very different to current model.)

I've tweaked the evaluation a few times, some of which were bug fixes due to misreading how Fitts measured distance.

My Ergo layouts do not do so well with this scoring.

I will need to reread the evaluation and scoring programs again to see if it is all still coherent and sane. And probably tweak Fitts again to bring Actual Target off the centre of the keys, especially the non 1U keys.

cheers, Ian

Offline
  • 0
  • Reputation: 7
  • Registered: 18-Nov-2017
  • Posts: 67
stevep99 said:

I think what we can deduce from that is that people's own layouts tend to score very well on their own analyzers :-P

...and also that Qwerty sucks.

I went back to the drawing board ... and eventually got a new winner (ANSI) on local version. It's strong point is low same-finger.

It also does okay on your version ... (input was 20k chained English bigrams).

Also beats other layouts in test above on Patrick. Does not do so well on Den1 and KLATest, but KLATest scoring at least is a bit offf...)

Last edited by iandoug (19-Apr-2021 20:32:48)
Attachments:
Offline
  • 0
  • Reputation: 1
  • Registered: 20-Mar-2021
  • Posts: 10

The geometry of these column-staggered keyboard can be used to inform where the relaxed home-key finger positions naturally lie. This treatment is based on the geometry of the Atreus keyboard, although other column-staggered keyboards have similar designs.

I recently wondered, how would the effort grid would look on a column-staggered keyboard like the Atreus, which the effort grid model took as a basis for finger resting positions. Would it be just (base finger effort) * (distance from home key)?

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978
necdetaliozdur said:

I recently wondered, how would the effort grid would look on a column-staggered keyboard like the Atreus, which the effort grid model took as a basis for finger resting positions. Would it be just (base finger effort) * (distance from home key)?

It's a good question in that the penalty due to key distances from their natural resting home positions are effectively cancelled out. Ironically, it should make the D and H positions lose some of their benefit as they are further away than on an traditional board, but the L and P should be better. Despite having an Atreus, I haven't actually generated results for it, I should definitely do that though.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,361

The more I think about it, the less I feel that assigning base difficulties to the keys themselves is relevant. It should be about patterns I feel. Not sure exactly how, but that's my impression these days. The same key can be very easy or very hard depending on what comes before and after it. And how you handle it – for instance, many complain about the Colemak NK bigram but I don't since I automatically alt-finger it and that's extremely comfortable to do for me. And in that instant, the K key isn't handled like it would in another situation thus its "base effort" doesn't make sense anymore.

Last edited by DreymaR (10-Aug-2021 14:47:26)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I agree Base Effort certainly can't be considered to be a full and accurate description on its own. The fact that certain combinations of keys are easier/harder needs to be taken into account as well. I think the thing with base effort, is that it sort of represents an "average difficultly" - that is, assuming the mean position of your hands are around the natural home zone. If you were typing completely random text, I think it might actually be a pretty accurate in that case!  So the follow-up question is, how to further modify base fffort to incorporate some patterns being easier than others. We already do this to some extent - penalizing same-finger bigrams is the most obvious example. You can also reward easy rolls and penalize other awkward patterns. Or, you can go down the patork-style route, of measuring the distance travelled key-to-key, which is quite a nice approach, but also has its own set of challenges.

Using Colemak-DH with Seniply.

Offline
  • 1