Welcome, Guest. Please login or register.
Did you miss your activation email?
2020-Sep-28 18:02

Login with username, password and session length

Recent

Shoutbox

break:
May. 09 2020 - 10:02am
Awesome, happy to be back on the forums !
I hope everyone is in good health.
ADMIN:
May. 01 2020 - 6:54pm
new domain: ieants.cc
Den:
Mar. 20 2020 - 2:40am
possible delay of service
break:
Mar. 14 2020 - 1:05pm
@Den
Hey, had some issues opening the Worksheet in the new MS-Excel. Made a topic about it.
break:
Mar. 07 2020 - 12:19pm
@Den 
You are awesome, this helps a lot !  Really appreciate your help.
Den:
Mar. 07 2020 - 4:07am
.tbl file and translation program
break:
Mar. 05 2020 - 10:44pm
@Den Wow friend, you are blazing with these updates ! Question, how did you edit the names of things ?
Den:
Mar. 03 2020 - 1:21am

Author Topic: [BEAKL] Balanced Effortless Advanced Keyboard Layout  (Read 349324 times)

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1850 on: 2020-Aug-21 08:08 »
This time I neglect Opt, which I have heavily relied on to generate many of the BEAKL layouts. Instead, by using experience, and personal comfort, I attempt to devise manually a viable layout.

Oddly enough, I'm mulling writing a paper comparing the various "this is best because my research paper says so" (using layout their program generated) vs the various results from other computer-found layouts (Capewell, MTGap, Klausler, qgmlwb, Neo, etc) vs assorted hand-made layouts ...

Those in the first category are usually quite bad. There are quite a few of them.

The patented ones are a mixed batch ... some good, some ridiculous.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1851 on: 2020-Aug-21 17:09 »
@Den

Busy trying to figure out what I did back in 2017/2018 when I wrote a bunch of programs to do all the calculations for the ILLDB ( https://www.keyboard-design.com/internet-letter-layout-db.html )

One of the the analyses is a basic weighted look at all English bigrams.

But the weightings per finger look like this, from left pinky to right pinky and both thumbs:

$fingermultiplier = array(
"1" => 3.67,
"2" => 2.9,
"3" => 2,
"4" => 1.85,
"5" => 1,
"6" => 1,
"7" => 1.85,
"8" => 2,
"9" => 2.9,
"10" => 3.67,
"11" => 1
);

Which is saying that the index finger is stronger/better than the middle finger ...

I think I got those values from a research paper which considered strength and flexibility.

What different values have you found to be best?

Thanks, Ian

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1852 on: 2020-Aug-21 18:53 »
Middle fingers strongest fastest longest most stamina of all five fingers.

Index finger as the outermost of hand can reach more keys laterally, but still slower and not long enough to reach distant keys without moving the whole hand.

Thumbs are best at holding down, not so much for repeated tapping.

I wouldn't use pinky at all for typing, if that were possible. It's designed for balance, not striking. Most prone to injure. I feel like it deserves hundred times penalty of other fingers.
Support me on Patreon

I saw. I conquered. I came.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1853 on: 2020-Aug-22 05:50 »
I wouldn't use pinky at all for typing, if that were possible. It's designed for balance, not striking. Most prone to injure. I feel like it deserves hundred times penalty of other fingers.

Piano? :-)

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1854 on: 2020-Aug-22 06:25 »
I guess I'm somewhere between your thinking and SteveP/Colemak/Dvorak.

I play (for some definition of "play") the piano, and am quite used to using my pinkies quite firmly.

On the other hand, my pinkies only have 2 phalanges each, so the leverage calculations are different compared to other people.

But I don't think that putting "a" on the pinkies is a good idea... frequency is far too high.

This issue is key to a "correct" layout analyzer, so we need some science-based method to get the correct/fair values.

Will ponder some more.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1855 on: 2020-Aug-22 06:36 »
This concept of needing to balance also comes through in the analysis behind (I think) mtgap : https://mdickens.me/typing/theory-of-letter-frequency.html

Yeah. Did read that page a few years ago. Wish he had done upper and lower case :-)

FWIW I downloaded both the UK and US corpora the other day to run an updated analysis ... they seem to include more mixed sources than 10 years ago.

Cheers, Ian

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1856 on: 2020-Aug-23 00:57 »
Pinkyless layouts are reasonable efficient; between 0% to 10% more effort than our best layouts. Moreover some layouts also remove the remote corner keys reached by index finger.

