Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Den

Pages: [1] 2 3 4 ... 20
Hacks / Re: Balanced Keyboard Layout
« on: Today at 12:43:00 AM »
Can we first take a step back and look at how your current scoring works?
So that I can understand it, and that any suggestions are in line with the calculations etc.

thanks, Ian

The major difference from Patrick is finger weighted penalty.

For rolls, several factors to consider. Inward vs. outward; in-rolls take minimum effort, and out-rolls is some multiple of that. Also consider which fingers are used to roll. Perhaps a pre-defined array of penalty multipliers; where e.g. ring-index has lowest penalty and ring-pinky has highest penalty.

Then final weight of the roll category. right now, the weights are 33 distance, 33 finger usage, 17 same finger, 17 same hand = 100. Either fit in the rolls on the same scale, which total exceed 100; or rescale everything so they all add up to 100 again.

Hacks / Re: Balanced Keyboard Layout
« on: Today at 12:19:02 AM »
A matrix keyboard is any board that has straight vertical columns. Including Planck, Kinesis, Ergodox, Maltron. I'm on the Kinesis Advantage2.

The reason for matrix design is mainly to differentiate board designs for purpose of layout analysis, as opposed to de facto staggered design. matrix on KLA is the simplest design that minimizes the penalties from excess lateral movement, and thus yields better scores on these comparison programs. hence I don't bother putting newer BEAKL layouts on other board designs any more.

Nevertheless, you can use BEAKL on any board, and they will still work very well. You can compare BEAKL 32 and BEAKL Opted4 on standard boards with other layouts on the standard board.

My ADNW/Opt config is constantly changing (alas I don't archive older versions). see attached. The latest effort grid (that created BEAKL 8) looks like this:

Code: [Select]
Left hand effort
15   1.5  1    1.5  5
5    0.5  0.5  0.5  1.5
7    2    5    1    7

Other settings are just as important. Be aware if you set them too high, they could overtake the effort grid, reducing its importance.

BEAKL EZ is a solid choice. But BEAKL 8 seems the most ideal BEAKL layout thus far; well, there's also P_RN if you can map that onto your board (I think it works better with smaller thumb keys, like on the Planck). It's more apparent when viewing the heatmaps; look for the home block plus the thumb home. My idea of the home block consists of the top, home, and bottom rows for the ring, middle, and index fingers at the home columns, forming a 3x3 block.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 04:44:35 PM »
should i incorporate rolls now? how should they be scored? how much should they account for in the final score?

Hacks / Re: Screen resolution
« on: Yesterday at 04:18:07 PM »
What screen resolution you running at?

KLAtest is a bit tall for my screen.

text input area is 600px. seems you have a lot of stuff at the top and bottom of your screen.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 04:16:55 PM »
Do you punish sideways motion of the thumb to the same extent as the other fingers?

all x-axis penalty is same for each finger.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 04:09:18 PM »
Scan down for "Armel/Central Keyboard". The patent itself is at but you just need the crux of the matter :-)

Looks like some of my tablet/phone layouts. Too much index movement for 2-handed touch-typing, but good for hunt-and-peck because of central cluster.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 04:06:44 PM »
It can't be valid ... it keeps winning. Must be some sort of black magic in there.

Why don't you do JIEA on the left hand?

Index-thumb rolls are not great. thus set to higher penalty in Opt.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 03:56:13 AM »
You should take that P_RN layout out.... not valid :-)

what's not valid? I put the alt-gr on the left thumb; so uppercase N & R are typed with alt-gr now.

which i sort of had an idea of treating alt-gr as left shift. which should improve the scores for same finger and same hand, maybe.

Hacks / Re: Balanced Keyboard Layout
« on: Yesterday at 03:55:05 AM »
K on home key? That makes a change... :-)

Actually we've seen K on pinky back in BEAKL Opted 2 & 3. We've come a long way around back to the origins of the journey.

