4 ms·
Kirei is a work-in-progress keyboard library written in Zig
- systems 3y ago[flagged]
- timschmidt 3y agoPopularity isn't what defines rust. Speed, concurrency, and safety are. ;)
- bluGill 3y agoI'd say Safety, speed, and concurrency in that order. When Rust advocates talk about the borrow checker I - as a C++ developer - get interested. I can get similar safety and speed from C++ if I use modern C++, but it is too easy to drop back to the unsafe C++ even when modern C++ does the job. (You can drop to unsafe rust if you need, but it isn't as easy, and thus I would expect that Rust developers are not doing that unless they have a real need)
- frankjr 3y ago> I can get similar safety and speed from C++ if I use modern C++ Which modern C++ feature prevents data races?
- kimixa 3y agoRAII mutex locks are a pretty good tool. But like all "modern" c++ features still require programmer diligence to use correctly. Though there are likely other tools outside a compiler error to help enforce this, like static analyzers, or even thread sanitizer to help detect possible issues on a running system. And just like rust do little to protect against general race conditions, deadlocks, or the many other logic issues you can pretty easily hit around threading. Looking back at my experience around issues that involve threads, I suspect the vast majority of issues I see aren't data races.
- frankjr 3y ago> And just like rust do little to protect against general race conditions IIRC those should be impossible if you avoid `unsafe`.
- bluGill 3y agoGood architecture. Which isn't a c++ feature, but data races are not a big problem in my system because our architecture makes this easy. (We use qt signals/slots for cross thread messages)
- lionkor 3y agoHype isn't popularity, its usually a loud minority, and the kind of people happy to jump on anything. That said, Zig is cool, and deserves some attention
- nindalf 3y agoZig is great no doubt, but the irony in this comment increased my RBC count.
- codetrotter 3y agoIt increased your Royal Bank of Canada count?
- CRConrad 3y agoPerhaps his Red Blood Corpuscle count.
- deleted 3y ago[deleted]
- sophacles 3y agoIt's worth noting there's a difference also between hype and genuine enjoyment/satisfaction with a product. Look at sqlite threads - they happen here all the time, and there's cyclic periods where you'll see 2-3 a day for a week or two. This has been going on since forever, and there always seems to be someone in the comments wanting to jump on the "anti-hype train", even though after over a decade of popularity and satisfied users it might not actually be hype.
- moffkalast 3y ago[flagged]
- systems 3y ago[flagged]
- deleted 3y ago[deleted]
- metadat 3y agoI'm struggling to understand the purpose of this library. > Kirei is a keyboard library that you feed inputs to (which keys are pressed) and get outputs from (HID reports) ... It's not just a keyboard firmware In what scenarios might one want to use it?
- deleted 3y ago[deleted]
- foxmoss 3y agoScreenshots/Examples are needed. I'm still not entirely sure if this keyboards for typing or music...
- wredue 3y agoIt’s for whatever. You feed button presses and get back a result. But for a sample. Looks like this is what would sit on your custom keyboard and translate your key presses to something the OS you are plugged in to can use. It’s firmware. Things like the glove80 and Voyager are pretty popular custom keyboards.
- RockRobotRock 3y agoSoftware which makes a keyboard work how you would expect it to. I agree that the wording is confusing. It's obviously targeting the custom keyboard hobbyists.
- __mharrison__ 3y agoI've customized keyboard fw for ergodoxen and other keyboards. I've helped write tiling window managers. I have no clue what this is...
- rational_indian 3y agoWhy do we need this? What problem does it solve? >> Kirei is a keyboard library that you feed inputs to (which keys are pressed) and get outputs from (HID reports) ... It's not just a keyboard firmware This looks like a repeat of the nodejs leftpad situation but this time it's for keyboard firmware.
- AlotOfReading 3y agoIt takes the pin changes (matrix or already decoded keys isn't clear to me) and generates the appropriate HID reports based on whether they're tapped, long pressed, shifted, etc. Not the hardest code in the world to write, but a long way from leftpad and fairly easy to miss edge cases on the first try. Besides, what's the issue with someone writing a personal abstraction library? Java programmers commit greater crimes than this daily.
- ryncewynd 3y agoIt's keyboard firmware for some riscv microcontrollers. If you want to build a custom keyboard with certain low cost mcus
- boomskats 3y agoThis looks like a zmk-ish solution implemented in zig for cheaper/easier devboards like the ch551/2 (and seemingly rp2040, which zmk does support), but with better ux. Better explainer in OP's post on reddit[0]: [0]: https://www.reddit.com/r/ErgoMechKeyboards/s/Dkoy7YZmWs https://www.reddit.com/r/ErgoMechKeyboards/s/Dkoy7YZmWs