Author Topic: Balanced Keyboard Layout  (Read 27722 times)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #600 on: May 11, 2017, 11:33:05 AM »
Be my guest ... :-) Like to know how it feels in practice.
FWIW the X4 variant is slightly better than the AltGr 3 ... it was developed from AltGr3 and I changed the naming scheme
Great thank you. I will have a look at X4
I have files on GitHub, so I give credit to the original author there :-)
How do you use space as an Alt key? Shift=space or somesuch?
I assume you are on Windows, there should be some software...
Yes, as I mentioned I'm using AutoHotkey (on Windows). I believe Den is using it also.

You can remap keys to other keys.
It also supports two keys hotkeys,
so you can define for example Space & J :: LeftArrow,
normally the prefix key becomes 'hidden', but if you also define Space :: Space, then space can be used normally.

I Just started using this, and sometimes if space is typed too quickly vs another key, they end up actually being typed together, which does not give the wanted results ;-p

Possibly if you are lucky, the two space bars are sending different codes
Unfortunately, as you found out (thx for looking!) the Sculpt Ergo outputs the same scan code for the two space bars.
I believe in the previous generation it could be programmed to have one of the two space bars output a different key, something like Control, but this is not supported anymore

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #601 on: May 14, 2017, 01:26:37 PM »
Hi again.
I had been using a slightly modified version of MTGAP,

and now just started using AdNW and was wondering if you (Den?, IanDoug?) were usually running with the the -2 or the -3 option ?

Also, do you use as input "..the files with -t in their name, only digrams and trigrams are accounted for that are in the interior of words and that do not contain hyphenation points." or the 'normal' ones ?

thx
« Last Edit: May 14, 2017, 02:17:22 PM by philippe.quesnel »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #602 on: May 14, 2017, 02:06:32 PM »

and now just started using AdNW and was wondering if you (Den?, IanDoug?) were usually running with the the -2 or the -3 option ?


Regret have spent all my time with KLA and not yet got around to playing with AdNW .. but it looks like time with KLA may now be coming to a slower use and then I can start with AdNW and see what it has to say about the layouts.

Den is good with AdNW.

Cheers, Ian

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #603 on: May 14, 2017, 02:18:06 PM »
Regret have spent all my time with KLA and not yet got around to playing with AdNW .. but it looks like time with KLA may now be coming to a slower use and then I can start with AdNW and see what it has to say about the layouts.

Den is good with AdNW.

Cheers, Ian

ok thank you .. this is a very time consuming 'hobby' indeed !! ;-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #604 on: May 14, 2017, 02:19:05 PM »
I am also beginning to question the "I love rolls" thing... looking into more alternation.
It seems that rolls are easier to me (brain wise), but might be causing tensions in my left forearm,
and at the same time, rolls between pinky-ring finger on the left hand feel pretty weak.
ie INEA left hand mtgap !!

Was wondering what your preferences / experiences / thoughts were on this topic  ?
merci
« Last Edit: May 14, 2017, 04:13:43 PM by philippe.quesnel »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #605 on: May 14, 2017, 11:48:42 PM »
I am also beginning to question the "I love rolls" thing... looking into more alternation.
It seems that rolls are easier to me (brain wise), but might be causing tensions in my left forearm,
and at the same time, rolls between pinky-ring finger on the left hand feel pretty weak.
ie INEA left hand mtgap !!

Was wondering what your preferences / experiences / thoughts were on this topic  ?

Regret I am not the best person to ask about that... see the pic of my hands below. Was born that way. So I tend to use ring finger where others will use pinky, and thus my opinions are academic based on numbers in tests rather than personal experience.

In truth after you previous to last message about bigrams I was thinking about the difference in bigrams/trigrams inside a word as opposed to at the end, because at the end it's in effect a trigram (bigram+space) rather than a simple bigram that you are measuring, and how to type a space makes a big difference (if space is not on the big space bar.). This effect surfaced in my latest round of tests, where I paid attention to some layouts where space is not on the space bar (eg schizoKBD-AltGrSpc).

So yeah, I can imagine that IN on left pinky/ring would get to you. For what it's worth, Maltron puts AN in the same space, and you probably type AND more than IN ...

I've finished with the tests rounds, so by way of comparison, here's a curated list of the top layouts (all Ergolinear) as a way of comparing how they handle that roll, and alternation.
Base scores (as per Den's scoring, lower is better):

X6.4H Ergolinear115.3
Vu Keys Ergolinear 1119.2
QGMLWY Ergolinear 1123.5
SorenK Ergolinear 1123.6
Maltron Ergolinear124.5
MTGap Thumbshift Ergolinear 2124.8
RSTHD ErgoLinear 2125
Colmak Thumbshift Ergolinear 2125.7
Arensito Ergolinear128.8

Next two positions were Nawfal Ergolinear (129.7) and Dvorak Ergolinear (131.3), then three BEAKL layouts (131 to 133 scores).
Note: all of these layouts are in effect "LAYOUT mod X6.4H" ..  I based the AltGr level off of the X6.4H layout, some layouts had punctuation already specified, so I left that, and filled in the gaps as per X6.4H and "best guess". Possibly/probably some can be improved.
QGMLWY is an evolved layout from Martin Krzywinski (the CarpalX project).
SorenK I found on the Colemak forums as ANSI and turned into ErgoLinear when I saw how it did as ANSI.
https://forum.colemak.com/topic/90-dvorak-user-pondering-punctuation-placement/#p406

Layouts attached for discussion :-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #606 on: May 15, 2017, 10:44:29 AM »
thank you again.
I guess with much shorter pinky, my current/old typing technique would be perfect, I don't really use the pinky ;-)

I tried out the default layout generated by AdNW (with a US kbd config I created) and it looks interesting,
even though I am kinda slow with it now, it's not as natural (less rolls, which I am more used to),
but it does feel comfortable / less stresses, I'll try it out a bit more.

I spent time on CARPALX before and didn't really like .. numbers/stats vs personal taste I guess !?
I'll have a look at SorenK, especially since you say it was doing well on ANSI, thx

X6.4H seems to be doing well whatever you're testing ! ;-)
explains that it's on top in the general scores !

Ergoooooo rules !!! hehe

bonne journée

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #607 on: May 15, 2017, 11:51:12 AM »

X6.4H seems to be doing well whatever you're testing ! ;-)
explains that it's on top in the general scores !


It's not the best at some of the number-based stuff. As mentioned before, it's difficult to optimise for both natural language and programming/numbers etc.

However in the real world if you're entering a lot of numbers you'd use the numpad not the main 30-keys area. So I try to focus on English mainly. Den tries to cater for Eastern languages as well, which is a lot harder, I think :-)

