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).

  • @ChicoSuave
    link
    77 months ago

    That doesn’t look very ergonomic

    • @rgoulterOP
      link
      57 months ago

      Sure.

      One of the neat things about mechanical keyboards (broadly) is that there are all sorts of avenues for creativity that people find interesting. Some people are enthusiastic about making their keyboard look good, or sound good. Some people like designing PCBs.

      I saw the FAK firmware was quite constrained… it’s well suited to small keyboards, and it’s got a low cost microcontroller. I’m sharing here about an example of a keyboard designed to use that, and some of the firmware using that. I figured some people here might find it useful or interesting.

      For the keyboard in the image posted, there are different decisions which could be made which could perhaps improve comfort. Different decisions would come with different advantages and costs.

    • @[email protected]
      link
      fedilink
      27 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.

      • @rgoulterOP
        link
        37 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.

        • @[email protected]
          link
          fedilink
          27 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).

          • @[email protected]
            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

            • @[email protected]
              link
              fedilink
              27 months ago

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