The BYPO layout: Trying to create a layout optimized fo French (and English) for Corne-style keyboards - eviltoast

Coming up with a new layout is HARD :D

The main constraints of a Corne-style keyboard is that there are much less keys available than what’s necessary to write any latin-script language besides English.

One of the main design principles I had was to push all accented characters on an accent layer, breaking with Bépo where almost all of them are directly accessible (but need a full-size keyboard to work), despite some characters like é or à being much more common than Z or K for example.

My main goal was to optimize for French first, English second. Home row is pretty good for both and based on the Bépo layout, except U which seems pretty useless in English. Top row is OK I guess. More skewed towards French, but still rather optimized for both. Bottom row is good for French despite keeping the ZXCV cluster, the right part is not great for English. W and K are pushed to slightly less accessible positions because they are basically never used in French. But they are relatively common in English. So IDK.

  • luckybipedal@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I wrote a SW a while ago that does an automated optimization of keyboard layouts for a given body of text. It only optimizes the base layer. Since I did this with small/custom keyboards in mind, it only considers the core 3x10 keys. You’d still need to create other layers for numbers, symbols, etc. Even with all the automation, it’s still hard to make a good layout. It depends a lot on the text you use to train it, and on the set of criteria you’re trying to optimize (heat map, rolls, same-finger bigrams, hand alternation, minimal finger movement, etc.). It also generates many layouts, so choosing one can be daunting. I added a ranking system that should make it easier.

    The project is dormant at the moment. I never quite got to the point where I was ready to commit to actually learning one of the auto-generated layouts. I want to pick it up again at some point, write some documentation and make an “optimal” layout for my Mantis keyboard. The code is on github: https://github.com/fxkuehl/kuehlmak