I actually have a new layout (Seelpy) which is even better at English etc, but it is dramatically unconventional and I'm not sure how it will work in the real world. I'll post it in the next few days. Looks like getting a patent is not going to be viable... besides which new layouts have a stunning worldwide rejection rate.... :-)

Apart from SorenK, take a good look at Vu Keys. (either ANSI or Ergo). It's annoyingly good. Here's the ANSI top scores for my English tests:

Colour guide:
green: Keys are just rearranged
yellow: Keys are rearranged and modifiers relabeled
blue: Keys are relabeled (anything goes)
pink: Digits and/or punctuation are accessed via AltGr

Vu Keys is best for "just rearrange" the keys .... Colemak was 18th with 118, SorenK 25th with 120, and MTGap 28th with 120 (ignoring decimals). QWERTY scored 167.

Cheers, Ian

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Vu Keys
« Reply #608 on: May 15, 2017, 11:57:03 AM »
@Den don't suppose you've come across Dang Vu, who I think is the person behind Vu Keys (and presumably the almost identical dangvu that's in Patrick's github repo)?

Google turned up a doctor but I'm not sure it's the same person...

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Scoring algorithm
« Reply #609 on: May 16, 2017, 01:26:40 AM »
@Den:

If I understand the scoring algo correctly, then we measure from home to key, plus press, plus back again to home.

That makes sense in most cases, except when same key needs to be pressed again.

But I can see another situation ... say you are entering a long number. Then it will make no sense to keep returning to home, because you are going to need to move back to the digits row (eg QWERTY) again most likely.

I suppose coding that sort of logic is going to be very difficult. On the other hand, for tests involving numbers, any layouts with digits on home row will benefit greatly. That's part of the reason why the X6 layouts get good score... the four most common digits are on home row. But this reduces English scores slightly (eg we could have used the same slots for () or ? or ! or ; or : and boosted English score).

I was contemplating tweaking the scoring to NOT assume an automatic return to home, but I can see it's not a trivial change, if doable at all. We can't have a situation where index and ring are on bottom row (waiting for next move) while pinky has to go to top row...


philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #610 on: May 16, 2017, 09:04:41 AM »
I tried Vu keys, very nice, interesting balance of rolls vs alternation, feels comfortable.
Also a great candidate for the 'AngleZ' and 'Curl' mods as done in Colemak ModDH, which suits my taste.

Didn't care too much for Sorenk's OstnReai.
(of course these are all quick tests, typing texts from the net .. maybe if I properly learned the layouts I would appreciate them more)

It's all so personal, right !?

And a scoring algo might say "this layout is great" .. but maybe *I* won't like it as much as one that has a lower score,
where someone else would go gaga over it.

You bring a good example of that iandoug, with the subject of "we don't always go back to Home"
I agree that in some circumstances, I'll keep my hand hovering over a previous key because I know the next key I'll type with that hand is already under my fingers.
Or use different 'non-std' fingers for some key combinations.

I had this crazy idea of 'dynamic/adaptive layouts' recently, since the layouts are constructed to be efficient with the most used characters and bi-tri-grams, some words / key combinations are logically going to be harder to type (vs the most used)
So I was thinking, what if I could (easily) switch to partial layouts (/layers) that are better with less common characters ?
Would the cost of the actual switching layer/layout be worth the easier typing of garder words ?

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #611 on: May 16, 2017, 12:37:25 PM »
I tried Vu keys, very nice, interesting balance of rolls vs alternation, feels comfortable.

Thanks, good to hear. It does share some similarities (though hands are swapped) with what Den and I evolved, but I never used it as a starting point. It wasn't even on my radar until I started doing comprehensive tests with all the layouts.

I had this crazy idea of 'dynamic/adaptive layouts' recently, since the layouts are constructed to be efficient with the most used characters and bi-tri-grams, some words / key combinations are logically going to be harder to type (vs the most used)
So I was thinking, what if I could (easily) switch to partial layouts (/layers) that are better with less common characters ?
Would the cost of the actual switching layer/layout be worth the easier typing of garder words ?

The real cause of the difficult combos is something simple (like all good magic tricks, the secret is simple).