Instead utility keys can be placed in these corners. Like navigation (page up down), copy, paste, layer access, etc.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1857 on: 2020-Aug-23 01:12 »
Piano? :-)

yes heard horror stories of pianists' most common injuries involve pinkies, including attempting to "strengthen" their pinkies with rigorous exercise. Lmao. Also thumb injury seems prevalent among pianists.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1858 on: 2020-Aug-23 06:34 »

Code: [Select]
BEAKL HM 1

qyoux mrdgb
kiea, lntsw
j" .z fhcpv

Swap "P" and "C" to improve same finger.

Code: [Select]
BEAKL HM 3

qyoux mrdgb
kiea, lntsw
j" .z fhpcv

Possible candidate for next recommended layout. Unfortunately very different than previous recommendations. Would need time to relearn, retrain.

H with consonant district seems to improve same hand score. But comes at a cost. Pushes B to corner pinky, which doesn't feel good. And worse at non English languages than previous BEAKL layouts.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1859 on: 2020-Aug-23 06:56 »
yes heard horror stories of pianists' most common injuries involve pinkies, including attempting to "strengthen" their pinkies with rigorous exercise. Lmao. Also thumb injury seems prevalent among pianists.

Went to poke around, starting with my sister-in-law who has music degree, is organist and piano teacher. She assumed I was asking about my own hands.

Q: what hand/finger injuries piano/organ/keyboard players suffer from?
A: Carpal Tunnel syndrome

Q: damage to pinkies and/or thumbs?
A: No.  Too much time on computer keyboard... repetitive strain syndrome or you have started to play too many pc games. Not possible to injure thumbs/pinkie playing piano. It is computer related.

So I quoted your text to her...

A: Not to my knowledge. Maybe they are doing exercises which damage the fingers. Schuman apparently hurt his hand trying to strengthen his fingers and that ended his concert piano playing days and hence he became a composer.

So I go ask Google. Google failed to guess how my query "hand injuries common for pianists" was going to end, instead showing suggestions for assorted sports injuries.

Anyway, from what I found, it seems the main problems are more from the wrist up, than finger issues. They mention RSI without being specific where, as well as possible osteoarthritis, particularly in the thumbs.

Studies are typically done with professional musicians who practice many hours a day... much more intensely than we type.

Maybe gamers press harder than they need to due to excitement?

Anyway, did a quick comparison between the different scoring algos. Same input text (Fishy). Only 5 layouts because Patrick only handles 5.

Screenshot attached.

To be fair, limited to "just rearrange main keys" layouts.







iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: Evaluating layouts for programming.
« Reply #1860 on: 2020-Aug-25 05:42 »
could probably omit all letters except that language's keywords.

https://github.com/source-foundry/code-corpora

Heavily biased towards {} languages.

Currently busy cleaning up the British National Corpus. For "British," it contains an inordinate amount of European diacritics...

Should get faster as more and more chars are added to the regex clean-ups.

Cheers. Ian

Keynthusiast

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1861 on: 2020-Aug-25 16:55 »
Hello Den,

I'm new here, so please bear with me, as I'm not familiar with the whole BEAKL history.

Do you still use Opt (AdNW) software for developing new BEAKL layouts? If so, could you share the current efford grid for Ergodox board? I'd like to create a Polish/English layout myself.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
British National Corpus
« Reply #1863 on: 2020-Aug-26 04:27 »
Well that's embarrassing....

Initial results of character frequency analysis attached. File bnc.txt is all the others together.

Source was 10 main folders containing thousands of xml files. The xml described each word or punctuation symbol. After stripping all that off, replaced all non-keyboard characters with typeable alternative.

Am now checking if top 15 characters are in correct order (as per previous order that someone derived from a US mixed corpus, shown as "Reference" in attached). So top score in column G is now 120.

This corpus is a bit "messy". e.g. Folder D seems to contain transcripts of meetings. Some lines are very short (some just a period). So lots of carriage returns... this may actually match current keyboard use, since we're not typing War and Peace much.

The entire 574MB corpus does not have a single "<" character....

So I think I need to ignore the three worst (column G) files.

Will see what the US version looks like next, and then RosettaCode.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1864 on: 2020-Aug-26 04:30 »
Oh yeah, thought the pf / fp switch was curious ....

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: British National Corpus
« Reply #1865 on: 2020-Aug-26 09:33 »
The entire 574MB corpus does not have a single "<" character....

