I saw the FAK firmware that @semickolon wrote / shared here, and thought it’d be fun to try to write firmware for.

Nickel is one of these “JSON + functions” languages.

I found it pretty fun to write declarations for the keymaps. I’ve shared my code at https://github.com/rgoulter/fak but here are some things I thought were neat:

The PCB design files (and other useful files, like plate files, 3DP case files, etc.) can be found at https://github.com/rgoulter/keyboard-labs (there’s also a design which uses the CH552T directly).

  • @unmoored
    link
    17 months ago

    It might not be “hand-shaped”, but the use of layers (and tap-dance/home-row mods) will minimize hand-movement, which is another way to approach ergonomics.

    • @rgoulter@lemmy.worldOP
      link
      fedilink
      27 months ago

      Yeah, minimizing hand movement, and reducing use of the pinky fingers, and letting the thumbs use at least 2-3 keys each are all things that improve comfort.

      • @unmoored
        link
        17 months ago

        It only fulfills point 4 I think, but it does look like it might not be in line with the rules on the sidebar, so it will probably get removed (admittedly I don’t know if posts need to be manually approved here, so I’m not sure about this).

        • @hisbaan@lemm.ee
          link
          fedilink
          27 months ago

          It’s technically a unibody split (notice that t and y are 2u apart) so that qualifies it as ergonomic according to the sidebar if I’m interpreting it correctly

          • @unmoored
            link
            27 months ago

            I thought it might fall into the non-split ortholinear category, but that makes sense once you pointed it out.