I will post something either later tonight or tomorrow (busy with major upgrades to my site now, it's all intertwined).
Part of the answer to your question is how do you switch layers... with a pinky on shift? Or a thumb that lives on shift, and another thumb that lives on AltGr, and hardly has to move?

Which is why the Ergolinear (and Ergo Thumbshift) layouts score so well.. take the work off the pinky.

More later :-)

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Seelpy 1
« Reply #612 on: May 16, 2017, 03:06:23 PM »
Okay it's nearly tomorrow here, been busy with this stuff most of the day and I need to get some sleep... :-)

1. I have posted the results of the latest round of tests on my site. It includes the new layouts and well as new tests.
http://www.keyboard-design.com/best-keyboard-layouts.html

2. I made a page about Seelpy 1, the new best performer. Comments welcome. Please be gentle. I know it's unconventional and may not work in the real world.
http://www.keyboard-design.com/layouts/ergo/60/seelpy-1-ergolinear.html

3. Loaded the new layouts and presets to the fork of KLA. If the layouts still appear to be Numbered, you need to clear your cache or hard-reload the page. You're getting the old version.
http://kla.keyboard-design.com/#/config

4. Or you can interrogate the database (ANSI or Ergo) from the links here, follow the Den Scoring ones.
http://www.keyboard-design.com/best-layouts.html

Please report any problems :-)... I think I checked most things.

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Seelpy 1
« Reply #613 on: May 16, 2017, 04:48:03 PM »
Okay it's nearly tomorrow here, been busy with this stuff most of the day and I need to get some sleep... :-)

1. I have posted the results of the latest round of tests on my site. It includes the new layouts and well as new tests.
http://www.keyboard-design.com/best-keyboard-layouts.html

2. I made a page about Seelpy 1, the new best performer. Comments welcome. Please be gentle. I know it's unconventional and may not work in the real world.
http://www.keyboard-design.com/layouts/ergo/60/seelpy-1-ergolinear.html

3. Loaded the new layouts and presets to the fork of KLA. If the layouts still appear to be Numbered, you need to clear your cache or hard-reload the page. You're getting the old version.
http://kla.keyboard-design.com/#/config

4. Or you can interrogate the database (ANSI or Ergo) from the links here, follow the Den Scoring ones.
http://www.keyboard-design.com/best-layouts.html

Please report any problems :-)... I think I checked most things.
Wow great work !!!  :D

I happened to notice that the link for BLOU in KLA was not working ..
so just in case, here's the link to the blog where it's from (mtgap) :
https://mathematicalmulticore.wordpress.com/2010/06/24/new-keyboard-layout-project-have-we-been-mistaken-all-along/

ps: BLOUREA, as I call it, is on my list of "hmm, kinda like this".
Haha problem is, this list is currently growing iso shrinking !!

I am very very curious about Sleepy, heuu I mean Seelpy.  ;)
Since I'm a bit nuts and always hoping to find "the one", I'll try and see about a US kbd version, using my AutoHotkey 'Space is space and AltGr' newest thing (or something like that)
I will very probably need to finally get on the Remapped Control Keys bandwagon too.

have a good rest

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #614 on: May 16, 2017, 05:04:08 PM »
hmmm, Seelpy really needs two thumb keys to make sense, of course.
Hehe, still want to try it, so I'll try something like Space = Shift, AltGr = AltGr ;-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #615 on: May 16, 2017, 08:44:27 PM »
Ok, so I have a working version of Seelpy on Windows with AutoHotkey using some of my autohotkey scripts for layers.

Since I don't have a key there, I moved the rightmost bottom key to 1st row  (could try to use Shift I guess).

So, Spacebar accesses the Shifted layer
Alt accesses the AltGr layer

.. and it's nuts !! as expected ;-p
I am able to use in this implementation Ctrl-C/V, Ctrl-D, Ctrl-Q also work ..
even though they are harder to use of course: Alt-Ctrl-.. or Space-Ctrl-..

The Alt layer is on "plain Alt" so left or right can be used, which I think is nice / works like when using either left/right Shifts. But I lose some normal Alt-XX shortcuts functionality.
Could just use RAlt for layer and get back std Alt-XX stuff (tried and it works)

All interesting experiments .. now I need to try to memorize this layout to see how useable it is with my setup.
And see how I like it hehe ;-)
(I do have help images on screen as part of my autohotkey scripts, but with 3 layers, you still have two other layers not displayed to find the next key !!)

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Seelpy 1
« Reply #616 on: May 16, 2017, 10:09:06 PM »
Hurry up and patent it. You're going to be rich!

Just home row and thumb seems fun.
Humans can be gay.
Superman is superhuman.
Q.E.D. Superman can be supergay.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Seelpy 1
« Reply #617 on: May 16, 2017, 10:15:53 PM »
I happened to notice that the link for BLOU in KLA was not working ..

Um, can you be more specific? It works from here when I select it...

(yes, I copied the layout from that URL you posted)

thanks, Ian
« Last Edit: May 16, 2017, 10:49:02 PM by iandoug »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Seelpy 1
« Reply #618 on: May 16, 2017, 10:56:54 PM »
Hurry up and patent it. You're going to be rich!

Just home row and thumb seems fun.

I checked the numbers... I can't afford it, and I don't see any current manufacturers plonking down large amounts of money for something that will likely never be a big seller. QWERTY is too entrenched (just go ask the Colemak fanboys).

It looks like getting major market coverage will cost about 1 million Rands (about USD 76k at current rates). Then there are yearly renewal fees after that. That's before you even look at cost of manufacturing and marketing etc. I'm guessing Maltron only patented theirs in a few selected countries, and get a licence fee from Kinesis. They probably make more that way than from their own sales.