That is bizarre for any C-based language and in particular C++ should have lots of << around in the code in addition to it appearing in the comparison operators.

btw) isn't the statistics already done for you with the results in: https://github.com/source-foundry/code-corpora/tree/master/scripts/results ?

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: British National Corpus
« Reply #1866 on: 2020-Aug-26 09:42 »
That is bizarre for any C-based language and in particular C++ should have lots of << around in the code in addition to it appearing in the comparison operators.

btw) isn't the statistics already done for you with the results in: https://github.com/source-foundry/code-corpora/tree/master/scripts/results ?

This is the British corpus not code.
I found the list of what is in each file ... there's a lot of speech transcripts mixed in in some folders (Brits are no good at organising :-) ) that I need to weed out and then redo.

Edit: I see I omitted to specify which corpus in my post above. Apologies for the confusion.
« Last Edit: 2020-Aug-26 10:22 by iandoug »

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1867 on: 2020-Aug-26 17:17 »
FWIW, the US corpus is better-organised, they even provide the plain-text version (as well as the XML-wrapped version).

But the text is messy and is going to mess up where I'm going with all this. Here's a sample copy-pasted from one of the technical texts:


        Inhibition binding assays were also conducted. Four test
        compounds with structures representative of the major
        classes of 5-HT
        3 R ligands were chosen: serotonin
        (5-HT, the endogenous agonist),
        m -chlorophenylbiguanide (
        m CPBG, agonist),
        d -tubocurarine (
        d -tc, antagonist) and lerisetron
        (antagonist). The K
        i values for inhibition of [
        3H]granisetron binding by all four compounds are shown in
        Table 3. Little change in K
        i value was observed for the majority of
        mutations. The values highlighted in bold in Table
        3represent the K
        i values for inhibition of [
        3H]granisetron binding on mutant receptors that increased
        over 10 fold compared to the K
        i obtained for wildtype receptors. The
        bar chart in Figure 2Billustrates the changes in K
        i resulting from each mutation on the
        test compounds. Ratios of K
        i are shown as positive for increases in
        K
        i on mutant receptors versus wildtype
        and negative for decreases. A positive change thus
        corresponds to a decrease in binding affinity for the
        compound as a result of the mutation. Large decreases in
        binding affinity were observed for select compounds only on
        the Y140A, Y142A and Y152A mutations.
        A more detailed analysis of the competition binding data
        obtained for the Y140A, Y142A and Y152A mutations is shown
        in Figure 4. For 5-HT, the Y142A mutation produced a 110
        fold increase in K
        i and Y152A produced a 24 fold increase.
        No change in K
        i was observed for the Y140A mutation
        (Figure 4A). The 5-HT
        3 R agonist
        m CPBG showed a similar profile for
        the changes in K
        i values resulting from mutations of the
        three tyrosines (Figure 4B).


I want to build a table of "likelihood that x follows y". There was one on the net a few years back, but it only had the letters. I want one one with all 95 characters (plus carriage return). If we have this, then we don't need "input texts" of problematic quality. I guess this how Opt works.

The spacing and line-flow in extract above will mess up such an analysis.

I suppose we could try Wikipedia, but the few samples Den tried already show Wiki to have issues of their own....

I redid the UK corpus, leaving out all the "speech" samples. Results are better now. One file includes TV news scripts which may be messing it up.
Attached.

Order for first few characters is now as expected, but still some variety around "insr" after which it settles down again.



iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1868 on: 2020-Aug-26 17:23 »
The "reference" US corpus included Usenet postings ... which means email addresses and .sig files and emoticons .... which would have boosted the frequency of some letters and punctuation.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1869 on: 2020-Aug-27 14:41 »
Hello Den,

I'm new here, so please bear with me, as I'm not familiar with the whole BEAKL history.

Do you still use Opt (AdNW) software for developing new BEAKL layouts? If so, could you share the current efford grid for Ergodox board? I'd like to create a Polish/English layout myself.

I still play with it once in a while. Below is latest experimental effort grid for left hand; mirror for right hand. I use multiples of 3. Lower value is better.

Code: [Select]
Left hand effort

24 06 03 06 18
09 03 00 00 09
18 09 12 06 18

Keynthusiast

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1870 on: 2020-Aug-27 15:20 »
I'm most interested in Opted 4 Ergo Alt settings you used, since this seems to be one of the best layouts you made (at least based on KLAtest), but I know that you've lost them.

What do you usually fiddle with in the Opt settings? I know you suggested starting with BEAKL 19 config, but what might have changed in case of Opted 4 Ergo Alt in order to accomodate for extended use of Alt layer?

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1871 on: 2020-Aug-28 10:47 »

Code: [Select]
Left hand effort

24 06 03 06 18
09 03 00 00 09
18 09 12 06 18

Ian suspects that the above is the key to scoring well on KLATest... :-)

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1872 on: 2020-Aug-28 11:50 »
The "reference" US corpus included Usenet postings ... which means email addresses and .sig files and emoticons .... which would have boosted the frequency of some letters and punctuation.

Said "reference" corpus was compiled. if I remember correctly, by a few American academics. I used it because it was the only one I could find at the time that had a large input collection, and more importantly, separated upper case from lower case and included punctuation.

The sources were: New York Times corpus, some Encyclopedia, the Brown corpus, and the Web corpus and Usenet corpus.

However, if we look at the counts for the letter "e":


NYT     7741842         
Encycl  3762500
Brown    164046
Web    36746446
Usenet 53187089


Then we see that Usenet makes up over half the corpus, and the Web about a third, and I'm not sure that that is a good idea.

The Usenet archive (I assume the same one) is available in two versions... raw and cleaned (as best possible, but still contains some junk and non-English). I don't know which version they used, but would guess the raw version. I got the cleaned up version. The web archive is also available.

The NYT archive is pay-for-play so I can't get that. However there is an older Reuters financial archive which just needs a bit of automated cleaning up.

The Brown corpus dates from 1961 and has 2000-word extracts from 500 books in various categories. I had a look and think we can do better.
Don't know which encyclopedia they used, but Wikipedia is available... trying to get the various "clean-up" tools to work. There are similar tools for Project Gutenberg and RosettaCode.

So my plan is to compile a corpus focused on the characters, not linguastic analysis like most corpora.

Components:

1. Some from British National Corpus
2. Some from US corpus
3. Usenet (above)
4. Web (above)
5. 2000-word extracts from all Project Gutenberg English books available as plain text.
6. 2000-word extracts from all Wikipedia articles long enough.
7. All suitable code from Rosettacode snapshot. Exclude languages like APL and any others with weird symbols. There are probably more curly bracket samples than for other languages.
8. Reuters financial archive

This should produce good coverage of UK and US English, and code, and all characters on the ANSI keyboard, from a diverse mix of styles.

And then I can get the "what follows what" data... :-)

Will probably take longer than I think. :-)

Cheers, Ian
 

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1873 on: 2020-Aug-28 14:53 »
I'm most interested in Opted 4 Ergo Alt settings you used, since this seems to be one of the best layouts you made (at least based on KLAtest), but I know that you've lost them.

The thing to keep in mind is that just playing with the settings of Opt is unlikely to give you anything that beats that layout as it is partly based on insight, not just Opt

btw) As inspiration: my own layout (see attached) that has similarities tends to outperform it in a lot of the KLAtest and feels good in daily usage

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1874 on: 2020-Aug-28 15:22 »
btw) As inspiration: my own layout (see attached) that has similarities tends to outperform it in a lot of the KLAtest and feels good in daily usage

FWIW. I'm currently using attached on my left hand. It has some similarity to Den's recent posting highlighting "sh". This arrangement was not deliberate, the letters just ended up there for other reasons.

The following are rather convenient:

wh
sh
ch
th
nd
rs
st
rst
nt

inconvenient:
sc, but not too frequent.



moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1875 on: 2020-Aug-29 06:01 »
FWIW. I'm currently using attached on my left hand.

In many ways a similar structure to what I was using before I decided to flip to having rsnt on my right hand: https://ieants.cc/smf/index.php?topic=89.msg2889#msg2889, but I would hate the inward d movement!

In any case curious to see the full layout as this implies that the h forces a letter to the other hand. I`m curious which one.

btw) Very surprised that you've opted to now stick this on your left instead of your right hand.
« Last Edit: 2020-Aug-29 06:06 by moesasji »

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1876 on: 2020-Aug-29 06:55 »
In many ways a similar structure to what I was using before I decided to flip to having rsnt on my right hand: https://ieants.cc/smf/index.php?topic=89.msg2889#msg2889, but I would hate the inward d movement!

In any case curious to see the full layout as this implies that the h forces a letter to the other hand. I`m curious which one.

