Handwired Skeletyl powered by FAK
Thanks! Have fun tinkering once you get the boards 😁
Btw your work on Cheapino is awesome! Made me aware of other matrix scanning methods. I’ve been trying to do round-robin matrix scanning on FAK and so far looks like it’s working well
Well, there are many ways to do that. It’s kind of a rabbit hole on its own. For me, I prefer layers to combos to access special keys like symbols, numbers, and function keys.
If you meant modifiers like Ctrl and Shift, I use home row mods. I also started with 40+ keys like a Piantor and swore I would never like home row mods, but ended up loving them after trying it.
Anyway, layers feel pretty intuitive to me. What do you think is making layers not easy for you?
Handwired Skeletyl powered by FAK
FAK firmware adds split support, combos, media keys, and full examples
[https://lemmy.world/pictrs/image/7fb1ad46-2be4-4fb7-8323-a7bedcb14cb8.jpeg] https://github.com/semickolon/fak [https://github.com/semickolon/fak] FAK is a keyboard firmware for the CH55x series of very cheap chips, with the purely functional programming power of Nickel [https://nickel-lang.org]. The project aims to make keyboards much cheaper and to make configuration more declarative and fun. New features: - You can now make split keyboards with FAK! - Combos of up to 8 keys that get the same treatment as physical keys - Media keys for playback and volume control Most importantly, three full examples are now in the repo of varying difficulties. The beginner example demonstrates how to make a simple keyboard and keymap definition and it looks almost like JSON (but with “variables”). The intermediate and advanced examples demonstrate how powerful Nickel can be. It features parameterization of keymaps and layouts, advanced home-row mods with eager decision, automatic generation of home-row mod behaviors based on their key position, and more. You can even bring your configs to a higher level of abstraction and be able to do something like this: base_layout = "WFPBJLUYSTHKXNAIRCGDM,.O" This, for example, defines the sequence of keys in your base layer and, since it’s just a string, you can change it very easily. Somewhere along the way, this string of characters becomes kc.W, kc.F, kc.P, ... but done automatically. Abstractions like these can help make your configs more flexible and modular and they allow for code reuse across multiple keyboards and layouts (like QMK userspaces!) I’d love to hear what you guys think! Any feedback, suggestions, and testing is appreciated! :)
Hmm actually, FAK could be extended to CH582. It would have to be a complete rewrite on the hardware code, but I could keep the Nickel config mostly compatible between CH55x and CH58x.
You just gave me an idea. Sounds like I can make a FAK spec and then there’d be compliant hardware-specific implementation for different chips 🤯
Yep, and I think they’re even working on dongle mode. They call it “triple 2.4G” on the readme.