So yeah, getting rich would be nice, but the deck is stacked against small guys with radical ideas :-)

cheers, Ian

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Seelpy 1
« Reply #619 on: May 17, 2017, 08:44:16 AM »
Um, can you be more specific? It works from here when I select it...

(yes, I copied the layout from that URL you posted)

thanks, Ian
Oops, sorry for the confusion.

If I load BLOU, the link under "More Info" says "Web" and points to http://kla.keyboard-design.com/web which fails if I try to click it / follow it.

Which is why I posted the MGTAP link in my message, in case the link had been lost.

thx

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Seelpy 1
« Reply #620 on: May 17, 2017, 09:18:05 AM »
If I load BLOU, the link under "More Info" says "Web" and points to http://kla.keyboard-design.com/web which fails if I try to click it / follow it.

Which is why I posted the MGTAP link in my message, in case the link had been lost.

Ah, yes... I need to go through all the json files with the layouts and make sure they all have the correct info. What typically happens is I grab an existing layout, edit it, change the name, and save it... but the "meta data" is not directly editable via the web interface, you need to do in an editor and I tend to forget/skip that step.
It's on the ToDo list... :-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #621 on: May 17, 2017, 09:24:22 AM »
"Newborn whales, dolphins and porpoises may be the first casualties of the Vancouver park
board's ban on new cetaceans at the Vancouver Aquarium."

.. what's so special about this sentence, you ask ?
1st thing I typed with Seelpy, during my lunch break hehe, it's something else that Seelpy !!

"Same finger" gets a new meaning here : when t-h is on the same key but different layers hihi ;-)

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #622 on: May 17, 2017, 11:04:49 AM »
.. what's so special about this sentence, you ask ?
1st thing I typed with Seelpy, during my lunch break hehe, it's something else that Seelpy !!

"Same finger" gets a new meaning here : when t-h is on the same key but different layers hihi ;-)

Interesting choice. Yeah that t-h worries me, I've tried various things to split them up but so far nothing has worked in terms of improving the score.
I even swapped e with space, which worked for some tests but not others. Part of the problem is the T ... maybe that need to swap to left hand. I've tried moving it to index finger but no real difference, and then you end up with T-h on same finger, not good.

On the other hand perhaps when you get the timing right, as if playing a video game, then it may be extremely fast.

I must finish my keyboard that I can test that layout on Ergolinear hardware.  As well as the poor X6.4H...

On a totally unrelated note, I was quite horrified to see how badly the Workman Programmer layout does overall, given that I was originally going to use it for my keyboard. So I suppose there is some benefit to all this keyboard research after all...

At some point I must dangle this layout in front of the Colemak guys, and then run for cover... :-)

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Seelpy 1
« Reply #623 on: May 17, 2017, 03:40:09 PM »
I checked the numbers... I can't afford it, and I don't see any current manufacturers plonking down large amounts of money for something that will likely never be a big seller. QWERTY is too entrenched (just go ask the Colemak fanboys).

It looks like getting major market coverage will cost about 1 million Rands (about USD 76k at current rates). Then there are yearly renewal fees after that. That's before you even look at cost of manufacturing and marketing etc. I'm guessing Maltron only patented theirs in a few selected countries, and get a licence fee from Kinesis. They probably make more that way than from their own sales.

So yeah, getting rich would be nice, but the deck is stacked against small guys with radical ideas :-)

cheers, Ian

At least post entry to deskthority wiki. Some geekhack users who use advanced layers on ergodox may also appreciate this novel layout.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Seelpy 1
« Reply #624 on: May 17, 2017, 10:44:06 PM »
At least post entry to deskthority wiki. Some geekhack users who use advanced layers on ergodox may also appreciate this novel layout.

Yeah, I also thought that would be a good idea. I should probably first post an entry about Ergolinear, as well as add entries for some other good layouts like Vu Keys. DT wiki sometimes seems to be haphazardly maintained.... guess the site owners are also very busy.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #625 on: May 18, 2017, 12:01:52 AM »
Interesting choice. Yeah that t-h worries me, I've tried various things to split them up but so far nothing has worked in terms of improving the score.
I even swapped e with space, which worked for some tests but not others. Part of the problem is the T ... maybe that need to swap to left hand. I've tried moving it to index finger but no real difference, and then you end up with T-h on same finger, not good.

Well actually space -T is also some finger. For that matter, check bigrams that involve space before and after a character.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #626 on: May 18, 2017, 12:13:35 AM »
Well actually space -T is also some finger. For that matter, check bigrams that involve space before and after a character.

One step ahead of you... :-) already made changes to remove cap letters above space and replace with punctuation with 'zero' or low chance of being preceded or followed by space... currently = ! @ but should probably swap out ! and replace with _
= is more problematic, it is needed for programming (ie wants to be on a major finger) and may or may not be space surrounded, depending on programmer style.

Will take a look at the space-char bigrams. Think I have them somewhere here.

Cheers, Ian

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Seelpy 1.3
« Reply #627 on: May 18, 2017, 12:44:22 AM »
Still a work in progress.

Image shows same-finger usage for Alice, measuring key presses. Finger penalty likewise down. Right middle much better ;-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Seelpy 1.3
« Reply #628 on: May 18, 2017, 09:23:22 AM »
Still a work in progress.

Image shows same-finger usage for Alice, measuring key presses. Finger penalty likewise down. Right middle much better ;-)
Hehe, very nice. Getting closer to the unattainable 'no costs' ;-)

I 'hand-tested' a bit yesterday evening again, and I could start to see how it could flow (with a lot of practice !!)
Unfortunately for me, using AltGr to access one of the 'layers', even on a Sculpt Ergo which has Alt keys closer to the center, is just too slow, makes no sense. The spacebar works great as a thumb key, but Seelpy needs two thumbs keys .. as you well know ;-)

Trying to see how it could be adapted for 'dumb keyboards', seeing as you are getting such could results with this idea !
My current idea would be lowercase letters mainly on mid/top row on two 'layers' but use Shift to get uppercase letters.
(I can get this to work with AutoHotkey on Windows, but it is an unusual way of doing things?)
Not expecting as good results of course since this would be going half-way on the idea.

Do you use an optimizer program to create your layouts or create them by hand ?
(I tried *once* to create one by hand .. and failed miserably hahaha)

bonne journée

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Seelpy 1.3
« Reply #629 on: May 18, 2017, 10:02:06 AM »
Hehe, very nice. Getting closer to the unattainable 'no costs' ;-)

Trying to see how it could be adapted for 'dumb keyboards', seeing as you are getting such could results with this idea !

Do you use an optimizer program to create your layouts or create them by hand ?

Okay I've made some futher tweaks (pics from Alice below). It's not necessarily better on all tests, need to do proper cycle of tests which takes like 3 days to do to compare.
Same finger presses are getting very low.

I think you will struggle to get this comfortable on anything ANSI-like... it would work best on Ergolinear, and possibly Ergodox/Kinesis. I am grateful for feedback, as you know it's all theoretical this end at the moment.

I did take a look at AdNW optimiser (and Michael's one before) but found Michael's layout restrictions too restrictive and didn't spend enough time with AdNW before getting involved with KLA.

So yeah, I do it by hand and eye. Rely a lot on frequency tables and common sense and intuition. There are layouts that put A or N on the pinky, which in theory is insane, but they still manage to get decent scores, so it's a combination of art and science I guess.... I treat it like a game, play with patience and persistence like any good programmer... :-)

Something that has been worrying me a bit lately is that we are placing a lot of faith in Den's scoring model. While the results look sane, it is possible that some weightings may be a little wrong, (eg using a 5 where a more correct number would be 4.635, for example) which could be sending me down the wrong path.... but determining if that is the case will be difficult.

This version gets better scores on the number tests, even though I think version 1 looks more human-friendly with the number layout.
Also Ctrl-x/c/v is now thoroughly borked.

Anyway, pictures of Alice for your viewing pleasure :-)

« Last Edit: May 18, 2017, 10:59:27 AM by iandoug »

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #630 on: May 18, 2017, 11:49:08 PM »
KLA counts thumbs as a third hand. so same hand scores will be very low even if you overuse the thumbs and you type consecutively on the same hand between thumb and fingers. When thumbs count as the same hand as other fingers, adjusted scores will offset the lower distance, bringing scores closer to other layouts.

see this section of code in kb.js:

Code: [Select]
KB.finger.leftRightOrThumb = function(finger) {
    switch(finger) {
        case KB.finger.LEFT_PINKY:
        case KB.finger.LEFT_RING:
        case KB.finger.LEFT_MIDDLE:
        case KB.finger.LEFT_INDEX:
            return "left";
        case KB.finger.RIGHT_PINKY:
        case KB.finger.RIGHT_RING:
        case KB.finger.RIGHT_MIDDLE:
        case KB.finger.RIGHT_INDEX:
            return "right";
        case KB.finger.LEFT_THUMB:
        case KB.finger.RIGHT_THUMB:
        return "thumbs";
        case KB.finger.NONE:
            return "none";
        case KB.finger.BOTH_THUMBS:
            return "both";
    }
    return "none";
};

Another weird thing is the unusually low same finger penalty. Apparently using thumbs can buffer the finger-to-finger combinations. But this is lesser effect on score, whereas same hand has a bigger effect. This is the real reason for the existence of your layout; the essential benefit that is not affected by any scoring algorithm.

« Last Edit: May 18, 2017, 11:55:24 PM by Den »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #631 on: May 19, 2017, 12:05:16 AM »
Another weird thing is the unusually low same finger penalty. Apparently using thumbs can buffer the finger-to-finger combinations. But this is lesser effect on score, whereas same hand has a bigger effect. This is the real reason for the existence of your layout; the essential benefit that is not affected by any scoring algorithm.

So noted, thanks. I think I should stare at that code tonight .... :-)

Cheers, Ian

I suppose one benefit of Seelpy is that it will be harder to type CH when you mean Ch.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #632 on: May 19, 2017, 01:25:23 AM »
So noted, thanks. I think I should stare at that code tonight .... :-)

eow, 5000 lines... will have to print the relevant parts. Maybe all those templates and things need to be moved to a separate file, so that the business side of the code is easier to deal with.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #633 on: May 19, 2017, 01:14:32 PM »
The scoring may also be flawed in that more keys pressed is not punished. Intuitively, more key presses should lead to higher effort scores on finger usage; which is obviously not the case currently. Thus shifting to use two fingers for one character has negligible load on the score.

Is this the desirable outcome? That is, is using two key presses to print a letter more ergonomic than a single key press to reach a more distant key?

« Last Edit: May 19, 2017, 01:17:35 PM by Den »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #634 on: May 19, 2017, 02:28:26 PM »
The scoring may also be flawed in that more keys pressed is not punished. Intuitively, more key presses should lead to higher effort scores on finger usage; which is obviously not the case currently. Thus shifting to use two fingers for one character has negligible load on the score.