Hacks / Re: Keyboard Layout Analyzer
« on: Yesterday at 02:03:26 AM »
Went through all the layouts and fixed their errors (missing altgr, missing keys, etc.). Hope they all work now.

Hacks / Re: Home row explorer
« on: September 19, 2017, 07:50:12 PM »
I made a basic home row explorer.

I mainly wanted this to have a way to quickly find layouts with matching home rows for "new" layouts, so that I can see if they're actually new or if I already have them.

Comments welcome :-)

how about mirrored layouts? i.e. same letter on the same finger on the opposite hand.

Hacks / Re: Balanced Keyboard Layout
« on: September 19, 2017, 06:27:51 PM »
If you don't like H on the top ring finger, this drops the H back to home row. Slightly better than BEAKL 7 in many cases, and feels really good.

Code: [Select]
qyoux gcrfz
khea. dstnb
j/,i' wmlpv

And the accompanying number pad:
Code: [Select]
- 7103.

Hacks / Re: Balanced Keyboard Layout
« on: September 19, 2017, 04:55:32 PM »
Um, all words or distinct words?

all words

Hacks / Re: Keyboard Layout Analyzer
« on: September 19, 2017, 09:04:45 AM »
updates to klatest:

-- calculate words that can be typed with just home keys
-- display home-words chart in misc. page
-- added corpus for long list of every word
-- heatmap page: put layout selection at top

Hacks / Re: Balanced Keyboard Layout
« on: September 18, 2017, 03:26:19 PM »
counting individual words, and not corpus of prose? because rare words typed on home row don't really matter much. moreover, frequent pinky-ring combos can be just as adverse as off-home-row.

we already have lists of difficult words for analysis.

KLA measures row usage, but doesn't count it for the final score. although i have not verified the accuracy of those stats. since you can customize home row, i haven't looked at the code to see how it counts other rows.

Hacks / Re: Keyboard Layout Analyzer
« on: September 17, 2017, 12:55:31 AM »
changed the layout of the text input area. arranged vertically so you can see more of the text and preset selections.

more preset categories.

filenames are trivial to change in batch with a simple regexp.

Hacks / Re: Keyboard Layout Analyzer
« on: September 15, 2017, 09:04:38 PM »
take advantage of angular by pre-populating lists for easier management, organization, and amendment. thereby removing the mess from template.js. lists will be edited in db.js.

right now text presets and layout lists are done. try at , and check out the drop-down for text presets and layout presets.

Code: [Select]
snippet from template.js

    "        <div class='control-group'>\n" +
    "            <label class='control-label' for='text-presets'>Text Presets:</label>\n" +
    "            <div class='controls'>\n" +
    "                <select id='text-presets' ng-model='data.textPreset' ng-change='applyPreset()' ng-controller='CorporaController' ng-options='corpus.file as corpus.title group by corpus.type for corpus in corpora'>\n" +
    "                    <option value='' selected>[Select Text to Load]</option>\n" +
    "                </select>\n" +
    "                <button class='btn' type='button' ng-click='applyPreset()'>Apply</button>\n" +
    "            </div>\n" +
    "        </div>\n" +

Code: [Select]
snippet from controller.js

