I can do some simple math and a tiny bit of coding, but for the life of me I can't figure out how I would find an optimal keyboard layout when there are 403291461126605635584000000 possibilities. Can't brute force that! How in the world would I be sure that my layout is the best for the parameters set?
To give a bit of context. I'm building a 32-key board with just 26 keys for characters. Exactly the alphabet. 3 keys for pinky, ring and middle finger and 4 keys for index. (modifiers and (back)space for thumbs)
Goals are as follows ranked by importance:
1. Low repeated finger use (even better if same finger is only used after two others)
2. High home row usage
3. Hand alteration and even hand usage
4. High usage of index, mid and ring. medium usage of pinkies.
I think it makes sense to first create groups of letters that have a optimal alternation rate for my languages. These groups can then be assigned to fingers to create alternation between hands and right amount of usage to pinkies. Then the keys can be put in a specific order within the groups to ensure high home row usage.
But... I have no idea if this is a way to come to an optimal solution. Even worse, I don't even know how to make these groups and allocate them to fingers.
I'll be working in Python probably, but as it's just math I think that doesn't matter a whole lot.
Looking forward to your input