Is this the desirable outcome? That is, is using two key presses to print a letter more ergonomic than a single key press to reach a more distant key?

I thought that was the whole point of your revised scoring mechanism... to count vertical distance as well as horizontal distance, because Patrick's scoring seemed to be rewarding Arensito for the extra keypresses when it should not have.

I actually tried putting 4 chars on the keys under middle and index today, but the scores went down. So 3 works but 4 does not.... perhaps that demonstrates that your scoring is working?

If your worry is accurate then all the AltGr layouts need to be dumped... :-)

Which brings me back to my comment about the reliability of your scoring algo... if for example we agree a thumb press is very little effort compared to a pinky. The problem comes in the relative effort you assign to each.. and if you are say 0.1 off, then multiplied by hundreds or thousands of presses, it makes a difference. And leads to us developing based on wrong data.

Please don't take that as a criticism... I don't know if the numbers are wrong or not. As I've said previously, known good layouts like Colemak or MTGap get good scores, and bad layouts like QWERTY or ABCDEF get bad scores, so your algos are at least "mostly" correct if not "perfectly" correct. And I don't know if they ARE not correct, it was just a possibility I had to consider.

Maybe we should discuss the effort weightings... I didn't get around to staring at the code yet, I was instead staring at Seelpy, looking for optimisations. I've got Alice down to 83.14 now (same finger usage went up slightly, had a low of 6, at one point but is now at 18 for that score on Alice. The word tests are less than optimal, I had to optimise for prose OR word tests, and prose is more important. (issue is q vs ' on pinky or inner index).

Most surprising tweak was swapping e and a. Oh yeah, along the way, I solved the t-h problem too. Want to do some further tests then will post latest version.
Seelpy is basically a chording layout, with only one activator per hand. So the distance is less, but the thumbs work more.
Two chording keyboard examples here: https://hackaday.io/project/46-hackadayio-project/log/11239-hacklet-17-keyboards

Didn't we look at relative strength and dexterity of fingers a few months back? Or relative pressing strength? I remember seeing some research about that....

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #635 on: May 19, 2017, 02:43:34 PM »
The other thing is that the order of the letters on the key makes a major difference, eg

a
b c    vs

c
b a

Gives very different scores. Even though both are same key, just different thumbs.
Also it seems like scoring is better if you use the thumb on the other hand vs the thumb on the same hand. Mostly.  Eg in above layouts, if that key is on left hand, then AltGr slot leads to better scores if it is a more frequent letter. And vice versa if key is on right hand. Or so it seems.

« Last Edit: May 19, 2017, 02:46:38 PM by iandoug »

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #636 on: May 19, 2017, 07:13:37 PM »
the finger weights are not the issue. thumbs are supposed to be preferred to pinkies.

the controversial part is the denominator used to calculate the final score. in particular the finger usage section. to compensate for some layouts might be missing characters, score is normalized for how many keys pressed by that layout. but this assumes typists prefer one key per character.

as denominator, higher value reduces score. ie less effort. so more shifts would actually score better. but this is contradictory if finger usage counts efforts of finger presses but huge amount of presses are ignored in the score.

so correct denominator would not encourage more shifts.

your layouts still score amazing on distance. but should score worse for finger usage and same hand.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #637 on: May 20, 2017, 12:43:35 AM »
the controversial part is the denominator used to calculate the final score. in particular the finger usage section. to compensate for some layouts might be missing characters, score is normalized for how many keys pressed by that layout. but this assumes typists prefer one key per character.

Um, okay, so you didn't modify Patrick's approach in that section of code (sorry I'm still bombed from lack of sleep Thurs night and haven't looked at the code).

So we will need to modify it then... so this is also part of the reason why Arensito / AltGr layouts do so well? I assumed he would have considered it because clearly some text has shifted letters, and he allows both AltGr and Shift-AltGr for entering text.

eow.... if we change that scoring then a lot of my 'research' is going to turn out to be barking up the wrong tree... .:-) No matter, the experience will help for the next part.

I was actually wondering about how the algos handle "key not found" because I accidentally left some off recently (typing lowercase instead of upper), and the score was higher than it should have been.

I suppose the "hard-ass" approach will be to abort when you find something that can't be typed, and say to either fix the text or fix the keyboard.... else you are comparing apples and oranges.

Then the logic behind "normalizing" can be changed.

Thoughts?
I have actually removed most of the "character not found" from my inputs, still a few left (usually French accents, but Keyboard Layout Editor has a few arrows etc.). My database-loader program checks for them as well and prints a report at the end.

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #638 on: May 20, 2017, 06:28:28 PM »
I guess evaluating 'how good a layout is' in code is pretty complex and ends-up being an approximation  ..
heck even by hand, it will differ from person to person depending on taste, morphology etc.

I did some fiddling with Mtgap optimizer, modified it to test the idea of using the 'Seelpy idea' on 'dumb kbds'.

As a start I tried a skeleton layout with just 14 keys (most comfy keys) to map 26 lowercase letters + ., on two 'layers'
(unshifted / shifted as far as mtgap knows, I actually use a 2nd layer accessed by Spacebar, each can then use Shift for uppercase versions)

and I did notice that mtgap doesn't seem to account for same-finger on same key
(well, of course, who would've thought that it could happen !!? hehe)

I will do a simple / direct test to confirm this ..

I don't know the code for AdNW and couldn't see anything in the config files that would allow to split/move shifted/unshifted between different keys, so I could not try this idea out with AdNW.

One thing I noticed while test typing a bit, is that personally in this scenario, I kinda prefer an actual Space key on the main keys iso using the Spacebar to enter spaces (does a lot of Spacebar presses otherwise!).
Also, I prefer having Sp on both layers (on the same key).
Space on main keys makes for nice 'rolls' ;-)


iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #639 on: May 21, 2017, 08:31:49 AM »
Also, I prefer having Sp on both layers (on the same key).

Mmm interesting idea, I don't know if KLA will take that feature into account.

The XPeRT layout has two eE keys (one for each hand) but scores badly on KLA tests. So I don't know if it's just a bad layout (patent and all) or just KLA not picking best eE to use in particular situation.

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #640 on: May 21, 2017, 09:29:56 AM »
Mmm interesting idea, I don't know if KLA will take that feature into account.

The XPeRT layout has two eE keys (one for each hand) but scores badly on KLA tests. So I don't know if it's just a bad layout (patent and all) or just KLA not picking best eE to use in particular situation.
just to be clear, by Sp I  mean space :-)

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #641 on: May 21, 2017, 12:39:40 PM »
Seelpy is different style of typing with different merits than traditional. may be preferred if you like chording or you have health problems that prevent you from reaching keys. (although for full chording, might look into stenotype.)

there is claim that chording is slower than traditional typing: http://www.tifaq.org/keyboards/chording-keyboards.html

Arensito is overall great layout for prose with low distance and same finger. its idea for coding is awesome because symbols are common for programmers and who wants to reach all around the keyboard.

some hybrid between seelpy, arensito, and adnw/beakl may or may not work. utilize extra layers, but not as extreme as seelpy with chording. optimizing uppercase still has merit.

Den

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 922
  • Selina is my Superstar
    • View Profile
    • Amuseum
Re: Balanced Keyboard Layout
« Reply #642 on: May 21, 2017, 12:40:47 PM »
if we revise the scoring system, you would have to redo all the comparison charts.

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #643 on: May 21, 2017, 02:03:01 PM »
if we revise the scoring system, you would have to redo all the comparison charts.

:-)
I do that regularly anyway ;-)
I don't mind, I am a seeker of truth... :-)

Was actually going to modify my loader program to just load "extra" file for each test, so that I don't have to redo all tests for all inputs, which takes forever, even though I have iMacros doing the grunt work. There must be a way to run all that javascript "headless" (perhaps Phantom.js?) so that it a) runs faster and b) does not chew up all the memory on my box and c) lets me still work in FF.

[Speaking of which... if I read the code correctly, evertime you add a new layout, KLA "extends" an array in memory to handle the layout... but does it ever release that memory?
Trying to figure out why KLA chews up memory over time, regardless of browser used... and closing browser does not release ALL the memory ... I need to exit out of KDE and restart it to get the memory back.]

On the other hand I have been "fixing" the inputs to get rid of non-ANSI characters so need to redo all tests anyway... have decided once a month is enough :-)

I have also been adding new tests to the mix... added in 300 Trump tweets (which are mostly English as opposed to LOL GTG T2YL8r teenchat), but they have timestamps and some shortened URLs so bit of a mixed test.
I did play around a bit with The Philmarilion but decided it had too much foul language for republishing. I was actually looking for an IRC log with geektalk ... but they seem to have frequent bad language so I guess that's a bad idea.