appControllers.controller('CorpusCtrl', ['$scope',
function ($scope) {
$scope.corpora = DB.corpora;

appControllers.controller('LayoutCtrl', ['$scope',
function ($scope) {
$scope.layouts = DB.layouts;

Code: [Select]
snippet from db.js

var DB = DB || {};


DB.layouts = [

{file: "abcdef.standard.json", title: "ABCDEF", type: "US-International Keyboards"},
{file: "roughabcdef.standard.json", title: "ABCDEF (rough)", type: "US-International Keyboards"},
{file: "acemak1.standard.json", title: "Acemak 1", type: "US-International Keyboards"},
{file: "alice-7499-WIP.standard.json", title: "Alice 74.99 WIP", type: "US-International Keyboards"},
{file: "anglian.standard.json", title: "Anglian", type: "US-International Keyboards"},
// end DB.layouts


DB.corpora = [

{file: "intro", title: "KLA Introduction", type: "Quick Tests"},
{file: "typing-champ-1", title: "Typing Championship 1", type: "Quick Tests"},
{file: "typing-champ-2", title: "Typing Championship 2", type: "Quick Tests"},
{file: "pi1000", title: "Pi 1000", type: "Quick Tests"},
// end DB.corpora


Hacks / Re: Balanced Keyboard Layout
« on: September 15, 2017, 01:49:49 AM »
-- preset dir renamed corpus
-- Den3 page moved to , which is same as klatest up to now.

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 03:34:29 PM »
finally fixed the discrepancy for same finger. find the proper way to access the array.

test uses straight scores now; no normalization.

without normalization, scores soar too high on longer text. hard to compare when scores vary so much between different corpus. the key is to normalize against the size of corpus, which is a constant for all layouts.

edit: test uses again normalization that is proportional to text length. now all scores look more reasonable and matches the relative scores as shown in the in-depth charts.

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 05:13:06 AM »
Tried to import layout, showed up on screen but Analyzer barfed.

check if missing alt-gr

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 05:11:01 AM »
finally fixed the discrepancy for same finger. find the proper way to access the array.

test uses straight scores now; no normalization.

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 02:43:12 AM »
You lost me... :-)
Oh, okay I guess you made a file for the dummy text that will load initially. :-)

wanted a longer sample to quickly test things reasonably. found a hack to basically use multi-line strings in javascript with no fuss. (no need to escape stuff, no concatenation, etc.)

Any reason you're not using Github?

too political

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 02:42:35 AM »
Why does Maltron need AltGr? Or does Analyzer need it?
You can change the right-hand Alt to u:-12 to make it AltGr.
I made normal Alt under the G on Maltron.ergodox

something changed when adding the numpad modifier somehow.

BTW you need to fix things like U_RN layout because KLA can't handle pressing 2 keys with one thumb. :-)

lol plebe. these are advanced layouts for advanced beings.

We should also probably make this local:


Your P_RN seems to be missing &


Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 02:30:55 AM »
created new file for sample text corpus. so it can be any length, and don't have to worry about formatting.

Hacks / Re: Balanced Keyboard Layout
« on: September 14, 2017, 01:18:57 AM »
Test version at

Had to replace some presets because layouts won't work if missing relevant modifiers. (e.g. Maltron missing alt-gr).

-- numpad as modifier (use key code u:90 for numlock) (not tested. preparation for next stage.)
-- tidy up the code (using , , and )
-- deleted extraneous files (social media related)

Hacks / Re: Balanced Keyboard Layout
« on: September 13, 2017, 04:20:34 PM »
Am trying to see what you are seeing ... but can't... where should I be looking?
I know we asked you about difference between summary page and Misc page, you said summary was standardised....

Normalization was a holdover concept from Patrick when he used percentages as part of the final score. However, we must question if that is correct method since my scoring system doesn't rely on percentages; it's straight up accumulative.

What if skip over vowels and type only consonants? Well some cases we still need them, like words starting with vowels or short words. Also helpful to type E if it's final letter.

Fortunately MOK does have "vowel optional" feature. Which works quite well (even though the disclaimer says it's only beta feature.) Since we'll be selecting words from prediction more often, better set to add space after each selection.

Simply move the vowels to the side of the layout, so they are still acessible.

Forgot to upload my vowel-on-the-side layouts. But found something else that resembles it, merely by alphabetical order:

Of course I think mine work better.

Hacks / Re: Balanced Keyboard Layout
« on: September 12, 2017, 03:32:05 PM »

Hacks / Re: Balanced Keyboard Layout
« on: September 12, 2017, 02:44:40 AM »
Is shift-altgr ever used? Should I replace it with numpad layer?

Hacks / Re: Balanced Keyboard Layout
« on: September 12, 2017, 02:03:59 AM »
The main context is the corpus. For any given text, count the number of times same finger and same hand has been used. So total number of keys pressed shouldn't matter at all.

Hacks / Re: Balanced Keyboard Layout
« on: September 12, 2017, 01:39:47 AM »
Something strange always bugged me: Why the final scores for same finger and same hand don't match the results in the misc. table. The most curious was how BEAKL 7 has such low same finger.

The issue is two-fold. One, for some reason, the final scores don't count same finger or same hand if the same key is pressed. This essentially ignores any penalty weighted by finger. e.g. double O or S on the pinky is discounted.

Two, the total keys pressed is taken into account. That gives an advantage to layouts that hit more keys for a given corpus. Instead, the final score coefficient should be consistent across the board for all layouts.

  • Count all same finger and same hand pressed, including same key pressed.
  • Use a common coefficient for all layouts on all score categories.

Hacks / Re: Balanced Keyboard Layout
« on: September 11, 2017, 11:19:42 PM »
Added to Den3: White layout and several academic text presets. QOL selecting a preset text from drop-down automatically applies it to the textarea.

See for yourself if academic text corpus makes a difference. As far as I can tell, it doesn't affect the ranking at all. The best 5 stays in the top 5.

Unfortunately, White's layout stays in the bottom tier through all tests. It really falls far short from his aim at both prose and code. Frankly it's terrible for either.


Hacks / Re: Balanced Keyboard Layout
« on: September 11, 2017, 11:16:19 PM »
he takes the view that the hands should NOT alternate all the time, whereas AFAIK both your and Pat's scoring models want them to alternate.
And he may actually have a point there (eg "the" on an inward roll is clearly better than HE on left and T on right, but what happens with "ETHER" etc. )

But this is a very specific case of trigram and three-finger combo. THE is the only trigram worth considering. Moreover ring-middle-index combo is rare, so it's not viable to fit every common trigrams this way. So do you destroy the health of the rest of the layout just to accommodate one trigram?

Despite that, there has been some claims that splitting all trigrams into 1-23 or 12-3 is best and fastest overall. The same also claims that frequent hand alternation is faster than long sequences using the same hand.

Look at this as a bell-curve of letters typed consecutively on the same hand. i.e. 1-gram, 2-gram, 3-grams, 4-grams, etc. for the same hand. Generally 2-grams are best, then 1-gram, then 3-gram. So frequent hand alternation errs on the side of more 1-gram, avoiding longer grams. On the contrary, low hand alternation leads to slower 3-grams, 4-grams, or worse.

Hacks / Re: Balanced Keyboard Layout
« on: September 11, 2017, 02:46:58 PM »
Stumbled across this:

However results from Den1 and Den3 against other ANSI layouts.....

Did you properly set the keys to his preferred fingers? like the bottom row doesn't use the pinky for any letter.

At a glance, doesn't look that good. 'R' in the far bottom index. 'OU' typed with same finger. Very high same finger overall.

Some of his reasoning seem flawed. We can assess that in detail later.

There is not much difference between novels, academic, and email texts. They use the same words and letters in similar frequency. Besides, superior layouts can handle them all equally well, and come out on top regardless of what you throw at them--time and time again.

Hacks / Re: Balanced Keyboard Layout
« on: September 10, 2017, 04:42:55 PM »
Was playing around a bit earlier with Den3 ... your BEAKL5 does better than BEAKl7. What does Opt say?

Based on my latest configuration in Opt, obviously BEAKL7 is slightly better (~1.6%). That's its purpose--to find the best layout for a set of constraints. On KLA, BEAKL7 slightly loses by (~1.08%). Too close to call which is better.

On KLA, BEAKL5 scores a lot better on distance. Understandably more frequent letters are on the home row; about 5% more usage on home row. However it loses substantially in finger usage and same finger penalty.

OTOH, in Opt, you can set the effort for each key individually. Thus top and bottom row keys can have lower effort scores than home row keys. Also my settings penalize pinky-ring combos even more than ring-ring. Opt takes more factors into account.

So choose your poison. Do you prefer lower finger effort at the expense of distance? Do you care to take the load off the weaker pinky and distribute that load to the stronger fingers?

Hacks / Re: Balanced Keyboard Layout
« on: September 10, 2017, 01:42:06 PM »
The advantages of KLA is ease of use and the appealing charts and graphs. As for its scoring, it does a good enough general measurement of key areas that are understood and agreed upon(distance, finger usage, same finger and hand) and to show the trends toward layouts with better efficiency and ergonomics. It also does well to involve the thumb, which some other programs tend to neglect.

As we continue to discover more optimal layouts and reach the plateau of efficiency, that's when we incorporate the minute nuances of typing in order to further differentiate the upper echelon of layouts. Advanced theories like inward rolls (Dvorak), finger weights (Workman, BEAKL), modifiers (Arensito, Seelpy),  etc.

Hacks / Re: Balanced Keyboard Layout
« on: September 08, 2017, 07:34:11 PM »
Den3 QOL:
-- layout loaded as soon as selected (don't need to click Load button)

Hacks / Re: Balanced Keyboard Layout
« on: September 08, 2017, 03:42:09 PM »
Please post json.. :-)

thanks, Ian

see attached.

Revised number pad. (due to comma moved up a row.)
Code: [Select]

actually looks neater than before. note puncs are fixed in place, but Opt still uses them to analyze and score. comma was missing from corpus.

Hacks / Re: Balanced Keyboard Layout
« on: September 08, 2017, 03:09:40 PM »
Played around a bit on ANSI. You won't like it because it has the H on the pinky, but I was stuck between my S2 layout and yours... (score around 139 on Den3).
Then I moved the H and got a fright ... some of the metrics are better, some not.

BTW this mod also scores better on Den1, but not as well as S2. (all tests done with Alice only)
So Den3 scoring model clearly a different kettle of fish. I've finished running all the tests on Patrick's and Den1 scoring, need to do the whole exercise again with Den3 ... is it now considered stable, or are you still tweaking?

Main issue is KLA is too simplistic, compared to other analyzers--like Opt. It doesn't consider stuff like trigrams, finger-pair weights (e.g. pinky-ring is bad), individual key weight, finger percentage, hand balance, etc.

So I'm wary of tweaking layouts from Opt just to get screaming scores on KLA.

Can you please add Fira Sans or Hack to the font options? (for code).
try to use the code tags, or Insert Code button.

Hacks / Re: Balanced Keyboard Layout
« on: September 08, 2017, 02:53:42 PM »
On which form factor? ANSI?

thanks, Ian

i only work with matrix

Hacks / Re: Balanced Keyboard Layout
« on: September 07, 2017, 09:22:20 PM »
Read other peoples' thoughts on finger weights. Some treat top-row middle and ring fingers as extended home row, because of natural curvature of the hands. Some don't mind stretching index to middle columns; ultimately still not as good as bottom and top row index.

Anyway, retweaked Opt, and got this:

Code: [Select]
jhau, gmrpz
qoeiy dstnb
/k'.x wclfv

(on Den 3) Higher distance offset by both lower finger usage and same -finger repetition.

Even lower usage on pinky (yay!). Less than 1% typed by the left pinky. H now on top ring; needs getting used to, particularly HE bigram, but any ring finger key is really faster than even home pinky. OEI on home row feels more Dvorak. Now left ring finger will do more work for OH, both common letters.

As for consonant district, this has reduced same finger usage (on Den 3) than previous BEAKL layouts. Interestingly, GMP/WCF are interchangeable between top and bottom rows. I prefer G on top row--NG rolls feel better like this. MP/CF tend to appear on the same row. C on bottom is slightly more comfortable, rolling together with N and T.

Hacks / Re: Balanced Keyboard Layout
« on: September 07, 2017, 08:05:54 PM »

As far as differences between Den 1 and Den 3 go... if I want to understand the changes, I only need to compare the two analyzer.js, right?

Was doing some tests on Den 3 and Seelpy 1.5 was consistently beating Seelpy 1.22 (latest version), whereas on Den 1, 1.22 was best. So want to see why... :-)

Thanks, Ian

Den 3 puts much more emphasis on finger weights. especially punishes pinkies. Finger usages also more relevant; closer to distance scores.

Magic: the Gathering / Re: Online Card Creator
« on: August 22, 2017, 02:53:17 AM »
Added QR code for card image

Arts, Literature, and Crafts / Re: [lang] Flownetic: The Phonetic Script
« on: August 20, 2017, 12:15:04 AM »
Reconsider frequency of certain sounds in languages, to facilitate typing. Especially the common 'th' /θ/ in English.

Its related sounds and symbols in Flownetic:

/θ/ /f/ /ð/ /v/

Put /θ/ on lower case v.
/v/ as shift-F.
/ð/ as shift-V.
/f/ stays lower case f.

Here, unshifted keys type unvoiced phonemes and shifted keys type voiced phonemes.

f F v V
f F v V

'the' = v'
Code: [Select]

Arts, Literature, and Crafts / Re: [lang] Flownetic: The Phonetic Script
« on: August 17, 2017, 05:38:31 PM »
Added Flownetic to these forum's font option drop-down.
Code: [Select]
[font=flownetic] [/font]
floUnEdIg Is v' ku'lEst r"itIN sisdEm EF@

Arts, Literature, and Crafts / Re: [lang] Flownetic: The Phonetic Script
« on: August 17, 2017, 02:55:50 PM »
Is /ä/ == /ɑː/ (and same with /ɪ̈/ ?

IPA identifies them as distinct, so does Flownetic. Latter doesn't recognize /ː/.

The period/full stop remains in use and unchanged. Other punctuation can be thought of as non-existent when typing in Flownetic. If necessary, use similar symbols from other fonts in Unicode at higher locations.

Um, I think you have /d͡ʑ/ twice and missing /d͡ʒ/

fixed. see new attachment.

Is /d͡ʑ/ and /d͡ʐ/ and similar with /t͡ʃʰ/ and friends used in Asian? Am only really familiar with /d͡ʒ/.
/d͡ʒ/ is voiced--extra vibration. Compare S and Z.

Arts, Literature, and Crafts / Re: [lang] Flownetic: The Phonetic Script
« on: August 06, 2017, 11:27:38 AM »
Cool, thanks. But find your range description a bit confusing ... if I open the font in FontForge, you have put the glyphs at U+0021 to U+007E (dec 33 to 126), which is basic lower ASCII including digits and punctuation.

I really mean to say non-non-printing characters, i.e. visible characters, starting with space.

Arts, Literature, and Crafts / Re: [lang] Flownetic: The Phonetic Script
« on: August 05, 2017, 10:38:46 PM »
93 ASCII visible characters are used to represent all 83 Flownetic letters and 10 digits. This includes all ASCII letters, numerals, and punctuations except period and space.

Hacks / Re: Balanced Keyboard Layout
« on: August 05, 2017, 01:41:53 PM »
ideas to improve KLA:
  • allow user to customize parameters of efforts, penalty scores (e.g. per finger penalties, score category weights)
  • include other typing penalties (e.g. outward rolls, seesaw, finger usage percentage)

Hacks / Re: Balanced Keyboard Layout
« on: August 05, 2017, 02:18:11 AM »
Over on GH, Scotty has picked up difference between same-finger usage in your summary table, and the values on the detail page.
I also noticed "unusual" results on the summary table.
This be with V3 of your scoring.

Graph scores are raw. Summary scores are normalized.

Also wondered why it was necessary to put the initial layouts into memory when they could be pulled off disk on demand.

Load on demand would require AJAX, i.e. more complicated code. Just simpler to include another .js file with presets. However, that means the data might not match when loading layouts later, if preset and .json have different data.

Pages: [1] 2 3 4 ... 20