ErgodoxE EZ – an ergonomic keyboard with open source firmware

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • kanata

    Improve keyboard comfort and usability with advanced customization

  • I have an Ergodox EZ sitting collecting dust these days. I got a great deal of use out of it and before long I was compiling my own firmware and making use of various advanced QMK features that were not available through the online visual layer configuration tool.

    The keyboard has great build quality, the customer service is great (I got a free replacement for the right half after an issue with one of the keys), the ortholinear layout isn't that difficult to get used to, but ultimately the issue for me was that my hands aren't big enough to use the keyboard comfortably or to type as accurately as I'd like / as I'm used to typing.

    I'm now back on my Apple Magic Keyboard and happier than ever, though with a few tweaks and improvements taken from my time using the Ergodox EZ.

    I am now using kanata[1] which allows me to have multiple QMK-style layers on my regular old keyboard. This is already a huge step up from my pre-Ergodox days! I also like that I can have my layer configurations version controlled in a plain old git/dotfiles repo.

    Since the layers are handled at the software level, I wrote my own integration with kanata, called komokana[2] to switch keyboard layers programmatically based on different state events emitted from my tiling window manager[3].

    What that means in practice is that my keyboard can automatically switch to an app-specific layer when that app's window is focused, or to a workspace specific layer, or to a browser tab-specific layer, or really just switch on any event emitted by the window manager or any specific window manager state.

    For me, this is really the killer feature of my setup now, and one that I don't think would be anywhere near as easy to implement with QMK which sits at the hardware level.

    [1]: https://github.com/jtroo/kanata

    [2]: https://github.com/LGUG2Z/komokana

    [3]: https://github.com/LGUG2Z/komorebi

  • komokana

    Automatic application-aware keyboard layer switching for Windows

  • I have an Ergodox EZ sitting collecting dust these days. I got a great deal of use out of it and before long I was compiling my own firmware and making use of various advanced QMK features that were not available through the online visual layer configuration tool.

    The keyboard has great build quality, the customer service is great (I got a free replacement for the right half after an issue with one of the keys), the ortholinear layout isn't that difficult to get used to, but ultimately the issue for me was that my hands aren't big enough to use the keyboard comfortably or to type as accurately as I'd like / as I'm used to typing.

    I'm now back on my Apple Magic Keyboard and happier than ever, though with a few tweaks and improvements taken from my time using the Ergodox EZ.

    I am now using kanata[1] which allows me to have multiple QMK-style layers on my regular old keyboard. This is already a huge step up from my pre-Ergodox days! I also like that I can have my layer configurations version controlled in a plain old git/dotfiles repo.

    Since the layers are handled at the software level, I wrote my own integration with kanata, called komokana[2] to switch keyboard layers programmatically based on different state events emitted from my tiling window manager[3].

    What that means in practice is that my keyboard can automatically switch to an app-specific layer when that app's window is focused, or to a workspace specific layer, or to a browser tab-specific layer, or really just switch on any event emitted by the window manager or any specific window manager state.

    For me, this is really the killer feature of my setup now, and one that I don't think would be anywhere near as easy to implement with QMK which sits at the hardware level.

    [1]: https://github.com/jtroo/kanata

    [2]: https://github.com/LGUG2Z/komokana

    [3]: https://github.com/LGUG2Z/komorebi

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • komorebi

    A tiling window manager for Windows 🍉

  • I have an Ergodox EZ sitting collecting dust these days. I got a great deal of use out of it and before long I was compiling my own firmware and making use of various advanced QMK features that were not available through the online visual layer configuration tool.

    The keyboard has great build quality, the customer service is great (I got a free replacement for the right half after an issue with one of the keys), the ortholinear layout isn't that difficult to get used to, but ultimately the issue for me was that my hands aren't big enough to use the keyboard comfortably or to type as accurately as I'd like / as I'm used to typing.

    I'm now back on my Apple Magic Keyboard and happier than ever, though with a few tweaks and improvements taken from my time using the Ergodox EZ.

    I am now using kanata[1] which allows me to have multiple QMK-style layers on my regular old keyboard. This is already a huge step up from my pre-Ergodox days! I also like that I can have my layer configurations version controlled in a plain old git/dotfiles repo.

    Since the layers are handled at the software level, I wrote my own integration with kanata, called komokana[2] to switch keyboard layers programmatically based on different state events emitted from my tiling window manager[3].

    What that means in practice is that my keyboard can automatically switch to an app-specific layer when that app's window is focused, or to a workspace specific layer, or to a browser tab-specific layer, or really just switch on any event emitted by the window manager or any specific window manager state.

    For me, this is really the killer feature of my setup now, and one that I don't think would be anywhere near as easy to implement with QMK which sits at the hardware level.

    [1]: https://github.com/jtroo/kanata

    [2]: https://github.com/LGUG2Z/komokana

    [3]: https://github.com/LGUG2Z/komorebi

  • awesome-mechanical-keyboard

    ⌨️ A curated list of Open Source Mechanical Keyboard resources.

  • I'm very late to this party, but here's an amazing list of buildable keyboards[0], specifically linked are the split ones (like Ergodox).

    Most of these today run QMK and specifically the Configurator[1].

    I recommend most people stay away from the Ergodox unless your hands are larger and have a specific reach. While a great keyboard back in 2012-2015, the thumb cluster is outside of comfortable for most people and there have been a lot of improvements in this area over the years.

    If building a keyboard yourself isn't your thing, I highly recommend the keyboard.io crew.

    [0] https://github.com/BenRoe/awesome-mechanical-keyboard/blob/m...

    [1] https://config.qmk.fm/#/hotdox/LAYOUT_ergodox

  • qmk_configurator

    The QMK Configurator

  • I'm very late to this party, but here's an amazing list of buildable keyboards[0], specifically linked are the split ones (like Ergodox).

    Most of these today run QMK and specifically the Configurator[1].

    I recommend most people stay away from the Ergodox unless your hands are larger and have a specific reach. While a great keyboard back in 2012-2015, the thumb cluster is outside of comfortable for most people and there have been a lot of improvements in this area over the years.

    If building a keyboard yourself isn't your thing, I highly recommend the keyboard.io crew.

    [0] https://github.com/BenRoe/awesome-mechanical-keyboard/blob/m...

    [1] https://config.qmk.fm/#/hotdox/LAYOUT_ergodox

  • ErgoDox

    ErgoDox Mechanical Keyboard pcb & acrylic case

  • The official site is https://www.ergodox.io/

    ErgoDox EZ is for those who want a ready-made product. For DIY:ers with a soldering iron, parts have been available from multiple other vendors.

  • splitKbCompare

    An interactive tool for comparing layouts of different split mechanical keyboards

  • I used a Kinesis Advantage as my main keyboard for 10 years. A few years ago I got an Ergodox EZ, but just couldn't get into it. I've been using a NiZ Atom68 as my main keyboard for over a year now and am rather happy with it. I have plans to build and try

    These days I think that there are so many good community designed keyboards [0] that it behooves anyone who has the notion they'd like something better than a standard layout keyboard to do a bit of research and testing. For any keyboard layout it is fairly trivial to make a printout and stick it to your desk to get an impression of how it fits your hand size/shape and your preferred resting/neutral position.

    Recently I've found Ben Vallack [1] to be an excellent resource on keyboard customization and his philosophy echoes my own, though he shows much more dedication to the craft and exploration of keyboarding than I could ever hope or wish to. He has an excellent series on designing and making your own keyboard [2], as well as well thought out explanations and explorations of creating and learning personalized keyboard layouts [3][4]. His more general explorations of usability in computing and beyond have been inspiring as well [5].

      0: https://github.com/jhelvy/splitKbCompare

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • crkbd

    Corne keyboard, a split keyboard with 3x6 column staggered keys and 3 thumb keys.

  • I currently using a Corne[1]. I was never able to fully touch type on a staggered keyboard as I frequently pressed a neighboring key on the bottom and the number row. Now I only have to move my fingers up and down to find the right keys. Also my fingers have less distance to travel.

    [1]: https://github.com/foostan/crkbd

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts