Welcome, Guest. Please login or register.
Did you miss your activation email?
2018-Nov-16 13:07

Login with username, password and session length

Recent

Shoutbox

Den:
Oct. 14 2018 - 5:03am
finally leveler cards is possible on card creator
Den:
Oct. 11 2018 - 12:43am
Vogon Full Art are so awesome
oohrah ;D
Den:
Oct. 09 2018 - 2:15am
KARA are Pretty Girls ... yeah yeah
Den:
Oct. 05 2018 - 2:02pm
Friday. get ready for more Last Man Standing  ;D
Den:
Oct. 03 2018 - 9:28pm
new card frames: Vogon HD, allows much more room for texts, incl. name, type, and esp. rules
Den:
Oct. 02 2018 - 7:48am
more card creator changes
Den:
Sep. 28 2018 - 5:08pm
Jim Morrison = Mr. Mojo Risin'
Den:
Sep. 19 2018 - 4:15pm
twit to image works again

Author Topic: Balanced Keyboard Layout  (Read 190728 times)

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1450 on: 2018-Aug-25 22:03 »
top few.
« Last Edit: 2018-Aug-25 22:07 by iandoug »

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1451 on: 2018-Aug-26 15:36 »
Cleaned up my various corpus folders a bit. Discovered bug in analysis program (well I think it's actually a PHP bug not a coding bug, but coded around it anyway ... bottom line is that it was dropping the letter zero from the analysis strings.)

Spreadsheet attached with analysis, sorted by similarity to known character frequency for English.

Two additional texts included. Also cleaned up Blushing Morel and The Crucible a bit.
@Den: have not included the other Academic texts yet ... they need some cleaning up and I've had enough of that for today ;-)
Also my sorting is a bit different to yours.... put the academic/technical stuff with prose, because I didn't know what to do with quotes/lyrics/poems etc, so just lumped all together.

The two new ones score well... I've had Smedley's rant for a while but not used it much, and grabbed Artreides today after being motivated/inspired by the MTG/Ixlan spoilers text. Was surprised at both their scores.



iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1452 on: 2018-Aug-27 16:32 »
For the next round of keyboard tests, I will be using these for English:

the-fable-of-the-keys.txt
quotes.txt
war-is-a-racket.txt
keyboards.txt
constantine.txt
Daode-jing.txt
Paul-Atreides-Wikipedia.txt
magna-carta-english.txt
logical.txt
tlp.txt  (The Little Prince)
blushing-morel.txt
animalfarm.txt
american-states.txt
typing-champ-2.txt
classiccollection.txt
putins-speech.txt
1984-chapter-1.txt
A-Nice-Cup-of-Tea-by-George-Orwell.txt
nightfall.txt
dragonboy.txt
origin.txt


Note: no Alice, or word lists.
Also if something better comes along, will use that ... the current cut-off is a score of 93% or better on weighted similarity to English letter frequency order.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1453 on: 2018-Aug-28 15:18 »
Also if something better comes along, will use that ... the current cut-off is a score of 93% or better on weighted similarity to English letter frequency order.

Found a few things which may or may not be useful. Some books and things are no longer in copyright... numbers are my "similarity" score. Current top score is 97.34%
1. Economic Consequences of Peace. 97.3 ⍽etaoinrshldcufmpy,wgbv0.-1TG (etc)
2. Supply and Demand 96.47 ⍽etoainsrhlcdumfpwygb,.vkTI;x (etc)
3. The Curse of QWERTY 94.67  ⍽etonarsihdlcmuypfgw,bvk.T-E (etc)

Problem is that the first two, while scoring well, are bloody large. 400K and 300K, which takes a while for KLA to process. (3) is 23K which is better.
Attached.

@Den, see spreadsheet. From Jones 2004 analysis, I added totals and calculated percentages and sorted. Other analysis I've seen puts percentage for "e" around 9.xx rather than over 10.
Comments? You got better numbers?
Need to figure out how to assign a value for "space" percentage.

I want to redo my "similarity" calculations using actual frequency of character rather than just its relative position.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1454 on: 2018-Aug-28 15:32 »
http://www.fitaly.com/board/domper3/posts/136.html

puts e at 8.5 and space at 17% ....

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1455 on: 2018-Aug-29 14:59 »

@Den, see spreadsheet. From Jones 2004 analysis, I added totals and calculated percentages and sorted. Other analysis I've seen puts percentage for "e" around 9.xx rather than over 10.
Comments? You got better numbers?
Need to figure out how to assign a value for "space" percentage.

I want to redo my "similarity" calculations using actual frequency of character rather than just its relative position.

Okay sorted. I took the space percentage from the other analysis above (17.xx), then recalculated based on adding that percentage of spaces to the Jones data. Their letter frequencies make sense once you realise they are excluding space.

So that produces attached. Figures are as per PHP similar_text function, 95 - Levenshtein distance, Similarity % (to known frequency) and the actual score achieved.
The Known Frequency score for this exercise is:
 Ideal is 8435.3245409231

Observations:
1. scores are much closer than previous method, mainly because differences between fractions are mostly less than 1, while previous method had stepsize of 1.
2. t and a are only around 0.5 apart, and similarly a o i n are within about a 0.5 range. So that would explain why texts with slight variations in the expected etaoin order produce close scores.

So guess will use fable of the keys for further playing around with English layouts. :-)

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #1456 on: 2018-Aug-31 00:33 »
Consider using CapsLock to access the punctuation layer.
1. US keyboards don't have AltGr key.
2. Will not interfere with AltGr for international kbs.
3. Easy to hit CapsLock on ANSI/ISO kbs.

Support me on Patreon

I saw. I conquered. I came.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1457 on: 2018-Aug-31 01:14 »
1. US keyboards don't have AltGr key.

Actually they do, it's just not defined as such in the keyboard drivers/layouts. But if you load custom layout, then you can define it.

At least on Linux, and I assume on Windows...

Cheers, Ian

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #1458 on: 2018-Aug-31 03:30 »
Consider dominant hand should be able to handle more keys with deftness.

Code: [Select]
        w
 yui   lcd
 e_a  hrtsp
 , .   mgf
    o n

Here right hand has access to 50% more keys. Note W is on the number row middle finger. Note left hand has no keys for pinky nor inside index column. Nevertheless left hand usage is higher than right due to the top 2 most common characters and top 5 of 6 all on the left.

« Last Edit: 2018-Aug-31 23:26 by Den »

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1459 on: 2018-Sep-01 15:31 »
3. Consequence 2: the navigation buttons in the centre also suck. Same issues: in theory ambidextrous, in reality awkward. So I'm contemplating a joystick for the arrow keys. I think a playstation-style will maybe work better than an thumbpoint style, but it must be switches not potentiometers, and struggling to find that (and with decent switch life -- 10k presses ain't gonna cut it.)

Am a bit late to this idea it seems.

https://www.massdrop.com/buy/tex-yoda-ii-mechanical-keyboard-kit

Though in fairness they're apeing IBM's laptops with the trackpoint-is-your-mouse while I'm aiming at joystick-is-your-arrow-keys.

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1460 on: 2018-Sep-03 02:13 »
I have a few questions about KLA:

- How does KLA calculate distance for row changes? More specifically for the keys above and below the index finger's resting position.

- How does KLA calculate word difficulty?

- Does KLA strongly favor the right hand?

- Does KLA glitch out when using a really small input text (say less than 5 characters)?

I'm asking because I tested an input text of (without quotes) "rst" and the results were a bit odd. For example it put MTGAP over Colemak for that one trigram and I know for a fact that "rst" is easier to type with ring-middle-index than it is to type it with pinky-ring-middle.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1461 on: 2018-Sep-03 03:45 »

It would help if you specified which version of KLA you are using :-)

- How does KLA calculate distance for row changes? More specifically for the keys above and below the index finger's resting position.

- How does KLA calculate word difficulty?

- Does KLA strongly favor the right hand?

- Does KLA glitch out when using a really small input text (say less than 5 characters)?

I'm asking because I tested an input text of (without quotes) "rst" and the results were a bit odd. For example it put MTGAP over Colemak for that one trigram and I know for a fact that "rst" is easier to type with ring-middle-index than it is to type it with pinky-ring-middle.

Den will probably have better answers, but:
1. On ANSI/ISO, the stagger is not symmetrical, so the distance (on QWERTY) from J to U is less than the distance from J to M (measured centre to centre). Hence keys on top row favoured over keys on bottom.

2. see Den... :-)

3. Not that I know of. Might vary between versions. But be aware that on ANSI/ISO, right Shift key is further from right pinky than for left hand. So any caps on left hand get extra penalty. Part of the reason why ANSI/ISO form factor sucks.

4. Depending on version... Den's latest versions look at the whole keyboard (AFAIK) not just the input text. Den? So factors other than input text may influence the score.

That said, I am also a bit puzzled by the rankings on both KLA3 and Klatest. On Den1, with input rst, Colemak gets 98 and MTGap gets 127. So possibly you hightlighted a bug in the scoring..? :-)

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1462 on: 2018-Sep-03 04:14 »
It would help if you specified which version of KLA you are using :-)

Sorry, I'm using KLA Test

Also I'm seeing distance differences even on Matrix Boards for JUM positions

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #1463 on: 2018-Sep-03 21:22 »
Quote
Does KLA strongly favor the right hand?

yes. left hand 1.54 times more effort cost.

Quote
How does KLA calculate word difficulty?

combination of longest consecutive karacters on same hand (bad) and most words typed in home block (good).

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1464 on: 2018-Sep-04 01:50 »
yes. left hand 1.54 times more effort cost.

Mmm .... since when?

thanks, Ian

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1465 on: 2018-Sep-04 21:20 »
yes. left hand 1.54 times more effort cost.

So does that penalty also apply to the same hand stat? I just tried comparing MTGAP Thumbshift to a flipped version key-for-key on KLAtest and the scores are radically different (Classics Collection as input text).

sdothum

  • Member
  • **
  • Posts: 41
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1466 on: 2018-Sep-05 02:18 »
yes. left hand 1.54 times more effort cost.

Den, I think you have really opened up a can of worms here! I can understand the desire to weight the hands as has been applied to the fingers, but I don't know whether this would yield a desirable result. My gut feeling (not scientific) is that such an approach would yield rather limited layouts which would feel, well, "unbalanced". As someone familiar with various body work modalities, this could lead to longer term issues for even the strong hand (and have more impact at a macro level over the longer term e.g. there is always an opposite side, effect to the body -- hence, my predilection for a balanced or symmetrical effort model).

That being said, I hope you will consider hosting an alternate balanced hand klatest, for those of us with that leaning. (Is the code for your klatest available on github or the like?)
« Last Edit: 2018-Sep-05 02:27 by sdothum »

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #1467 on: 2018-Sep-06 21:35 »
Use KLA 3 for stable usage without experimental features.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Another input text
« Reply #1468 on: 2018-Sep-07 04:23 »
The Yanks are probably well aware of the anti-Trump rant posted by the New York Times.
https://www.nytimes.com/2018/09/05/opinion/trump-white-house-anonymous-resistance.html

As it happens, it does reasonably well as an input test for English.

1. Currently second best on PHP's "similar_text" function (after the Logical Argument FAQ)
2. Currently third best on Levenshtein distance test, after Economic Consequences of Peace, and Wikipedia Constantine article.
3. Not so good on my "similarity" test, presumably because it only uses 54 of the 95 chars on the keyboard.

Char frequency order is
⍽etiaonsrhdlcumpfwgy.vb,k-T'AIxMWRP"BOSH:KjJD2CG5VFzNU   (complete).

This is the "cleaned up" version, all non-ASCII chars replaced with ASCII equivalents.
At only 5440 bytes long, it is also one of the shorter tests, making for enhanced work flow... :-)

Attached.

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1469 on: 2018-Sep-09 01:52 »
Is there a list anywhere of the differences between versions 1,2,3 of Den KLA?

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1470 on: 2018-Sep-10 16:01 »
Is there a list anywhere of the differences between versions 1,2,3 of Den KLA?

Was waiting for Den to reply. I'm sure I wrote a summary for the first few, but can't find it where I thought it would be ...
So briefly:

1. Patrick / KLA original: measures distance travelled (plus finger usage etc, with particular weighting for each finger).
2. Den 1 (AFAIK): same as above, but includes vertical distance for each keypress, at 4mm down and 4mm up.
2. Den 2: as for Den 1 but changed weightings on fingers, think started punishing pinky use more. This version not used much and superseded by Den 3.
3. Den 3: as for Den 2 but punished inner column usage or in general, horizontal movements of fingers. So ortholinear layouts score much higher. Also includes some word-based metrics.
4. Den 4: as for Den 3 but other changes which are now surfacing... :-), like punishing left hand.

Regret have not looked at the code for a while, it should mostly be in analyze.js

FWIW I'm "trying" to get going on a comprehensive analyzer which will offer the option of picking analysis models/parameters, but this will be stand-alone program not browser-based. Browser/JS leaks too much memory and can't handle large inputs, or multiple inputs, etc. and writing logfiles is becoming problematic due to increased sandboxing. I have the basic idea in my head but want to do it in Ada (because.) which I don't know yet. So big learning curve. :-)
In theory the GUI should work on Linux/Windows/Mac (eventually).
In theory it would allow you to import some layout from KLE and analyze that, rather than relying on the preset form factors in KLA.

I'll probably end up asking for design inputs here (or on Den's new platform).

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1471 on: 2018-Sep-10 16:30 »
Sure as purely phonetics, the two sounds are distinct. However, in English the two are (mostly) interchangeable allophones. Thus, English only needs one new letter for TH. Then other languages can invent their own method (on top of the new letter, most likely) if they really need to differentiate between hard and soft.

So in-between all the other side projects running in my head, I'm busy rethinking the alphabet, wondering whether to re-introduce eth and thorn and eng (eth ðÐ, thorn þÞ, eng ŋŊ) (my initial rant is at https://iandoug.com/?p=235 ).

Reading various things lead to this:

1. Ye (as in Ye Olde Curiousity Shoppe) should be pronounced "the" not jee. The y was actually thorn written badly so it looked like a y, but at some point in the middle ages they started using th instead, and that stuck.

2. today I realised that possibly we went in the other direction as well ... with "thou" for "you". So "you" should actually be pronounced "thou", which ties up nicely with "them" and "their" ... all referring to other people. Not biblical at all.

Which leads to : replace th with y (or thorn) again. Use other letter(s) for y. For example:
1. ugly -> uglee
2. quietly -> quietlee
3. fly -> fli
4. dunno what to do about things like yellow ...--> jellow ? jesterday ?
5. hard g and soft g can be split to use g and z. Most current uses of z are either x or s anyway?

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1472 on: 2018-Sep-12 16:02 »
For the next round of keyboard tests, I will be using these for English:

Yes I know you're probably sick of this by now, but I feel that if we are developing layouts for English, then the input texts should be as close to generalised English as possible.

So I went back to the drawing board a bit, added some new tests, dropped two, then ranked the layouts for each test, and added up their ranks.
sum-of-ranks == Score, and lowest Score wins.

Tests used:

1. my "similarity" test, which is not a generalised "how similar are two strings" test but rather calculates a score based on the letter frequency distribution in English.

2. modified Levenshtein distance, the Damerau-Levenshtein. Code borrowed from https://github.com/Oefenweb/damerau-levenshtein/blob/master/src/DamerauLevenshtein.php
I use 95 - this number, so that higher results are better. 95 be number of characters on ANSI-US.
https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance

3. Jaro-Winkler distance, code borrowed from https://stackoverflow.com/questions/16925150/php-string-comparison-and-similarity-index/38236357#38236357
The "length" is set to 10, which translates to " etaoinsrh". Maybe this needs to be higher.
https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance

4. Sørensen–dice-coefficient, code borrowed from https://www.programmingalgorithms.com/algorithm/s%C3%B8rensen%E2%80%93dice-coefficient
https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient

Spreadsheet with prose scores attached.
I suppose the top 15 or 20 would suffice for real-world testing, although the first two are "heavy".

I see Alice still falls way down the list.

To-Do: something similar for code.


AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1473 on: 2018-Sep-14 02:15 »
Unrelated note, but how exactly do you run the MTGAP program? I'm using a mac and I'm not exactly tech savy (I have gcc installed with homebrew but I can't seem to run "Makefile").

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1474 on: 2018-Sep-14 17:12 »
Yes I know you're probably sick of this by now, but I feel that if we are developing layouts for English, then the input texts should be as close to generalised English as possible.

Was not happy with this, and found out why when I tried whittling the list down to 10 or 15. Did it in stages and noticed the order jumping around too much, so modified program to scale the four test results in range 0 - 1, then took average of each input text, high average wins. Also pushed the "length" in Jaro-Winkler to 28, effectively matching against  " etaoinsrhldcumpfg.ywb-,v0k1" (sans quotes).

Results attached. Putins-resistance is "part of the resistance" text pasted onto bottom of Putin's speech text. The combo is better than each individually.

Now been scratching my head about a corpus for code, and getting nowhere.

Current code tests are various sample tasks in an assortment of languages, borrowed from RosettaCode, as well as Google home page (not real world typing), plus Keyboard Layout Editor single-page app.

I think we should be using samples from the most-used languages. Problem is determining which those are. Our local tech website regulary publishes a pair of lists of "top" languages, but we're all sceptical of those lists because of how they are generated.  Current lists here: https://mybroadband.co.za/news/software/274403-python-climbing-most-popular-programming-languages-list.html  and screengrab attached.

StackOverflow did their own survey, results here: https://insights.stackoverflow.com/survey/2018/  , scroll down to Most Popular Technologies, which gives what is probably a more real-world list.

The part that worries me about these is the absence of things like COBOL and Fortran and possibly even Ada ... and I suspect they are missing because programmers in these languages don't hang out on StackOverflow or need to run Google searches on how to sort an array ... they already know what they're doing.

So I think I will go with the top end of the StackOverflow list, down to "C". Typescript is very similar to Javascript which is first.

Started poking around for samples on GitHub, then the "James Bond" problem reared its head again.

1. pretty comment separators eg /* ------------------------------------------------------------------------------*/
which are going to mess up the character distribution analysis.

2. for example, in CSS, repeated use of various phrases, eg
Code: [Select]
.hvr-pulse-shrink:hover, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:active {
  -webkit-animation-name: hvr-pulse-shrink;
  animation-name: hvr-pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
which introduces a surplus of w, b and k, which are less-common letters normally, as well as "-".

or repeated use of variable or class names, eg
Code: [Select]
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}

or
Code: [Select]
def parse_args():
  parser = argparse.ArgumentParser(description='Run Electron tests')
  parser.add_argument('--use_instrumented_asar',
                      help='Run tests with coverage instructed asar file',
                      action='store_true',
                      required=False)
  parser.add_argument('--rebuild_native_modules',
                      help='Rebuild native modules used by specs',
                      action='store_true',
                      required=False)
  parser.add_argument('--ci',
                      help='Run tests in CI mode',
                      action='store_true',
                      required=False)
  parser.add_argument('-g', '--grep',
                      help='Only run tests matching <pattern>',
                      metavar='pattern',
                      required=False)
  parser.add_argument('-i', '--invert',
                      help='Inverts --grep matches',
                      action='store_true',
                      required=False)
  parser.add_argument('-v', '--verbose',
                      action='store_true',
                      help='Prints the output of the subprocesses')
  parser.add_argument('-c', '--configuration',
                      help='Build configuration to run tests against',
                      default='D',
                      required=False)
return parser.parse_args()

So the various samples chosen are going to skew the character distribution in different directions, the only way around that is to have a large number of source projects and only take small bits from each, and hope that it all balances out in the end.

Am open to better ideas at this point ....

Thanks, Ian


iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1475 on: 2018-Sep-14 17:14 »
Unrelated note, but how exactly do you run the MTGAP program? I'm using a mac and I'm not exactly tech savy (I have gcc installed with homebrew but I can't seem to run "Makefile").

Do you mean from
https://github.com/michaeldickens/Typing

Will have a go and revert.

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1477 on: 2018-Sep-15 11:26 »
So I went back to the drawing board a bit, added some new tests, dropped two, then ranked the layouts for each test, and added up their ranks.
sum-of-ranks == Score, and lowest Score wins.

Went through top 1000 most popular books on Gutenberg, as well as newly-in-public-domain over last few years, looking for interesting material.
After much cleaning up, have settled on these 17. (because, like, obviously because 17 is the most random random number. Everyone knows that. Or because these scored above the 0.55 Average Score cut-off point.)

In general, I stripped top and bottom matter, and replaced non-ANSI-US characters with either plain character or HTML-entity version (eg ë -> e, £ -> &pound; ).
Also set line-ending to Unix, and removed Byte Order Marker from start of file.

List of rejected titles attached, in case someone else wants to try a similar exercise. No sense in reploughing the same field.
So a lot of the files that I was using previously for testing, are now less-desirable due to having bad character frequency compared to English.

Files and analysis attached.

There's a good mix of styles, dates and lengths.

Now to have a go with MTGAP program ... think I had it working before.
« Last Edit: 2018-Sep-15 11:29 by iandoug »

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1478 on: 2018-Sep-15 12:01 »
Unrelated note, but how exactly do you run the MTGAP program? I'm using a mac and I'm not exactly tech savy (I have gcc installed with homebrew but I can't seem to run "Makefile").

what happens when you change to the Typing directory and do
make
?

(FWIW, doing that worked here, though gcc complained a lot during the compile).

Then
./optimizer
runs the program.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
auto-testing
« Reply #1479 on: 2018-Sep-15 14:34 »
I used to use iMacros to bulk-test the layouts with the different inputs.

I see they've gone and gotten into "give us money" mode, and now the browser add-on is severely restricted in what it can do (Firefox).

So I either need to get to grips with Selenium Webdriver and write a PHP script or something to drive it, or delay testing until such time as I ever get around to having a stand-alone program to do the same thing as KLA in all its variants.

Anyone got experience with Selenium?

thanks, Ian

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1480 on: 2018-Sep-15 19:53 »
what happens when you change to the Typing directory and do make?

Thanks; got it working. Turns out I didn't have it set to the right directory.

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1481 on: 2018-Sep-16 19:32 »
How long is it supposed to take for the MTGAP algorithm to run its course? It took me almost 8 hours to get to the 19 swap rounds (default 30 key).

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1482 on: 2018-Sep-17 00:47 »
How long is it supposed to take for the MTGAP algorithm to run its course? It took me almost 8 hours to get to the 19 swap rounds (default 30 key).

Depends a lot on your hardware I suppose... Sorry I think I may have done that exercise a year or more ago but can't remember, I do remember not being particularly impressed with the end result.
Maybe Den knows.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #1483 on: 2018-Sep-17 17:08 »
i never worked with MTGAP

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1484 on: 2018-Sep-18 07:26 »
So I went back to the drawing board a bit

Again. Finally figured out what I *should* be doing, which is this:
1. we have standard character distribution for English.
2. for each input text, work out character distribution percentage.
3. then for each character in standard distribution, find difference between the frequencies : abs(frequency[standard] - frequency[inputtext])
4. if character not in input text, use zero in above calculation == frequency[standard] as is.
5. sum these numbers, and rank scores for each input text. Low score wins, indicates least percentage difference from standard distribution.

So results attached, as well as ten best as measured by "Similarity" metric, which looks more at a weighted order, and FreqMatch, which is the frequency match detailed above.

By Similarity:
other-peoples-money.txt
the-fable-of-the-keys.txt
play-equipment.txt
economic-consequences-of-peace.txt
war-is-a-racket.txt
170-chinese-poems.txt
deadly-world-order.txt
what-schools-teach.txt
the-elements-of-style.txt
common-sense.txt


By FrequencyMatch:
the-devils-dictionary.txt
play-equipment.txt
the-elements-of-style.txt
war-is-a-racket.txt
what-schools-teach.txt
miller-the-crucible.txt
the-fable-of-the-keys.txt
economic-consequences-of-peace.txt
logical.txt
And-Then-There-Were-None.txt

In both lists:
play-equipment.txt
the-elements-of-style.txt
war-is-a-racket.txt
what-schools-teach.txt
the-fable-of-the-keys.txt
economic-consequences-of-peace.txt

« Last Edit: 2018-Sep-18 12:34 by iandoug »

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
BEAKL PLLT x1
« Reply #1485 on: 2018-Sep-18 12:34 »
@Den

Hi

1. How does KLAtest handle BEAKL PLLT x1, in particular typing things requiring AltGr + Shift?

2. is the Num key a toggle or hold-and-type-another-key ?

thanks, Ian

Agapium

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1486 on: 2018-Sep-19 03:25 »
puttin it out there

Code: [Select]
RSNTAK

q c l p k  j f o u ;
 r s n t b  y h e i a
  w m d g z  v x , . /

Code: [Select]
QWLMAK

q w l m b  j f o u ;
 r s n t g  y h e i a
  c x d v z  k p , . /

q w l m b  j f o u ;
r s n t g  y h e i a
z c x d v  k p , .

Code: [Select]
RSNTHEIA

q c l m b  j f o u ;
 r s n t g  y h e i a
  w x d v z  k p , . /

q c l m b  j f o u ;
r s n t g  y h e i a
z w x d v  k p , .

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1487 on: 2018-Sep-19 03:37 »
puttin it out there

Do you have the KLA json files? :-)

thanks, Ian

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Sholes final version
« Reply #1488 on: 2018-Sep-21 11:52 »
Anyone want to have a go at making this perform better than QWERTY?

Starting version attached.

Thanks, Ian

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1194
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Sholes final version
« Reply #1489 on: 2018-Sep-21 19:38 »
already looks better than qwerty for 1-finger typing and probably 2-finger, too.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Sholes final version
« Reply #1490 on: 2018-Sep-21 19:55 »
already looks better than qwerty for 1-finger typing and probably 2-finger, too.

Sarcasm noted... :-)

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Sholes final version
« Reply #1491 on: 2018-Sep-22 04:12 »
already looks better than qwerty for 1-finger typing and probably 2-finger, too.

I did try moving the home position one key towards the middle, and re-assigning some fingerings, but either way, you end up with either ET or AT or EA on same finger, and putting 2 of the most frequent 3 letters on same finger is not going to work. Am trying to figure out what Sholes was up to ... getting something WORSE than QWERTY when it's supposed to be better is quite an achievement.

Ian does not like things that don't compute....
« Last Edit: 2018-Sep-22 04:19 by iandoug »

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1492 on: 2018-Sep-30 02:06 »
puttin it out there

Code: [Select]
RSNTAK

q c l p k  j f o u ;
 r s n t b  y h e i a
  w m d g z  v x , . /

Code: [Select]
QWLMAK

q w l m b  j f o u ;
 r s n t g  y h e i a
  c x d v z  k p , . /

q w l m b  j f o u ;
r s n t g  y h e i a
z c x d v  k p , .

Code: [Select]
RSNTHEIA

q c l m b  j f o u ;
 r s n t g  y h e i a
  w x d v z  k p , . /

q c l m b  j f o u ;
r s n t g  y h e i a
z w x d v  k p , .

Nice layouts

AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1493 on: 2018-Sep-30 02:16 »
Does anyone here know of -- or how to make -- a google translate-esque program/site for keyboard layouts? Say you type on QWERTY and you want to know what it's like to type on Colemak. You go to the site and enter some text like:

"The home row on the Colemak layout is arstdhneio."

You would then then tell it to translate the text from Colemak to QWERTY. The text output would then be:

"Fhk h;mk s;w ;j fhk C;ukman uao;if ld asdfghjkl;."

While it would be awkward to type random text, it would at least allow someone to try out the motions of an alternate layout without having to rewire their reading/finger placement coordination.

iandoug

  • Hero Member
  • *****
  • Posts: 880
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #1494 on: 2018-Sep-30 03:15 »
Does anyone here know of -- or how to make -- a google translate-esque program/site for keyboard layouts? Say you type on QWERTY and you want to know what it's like to type on Colemak. You go to the site and enter some text like:

In theory that's not too difficult to write, as long as we for example limit it to ANSI form factor, but layouts using AltGr will be a problem.

For example, on Arensito, to type a "2" you press QWERTY's AltGr-k.

Or pressing "1" on QWERTY maps to nothing on Arensito.


AZERTYSucks

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Balanced Keyboard Layout
« Reply #1495 on: 2018-Sep-30 03:22 »
In theory that's not too difficult to write, as long as we for example limit it to ANSI form factor, but layouts using AltGr will be a problem.

Oh I know for AltGr layouts it wouldn't be that simple, but it would still be useful to have since most layouts simply move around keys/shift pairs.

 

21 Guests, 0 Users