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@awful.systems
    link
    fedilink
    arrow-up
    2
    ·
    1 year 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
      arrow-up
      3
      ·
      1 year 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@awful.systems
        link
        fedilink
        arrow-up
        2
        ·
        1 year 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
          arrow-up
          2
          ·
          1 year 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@awful.systems
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

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