btw) Very surprised that you've opted to now stick this on your left instead of your right hand.

Decision to flip was based on need to have ctrl c/v/x on left hand for some editing operations. I didn't paste full layout because there are a few annoyances still. Also I'm still on my MS Natural so the "ch" move above is not so good but will be better on ortholinear layout.

Sceenshot on ANSI from KLE attached.

There are other things that make me smile, and some (like "ng") that make me wonder if there is a better solution...

Cheers, Ian

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1877 on: 2020-Aug-29 06:57 »
 .jpg is nice, .zip not so much

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1878 on: 2020-Aug-29 11:44 »
There are other things that make me smile, and some (like "ng") that make me wonder if there is a better solution...

Thanks for that as that gives some ideas to explore, although the placement of p surprises me a bit. I would actually move the c above the s and not below. Easier to type your ch and if you make the left-alt a control the copy/paste becomes comfortable.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1879 on: 2020-Aug-29 12:41 »
Thanks for that as that gives some ideas to explore, although the placement of p surprises me a bit. I would actually move the c above the s and not below. Easier to type your ch and if you make the left-alt a control the copy/paste becomes comfortable.

I tried swapping P and Y but KLATest didn't like it.

PO and OP are more common than YO

I see CH is more common than WH so that may be a good idea.

http://practicalcryptography.com/media/cryptanalysis/files/english_bigrams_1.txt

I hit Y with my pinky when typing "you" and it works fine.

I was also trying to improve qwertyness as well.

I wrote a proggie to generate attached, will be adding them to my site at some point.

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1880 on: 2020-Aug-29 12:51 »
Sceenshot on ANSI from KLE attached.

There are other things that make me smile, and some (like "ng") that make me wonder if there is a better solution...

Dropping of my chair as I don't recall having ever seen a giea based layout coming out of the optimisers. Yet this appears to perform very similar to my current layout putting in the tweaks that make sense to me. It seems to be a case of trading of a worse same finger usage against a better hand alternation.


iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1881 on: 2020-Aug-29 13:30 »
Dropping of my chair as I don't recall having ever seen a giea based layout coming out of the optimisers.

I think humans are better at this game than (existing) programs.

Your layout does well. :-)

Cheers, Ian

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1882 on: 2020-Aug-29 13:56 »
I think humans are better at this game than (existing) programs.

Your layout does well. :-)

Yet looking at the heatmaps it doesn't really make sense to me why it does so well as the left-pinky to me appear underused with the g on it. It doing so well might be an artefact of Den giving the pinkies a heavy penalty in klatest

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
letter frequency for programming.
« Reply #1883 on: 2020-Sep-01 16:07 »
Still busy cleaning up the RosettaCode codebase.

Currently at Julia, have done all #A-I, and also Java and JavaScript (and most of the C family) so was surprised at the various bracket frequencies.

And also just how common the parentheses are.

Snapshot from two points in the process attached. The order of the first few seems stable, and rather different to English.


Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1884 on: 2020-Sep-04 16:46 »
Probably just me, these little things bother me while touch typing.

"IEA" on home row seems great, all optimizers love it. Yet I always get confused between "ai" and "ia" bigrams. Attempting to rearrange the home row would cause even worse issues.

thedarnedestthing might have the right idea to put "i" on the thumb. But I use Shift on left thumb for gaming convenience, so typing capital "i" would be impossible.

After testing many layouts, I conclude the "T" must be on middle finger home key for my optimal personal comfort.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1885 on: 2020-Sep-05 01:31 »
Rethink what makes good rolls. Usually defined as two different fingers on the same hand consecutively. However not uncommon for sequences that demand three or more keys on the same hand. Hence criteria for good rolls should extend to three unique fingers for trigrams.

That means a sequence of three different letters should be typed with three different fingers.

This also applies to sequences that alternate hands. In the case of a trigram alternating hands back and forth (left-right-left or right-left-right) the first and third letters should be typed with different fingers on the same hand.

QWERTYexamples
GoodBad
 ens end
 liu lio

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1886 on: 2020-Sep-05 06:03 »
That means a sequence of three different letters should be typed with three different fingers.