Have added some more code ( Pangram Checker) in assorted popular/vibey curly-braces languages (C, C++, C#, Java, JavaScript, PHP, Rust, Go) to the mix. Also a bunch of pangrams themselves.

Gentoo has finally bumped me up to FF 52 (was on45 or somesuch before), it seems to be a bit snappier. Hopefully the JS engine is improved.
Tried to split kb.js into three (putting logical layouts in 1 file, physical layouts in another, and the do-sums stuff in the other), severely broke it. Eventually got it to behave itself, but the "personalised" routines were borked, even though I never touched that code. Something to do with how it loads (or didn't load) the hidden QWERTY layout that then gets renamed to Personalized. So will have to restore from live site and try again more carefully.
« Last Edit: May 22, 2017, 12:27:22 AM by iandoug »

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #644 on: May 21, 2017, 02:26:10 PM »
there is claim that chording is slower than traditional typing: http://www.tifaq.org/keyboards/chording-keyboards.html

Arensito is overall great layout for prose with low distance and same finger. its idea for coding is awesome because symbols are common for programmers and who wants to reach all around the keyboard.

I think I did actually read that page once before, in one of my "research alt keyboards" periods (been doing that on and off for years). On the other hand that page dates from 2002....  I agree a full-blown chording keyboard (typically one-handed) will probably be slower than a decent typist. Part of the problem will likely be the key travel... sure it will be more than modern Cherry-style keys. And if you need three or four keys at a time, then it HAS to be slower so that the controller can decided that you actually mean "A" and not "x" which is one finger different.

My tests show that Arensito struggles a bit with English... may be a consequence of the designer being Scandinavian rather than English, so not tailored for English. Very good at programming and other tech tests though.

Speaking of symbols, something that really surprised me was how badly the "Programmer" variants of common layouts do in the tests (as in: bottom of the table). Is this a case of reality trumping logic? :-)
Attached shows worst layouts sorted on "Other Tech", which is mostly numbers/dates/etc.



philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #645 on: May 21, 2017, 06:26:26 PM »
Ooouf, 5 keys (10?) chording kbd !! Really ?
That can't be very quick typing ;-)
"At least 15 hours of training and practice are necessary to learn the chord patterns that represent individual letters and numbers" ..
again, "really?", I which it was so easy to become efficient with a new layout !! hehe

I think another important layer, that we sometimes mention but don't actually take into consideration for layouts, is an 'editing layer'. I discovered that idea with DremayR's 'extend' layer for Colemak.
As Xah mentioned (I believe), we seem to do more editing than typing (programmers .. that's me, at work, 40hrs/week, so most of my kbd time), so it makes sense to have easier / more efficient access to main editing keys.
I know I usually #include mine when trying out a different layout

Quote
Speaking of symbols, something that really surprised me was how badly the "Programmer" variants of common layouts do in the tests (as in: bottom of the table). Is this a case of reality trumping logic? :-)
Attached shows worst layouts sorted on "Other Tech", which is mostly numbers/dates/etc.
Hahaha, wow, Workman programmer has similar overall score as WORST carpalx !!?
Ok, you try on *purpose* to create the WORST layout .. and actual layouts have the same score !!!!
creepy / weird / "I don't understand this"
« Last Edit: May 21, 2017, 06:51:45 PM by philippe.quesnel »

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #646 on: May 21, 2017, 06:49:26 PM »
Here's an example result for a barbone / 14keys layout from a modified Mtgap àla Seelpy. (for 'dumb kbd'  ;D )
Using 'Curl'/AngleZ ergo mods,
ie Lower left row shifted left 1key, so o-x are typed with the index,
also, the same pos is considered the 5th home pos instead of mid column of home row

As usual for mtgap, SC same finger is in there ;-p
UE and AO too!

Code: [Select]
Hands: 47% 52%
Fingers: 8.0% 12% 15% 13% 0.00% 0.00% 17% 17% 10% 8.0%

(2nd layer, access with Space/thumb)
    q  j          k  z
 .  v  y  ,    f  w  p  g
        x      b

(main layer)
    m  u          d  c
 i  n  e  a    h  t  s  r
        o      l

Compared to traditional Mtgap 30 keys
Code: [Select]
y  p  o  u  j   k  d  l  c  w
i  n  e  a  ,   m  h  t  s  r
q  z  /  .  :   b  f  g  v  x

I'm also trying out this idea with more keys, 16, 18..

iandoug

  • Gold Member
  • ****
  • Posts: 434
    • View Profile
    • Keyboard Design
Re: Balanced Keyboard Layout
« Reply #647 on: May 22, 2017, 12:41:54 AM »
@philippe:

Yeah, regarding editing... I am constantly nagged by the voice in the back of my head that I should pay attention to that... I can't live without the backspace key... problem is that only way to test such things is by using keylog as input, and then I can't publish the keylog because it will contain things I don't want spread.

We'll probably need to modify KLA to handle all the other keys ... as well as have bigger test layouts than the standard main block.

Personally I'm rather horrified at the direction that my designs are heading (multi layers on reduced key count), because I have previously ranted to Den about how I DON'T want that, as I have enough trouble getting + and = the right way round already... or [ and { etc. But clearly in terms on KLA testing having to move the hands less leads to better scores.

I suppose putting editing on main keys will be better on something like Ergolinear than on ANSI, even if only because the keys are not staggered. (Before I forget, current Seelpy layouts destroy Ctrl-x/c/v ease-of-use etc but better workaround will be to put dedicated cut/copy/paste keys along unused (by me, Den has nav there) keys on bottom row. Then we can optimize keys without worrying about legacy issues.)

Mmm... if you put editing in main block, that just leaves the Function keys to worry about... and the numpad. I suppose you could do a numpad in three rows if you doubledecker the numbers  and don't have too many other things, but printing all that on the keys is going to get a bit messy :-)

I will ponder your MTgap layouts... interesting ideas... :-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #648 on: May 22, 2017, 08:09:41 AM »
For the edit layer, I use this (modified from DreymaR's extend layer)
Code: [Select]
Esc                     PgUp   Home  ^    End   Del
     Shf  Alt  Ctrl     PgDn   <     v    >     Bs
^z   ^x   ^c   ^v             ^c    ^x   ^v    ^z
Still not 100% comfy with it yet, but enough that "can't live without it now" ;-)

philippe.quesnel

  • Member
  • **
  • Posts: 31
    • View Profile
Re: Balanced Keyboard Layout
« Reply #649 on: May 22, 2017, 08:24:21 AM »
Hahaha life is funny.
As I was adding more and more keys testing 'Seelpy for dumb kbds' w. Mtgap: 14,16,18,
I decided to just go directly to 30,32 keys

Full circle back to almost all letters on main layer and symbols on 2nd layer ..
sounds like Ian X4 / Arensito & cie !!
(that was where I was at, experimenting, before trying out the Seelpy idea hehe)

quick run gives (2 letters only on 2nd layer)
Code: [Select]
@  ?  $  `  ~      z  {  }  %  #
:  (  ) SP  [   ]  ;  "  =  !  |
/  <  >  \      *  j  +  &  ^

,  y  o  u  '      g  n  d  v  q
a  i  e SP  _   c  r  h  t  s  f
.  -  k  x      w  l  p  m  b

2 letters only on 2nd layer .. and I was not using 2 keys ('most costly') of the 32 !
So might as well just go back to 'all letters' + 5 symbols main layer with
2nd layer all symbols !!  ::) ;D
(Should make for much quicker runs too 15seccs vs > 15mins)