Join us on Wednesday, July 21 at noon Pacific for the Python Your Keyboard Hack Chat with the Adafruit crew!
Especially over the last year and a half, most of us have gotten the feeling that there’s precious little distinction between our computers and ourselves. We seem welded together, inseparable even, attached as we are day and night to our machines as work life and home life blend into one gray, featureless landscape where time passes unmarked except by the accumulation of food wrappers and drink cans around our work areas. Or maybe it just seems that way.
Regardless, there actually is a fine line between machine and operator, and in most instances it’s that electromechanical accessory that we all love to hate: the keyboard. If you buy off the shelf, it’s never quite right — too clicky, not clicky enough, wrong spacing, bad ergonomics, or just plain ugly design. The only real way around these limitations is to join the DIY keyboard crowd and roll your own, specifically customized to your fingers and your needs — at least until you realize that it’s not quite perfect, and need to modify it again.
Hitting this moving target is often as much a software problem as it is a hardware issue, but as is increasingly the case these days, Python is ready to help. To go into depth on how Python can be leveraged for the custom keyboard builder, our good friends at Adafruit, including Limor “Ladyada” Fried, Phillip Torrone, Dan Halbert, Kattni Rembor, and Scott Shawcroft will stop by the Hack Chat. We suspect they’ll have some cool stuff to show off, in addition to sharing their tips and tricks for making DIY keyboards just right. If you’re building custom keebs, or even if you’re just “keyboard curious”, you won’t want to miss this one.
Our Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, July 21 at 12:00 PM Pacific time. If time zones have you tied up, we have a handy time zone converter.
I’m pretty sure the comfort issue with most keyboards, ergonomic or not, is that the keys are the wrong size. We sell gloves in multiple sizes, but most keyboards use the standard 18mm square even when billed as ergonomic.
Lots of people get injuries because they can’t reach the keys, and changing the layout doesn’t help if the switches can’t be closer together due to the keycap size.
I would love to see this applied to a custom 85% or 75% keycap sized board. Small hands need more options for peripherals.
Decreasing spacing might help finger travel with standard layouts, but at the cost of typing errors from less defined keys. I’ve used a number of compact laptop keyboards (10″ netbooks mostly) that are spaced less than the typical 19.05mm square and I keep fumbling keystrokes even after months of use.
For the last year I’ve been using a 58 key split keyboard with a 6×5 layout (Lily58) where all of the alpha keys are 1 key from home position, with the exception of numbers / number symbols on the top row. This reduced motion plus spreading the keyboard apart so my arms aren’t bent inwards has made all the difference in my work-from-home setup vs the traditional tenkeyless I’d used prior. I don’t get soreness in my wrists or shoulders anymore after a day of work.
There are other split designs like the 5 column 4 row Corne that has a strict one-from-home-row layout, but at the cost of relying more on modifiers and tap / timing based mode switching. That’s too much for me at least, as it’s a bigger learning step from traditional compact layouts and is too reductionist to use for keyboard and mouse gaming.
If you do want smaller spacing, there is the Kailh Choc Mini switch that has less travel and is spaced 18mm x 17mm which is closer to a higher end laptop keyboard. However I don’t think 1-2mm in either direction is going to be as effective as reducing the number of keys. But if you want to go that extreme with a split keyboard, there’s the Ferris which has a 5×4 layout using the narrower Choc spacing, and even has its own Rust-based custom firmware.
The difference between US small and extra large glove sizes is much more than a few millimeters, can be as much as a few inches between male and female sizes at the extremes. Actual human hands can vary even more than that.
The point is that the difference in reach between various humans is much larger than what current caps and switches were designed for, usually American men, and removing rows won’t help with the horizontal spacing. Women and people with small hands spend more time stretching their hands and moving them across the keyboard, which leads to more injuries.
Soft keyboards a la Android or iOS, while not as sexy as custom boards with physical keys, are currently the only way to allow users to customize their key size. Moreover, soft keyboards are better for multilingual users, especially if you speak languages with non-Roman character sets. So while it’s neat to roll your own keyboard, it’s also really limited, and I don’t think it’s helpful to imply that this is in any way an ergonomic solution when there doesn’t exist a sizing chart for keyboard keys to match differently sized hands to the correct keyboards.
The world is vast beyond the male English speaking world, and this solution is clearly for a very narrow audience. Just my two cents.
I’ve got short but thick fingers, so while I can’t reach very far without moving my hands as some people, I also wouldn’t be able to touchtype properly at all on a keyboard with a tighter pitch spacing.
That’s the reason 60% keyboards are so popular – putting the previously distant keys on layers that can be activated without moving from the home row eliminates the problems with reach, while maintaining a decent key pitch.
I agree 100% I don’t have large hands, but most keyboards either have odd spacing where I hit multiple keys unintentionally or I have to hover over the board because I can’t reach the further keys without lifting my palms from the rest.
TMK, QMK, Soarers, xWhatsIt, DIY – lots of choices for keyboard controller programming sans Python.
Using python specifically for this task is the primary topic of this talk, so what is your point?
Additionally, nothing was mentioned about *controller* programming. There are plenty of other areas involved in making a custom keyboard than just what you run on it – key layout, 3d part modelling, PCB design, etc.
Is there going to be a recorded version to watch later ?
It’s a text chat, and yeah, it’s archived.
https://hackaday.io/event/180454-python-your-keyboard-hack-chat-with-adafruit/log/195679-hack-chat-transcript-part-1