Ideally yes, but this is a trade-off against long jumps (going from top to bottom or the other way around in trigrams). If that happens I prefer the role on the same finger for first & third

btw) my recollection is that the opt optimiser has this included when optimising for trigrams?

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1887 on: 2020-Sep-05 06:25 »
After testing many layouts, I conclude the "T" must be on middle finger home key for my optimal personal comfort.

Then E on index and A on ring?

Over the years of playing this game, it began to seem that E is a more common final letter in words than A. Thus, in order to reduce same-finger, you should not have multiple punctuation symbols on the same finger as E. That's why they go on the A finger (assuming layout is split left/right vowels/consonants).

My 2c :-)

Maybe we're overlooking something.

Cheers, Ian

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1888 on: 2020-Sep-05 07:02 »
Over the years of playing this game, it began to seem that E is a more common final letter in words than A. Thus, in order to reduce same-finger, you should not have multiple punctuation symbols on the same finger as E. That's why they go on the A finger (assuming layout is split left/right vowels/consonants).

indeed almost half of the words end in etsd, see: http://letterfrequency.org/ ....however if you put the punctuation on the altgr layer on those keys instead of with `a` it scores really well and actually feels good.

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1889 on: 2020-Sep-05 07:39 »
For a layout that puts the `t` on the middle finger I personally would go with the following one. It doesn't score as well as the one with `t` on the index finger, but based on the heatmaps it actually might be better.

btw) I've gone back to the Den v2 optimiser in tweaking; the penalties on pinkies in klatest are too severe for my typing.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1890 on: 2020-Sep-05 08:06 »
btw) I've gone back to the Den v2 optimiser in tweaking; the penalties on pinkies in klatest are too severe for my typing.

I didn't like v2 scoring much ... IIRC it punishes lateral movements (eg Index) rather strongly.

But it may work for you :-)

cheers, Ian

moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1891 on: 2020-Sep-05 08:31 »
I didn't like v2 scoring much ... IIRC it punishes lateral movements (eg Index) rather strongly.

Without looking through the code it is difficult to work that out. The above layout does well in both v1 and v2 in any case.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Carriage return in code
« Reply #1892 on: 2020-Sep-05 11:55 »
Hi

Update on code analysis .. busy with the Ps, Perl 6 was excessively annoying... Larry had already used up all the characters on the keyboard, so has now started with Unicode symbols as operators. And the programmers followed suit when it came to variable names and comments... so it all looks pretty, but a pain to fix all that to typeable ANSI chars. I probably broke most of the programs :-)

Also discovered two bugs in my program, but impact looks minimal. One skipped all lines starting with a tab...
After some fun and games, now also include the end-of-line in analysis ... and its frequency in code is worryingly high.

Screenshot attached.


moesasji

  • Valued Member
  • ***
  • Posts: 68
    • View Profile
Re: Carriage return in code
« Reply #1893 on: 2020-Sep-05 12:26 »
... now also include the end-of-line in analysis ... and its frequency in code is worryingly high.

That enter is the fourth most frequent symbol when writing code is really hard to believe. Is this analysis done on code that has all comments and docstrings stripped?

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: Carriage return in code
« Reply #1894 on: 2020-Sep-05 12:51 »
That enter is the fourth most frequent symbol when writing code is really hard to believe. Is this analysis done on code that has all comments and docstrings stripped?

Nope, as-is from RosettaCode, after manually fixing not-on-ANSI chars.

Some languages have a lot of short lines, and there may be more blank lines than in English.

I will do some further tests to make sure I'm not double-counting or something....

current sample.... (one I just fixed)


#!/usr/bin/perl

use strict;
use warnings;

use utf8;

sub deal {
    my $s = shift;

    my $rnd = sub {
        return (($s = ($s * 214013 + 2531011) & 0x7fffffff) >> 16 );
    };

    my @d;
    for my $b (split "", "A23456789TJQK") {
        push @d, map("$_$b", qw/S H D C/);
    }

    for my $idx (reverse 0 .. $#d) {
        my $r = $rnd->() % ($idx + 1);
        @d[$r, $idx] = @d[$idx, $r];
    }

    return [reverse @d];
}


Cheers, Ian



iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: Carriage return in code
« Reply #1895 on: 2020-Sep-05 13:27 »
That enter is the fourth most frequent symbol when writing code is really hard to believe. Is this analysis done on code that has all comments and docstrings stripped?

