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

    • rgoulter@lemmy.worldOP
      link
      fedilink
      arrow-up
      5
      ·
      1 year 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.

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