r/ErgoMechKeyboards • u/aaa308-aub • 22h ago
[design] Presenting a one-handed Lily58 keyboard layout as an alternative preference to two-handed keyboards

DISCLAIMER: This is not an ad, everything is open-source. All links go to GitHub.
Hi everyone,
A few months ago, I made an engine to find a (near-)optimal one-handed Lily58 keyboard layout, linked below. From that, I selected what I believe to be the best of the best and called it my prototype.
The Engine: https://github.com/aaa308-aub/lily58-anneal
The Prototype: https://github.com/aaa308-aub/Lily29
The prototype has 4 layers: one main layer, two layers for symbols, and one backup layer for QWERTY -- mainly for people who game. The home position (e.g., what used to be WASD on regular keyboards) is now HTNE here.
This project might be for you for a lot of different reasons, in order of importance:
- To stop moving your right hand between your mouse and your regular (two-handed) keyboard. I noticed that we do this all the time and it distracts us in the moment, and that people who have certain disabilities or challenges may find that really annoying.
- To deprecate most functional keys: F1 to F12, Print Screen, Home/End, Page Up/Page Down, Insert, Alt, Tab, Shift, etc. Yes, there's a real disadvantage here where you have to rebind all your favorite shortcuts like Alt+Tab, but the idea behind this is to personalize your shortcuts using only one "Super" key to do all things functional. For best compatibility, that Super key should be Ctrl.
- To reclaim space on your desk. You don't have to move your keyboard away just to place an A4 paper in front of you.
This may not be for you for also a lot of reasons:
- Your main preference is typing speed over flow, where a two-handed keyboard (split or not) is obviously better. Or, you program without a mouse in Vim-mode and find that superior. Sidenote: This is why I chose a software remapper (called Kanata -- also open-source) instead of flashing all the layers in firmware; for people who already own a Lily58 split and want to use this without abandoning their old layouts.
- The learning curve is obviously pretty high, and you may not like that. I tried to keep it to a minimum by not introducing fancy functionality, like chording, and only apply basic toggles/holds we're all familiar with.
- Not all of us own a mouse with two side-buttons, which is a functional requirement of this prototype. All the PRO's and CON's and other requirements are listed on its GitHub page.
Please feel free to comment whether it's for a critique or a question, or whether it's about my engine -- I haven't discussed the details on that to keep the post short.