I write all the programs to one large file for final analysis ... with a blank line between each sample. So that added an extra 46116 "\n" out of the total 29,627,427 chars. It may be enough to mess the counts up, so will not add the blank lines going forward.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1356
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1896 on: 2020-Sep-05 14:38 »
R or H on pinky in consonant district is undesirable as awkward outside rolls involving a weak finger.

When T is on middle finger, Opt puts R and L also on middle finger. hence higher same finger scores.

Opt seems like trigram seesaw vs same finger scores are inversely proportional. Favoring one score hurts the other.

EA on middle-index is best.

Unfavoring pinkies means more relying on inside index column. pushing the center of momentum inward, causing more lateral movement for entire hand. Yet I still feel this is more comfortable and faster than even home pinky. Index finger is surprisingly nimble and fast at reaching the six keys in its domain.

For two hand touch typing, common puncs on new layer wouldn't be an problem. However often do quick editing with one hand on the mouse. So prefer common punctuation not require a modifier from the mouse hand.

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: [BEAKL] Balanced Effortless Advanced Keyboard Layout
« Reply #1897 on: 2020-Sep-05 16:22 »
Index finger is surprisingly nimble and fast at reaching the six keys in its domain.

:-)

Mmmmm. :-)

It might be interesting to see what layout ideas KLATest likes with these weightings (from my post above)... IIRC these values were based on strength AND flexibility of the fingers .. they're not mine, they come out of some formal research. The link should be somewhere in this thread.

$fingermultiplier = array(
"1" => 3.67,
"2" => 2.9,
"3" => 2,
"4" => 1.85,
"5" => 1,
"6" => 1,
"7" => 1.85,
"8" => 2,
"9" => 2.9,
"10" => 3.67,
"11" => 1
);

iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: Carriage return in code
« Reply #1898 on: 2020-Sep-05 17:57 »
I write all the programs to one large file for final analysis ... with a blank line between each sample. So that added an extra 46116 "\n" out of the total 29,627,427 chars. It may be enough to mess the counts up, so will not add the blank lines going forward.

Didn't affect frequency of \n ....

I'll write the actual counts to a file then we will have a better idea.


iandoug

  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
    • Keyboard Design
Re: Carriage return in code
« Reply #1899 on: 2020-Sep-06 06:46 »
I'll write the actual counts to a file then we will have a better idea.

Just finished with all the "R" languages. (Deleted all the REXX code, it was full of box drawings, weird arrows, etc in comments and it got too tedious.)

⍽ == space
⮠ == enter / end of line
¬ == tab (which was missing from previous lists of chars)

Not sure why the parentheses are so unbalanced ... thought I may have deleted a few during cleanups, but the difference is too large. Even smilies in comments won't suffice, so assume it may be one of those programmers who draw pretty patterns around their comments...

FWIW, I have a list of frequency of punctuation in code stuck up on my wall, think it comes from an analysis that Yah Lee did. IIRC he mostly used curly braces languages.
His order is:
 , " - _ . ) ( ' { } & : = / ; > + # $ \ < * [ ] % | ! ` @ ^ ? ~ 



⍽   18514104
e   3731002
t   3029618
⮠   2659626
n   2611408
i   2505980
r   2445178
a   2194814
o   2064952
s   2012382
l   1518118
)   1397516
(   1395840
d   1281832
c   1142726
,   1132148
u   1076866
p   972234
m   962454
f   871252
=   830326
"   780386
-   778548
.   768232
h   756128
1   739998
0   687676
g   664150
;   584940
b   539912
:   509540
y   455894
x   420126
2   417104
w   385510
_   361950
[   352530
]   351422
v   334624
I   320200
S   316926
T   316744
E   310052
'   308816
N   282914
R   276430
A   267874
+   267568
>   263770
/   263364
*   262668
{   253774
}   251382
$   233994
L   233800
C   233436
3   229348
k   226786
D   208612
O   208578
P   207270
¬   195477
F   183424
5   182886
4   181184
<   181076
#   170742
M   154710
%   147114
B   144724
6   139938
8   119022
9   118252
7   111694
q   103540
j   97974
z   95792
!   94984
G   93782
\   90574
W   90386
|   87846
U   86456
H   83120
~   71502
&   67248
V   60716
@   59842
X   59612
Y   48832
?   45034
K   31812
^   24262
Q   24172
`   21446
J   20254
Z   18262


 

1 Guest, 0 Users