keyboard_layout_optimizer
genkey
keyboard_layout_optimizer | genkey | |
---|---|---|
10 | 11 | |
78 | 70 | |
- | - | |
8.0 | 8.2 | |
3 months ago | about 1 month ago | |
Rust | Go | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
keyboard_layout_optimizer
- Is there a program, or website to calculate an optimal layout given input parameters?
- Is KeyboardEP good?
-
Help finding layout for multiple languages
Regarding evaluating, comparing and potentially even optimizing layouts, I would recommend my keyboard layout optimizer.
-
Critique my layout! Switching from Dvorak to an auto-generated layout optimized for an otholinear keyboard
I recently got a new ergonomic keyboard, after just typing on my laptop for years. I've used an ErgoDox before, so I went with the Moonlander. While configuring the keyboard and playing with the location of the spacebar, I realized that putting it on the right hand side resulted in a really bad balance between the two hands – it seemed like dvorak was way more right-hand dominant, and that was confirmed when I started looking into it. Went down the rabbit hole of alternate keyboard layouts, and found this repo: https://github.com/dariogoetz/keyboard_layout_optimizer . You can specify the physical configuration of your keyboard and provide a sample text, and it will generate layouts for you, using simulated annealing or a genetic algorithm. Here's a screenshot of the generated layout, along with Dvorak on the bottom:
-
Genetically Optimized Keyboard Layout
That's very interesting. I tried a genetic algorithm myself for my optimizer. In the end, I removed the crossover part, but mainly because I did not understand, how exactly it worked :)
-
Looking for optimal layout for specific key choices/Customizable layout generator
You can find the code for the evaluator here. Apart from my own set of metrics, it includes the ones used in KLAnext and also the ones from Oxey's layout playground (with some caveats).
-
A little help with my overthinking please
Regarding an evaluator with support for multiple layers that can be user-configured, supports "classical" hold layers as well as one-shot layers, and modifiers on "any key" (think home-row mods), I can advertise my own evaluator/optimizer https://github.com/dariogoetz/keyboard_layout_optimizer Saves you some time on a new project ;)
-
Autogenned
Identified (amongst others), by tweaked version of https://github.com/dariogoetz/keyboard_layout_optimizer
-
Yet another keyboard layout evaluator/optimizer
I want to introduce a pet project of mine that I have been working on in the last year - a keyboard layout evaluator/optimizer: https://github.com/dariogoetz/keyboard_layout_optimizer
- [OC] Which language is easiest to type on the QWERTY keyboard?
genkey
-
Is there a program, or website to calculate an optimal layout given input parameters?
semilin/genkey
-
I put the Full Maks Minimo layout onto my 5x15 ortholinear with some slight modifications, would love to hear your thoughts.
if you can extract the text from those emails and put it in a single file what you can then do, download genkey, (docs can be found here, and load that file in to do analysis. If you wanna try handmade swaps without generation, you can use this little thing I made which lets you drag and drop to swap and rightclick to disable keys which can give you some immediate feedback on the changes you make.
-
Best keyboard layout analyzer from corpus (I bulid my own.)?
genkey is usually what's used, you can also use your own corpus with it. a200 is also pretty useful but might not work on windows
-
Backside Keyboard
https://github.com/semilin/genkey this is the one I have in mind currently. I currently use a keyboard layout made by this, and I also know semilin.
-
Should I create my own keyboard layout?
More importantly it's got things to look for in section 2: stats to rate a layout by, usually generated by the DH analyser, genkey (from the person who created Semimak) and lately the a200 analyser (by the person who created the Pine layouts). In a very general sense, sfb >> dsfb > redirects with onehands, rolls and alternation being personal preference, given a sensible hand and finger balance. Stats shouldn't be a crutch to justify a certain layout, but they can give valuable insight in how a layout does in certain aspects and how it will perform generally. Even people who do know what they're doing rely on analysers a lot for sanity checks as they make misakes really easy to spot. Creating layouts is a lot of fun though, and me and the homies in the alt layout discord are always willing to help :)
-
I drew up some initial sketchs for my optimal keyboard layout and was told you guys might have some advice on it?
I'm guessing you have no prior experience with creating layouts, so I think you should probably make yourself familiar with the general idea of what makes a layout good or bad. I think section 2 of this document should give a good overview (I think it's useful in general, there's also information about the data used for analysis and contains a tonne of good layouts, sorted by sfb). A lot of those you can find with analysers like the colemak DH analyser or genkey, and they can give you a good idea of when a layout is 'good'. To be very brief, generally it comes dowt to sfb >> dsfb > redirects with alternating vs rolling and onehands being personal preference, assuming that you keep a sensible finger and hand balance. Stats aren't the end-all be-all, but are really useful guidelines. Even if you do know what you're doing, it's almost inevitable you analyse your layouts at some point.
-
How could I possibly edit EPKL layouts?
About your last paragraph: I 100% agree with you! And that's the beauty of alt layouts, it's all preference. But I want to make this clear, if you are looking for an optimal layout for portuguese, Colemak is not the way to go. And in my experience, all layouts that I've seen are trash for portuguese. If you want to create one, go ahead, as long as you know what you are doing. You can use Semi's analyzer for this, just insert your own corpus and see what you end up with.
-
As simple as ABC.
Results were geneted using Genkey, the analyser used to create Semimak. The analyser grades layouts with a score (based on a bunch of metrics), the lower the number the better the layout basically which is what the numbers in the bottom mean: [191, 195] are all layouts that scored between 191 and 195
-
Recommendation for New QWERTY-switcher for Moonlander?
I think they are simply a % at the moment, not really weighed for distance/finger strenght. Semi's genkey has 'finger speed' which has not yet been included in the doc but which should be what you're looking for. It's essentially how often, far and fast a finger has to move, weighed by how strong a firger is supposed to be (stats garnered by Semi), so a 2 row sfb would mean very high speed (bad). I think that's what you mean by finger weighed?
- switching from Dvorak to Mtgap/Engram?
What are some alternatives?
Keyboard-Heatmap - Realtime Keyboard Heatmap showing the character distribution of texts - made with heatmap.js
BigBagKbdTrixPKL - "DreymaR's Big Bag of Keyboard Tricks" for Windows with EPKL
argmin - Numerical optimization in pure Rust
a200 - A simple, spreadsheet-like layout analyzer
kbct - Keyboard keycode mapping utility for Linux supporting layered configuration
keygen - An(other) algorithm for generating optimal keyboard layouts.
APT
oxeylyzer
layout - An article about my layout and releases for its installation.
TySug - A project around helping to prevent typing typos. TySug (Typo Suggestions) suggests alternative words with respect to keyboard layouts
kb-layout-evaluation - Evaluate ergonomic keyboard layouts over multiple languages