I’m not sure I understand. I have an ergodox moonlander and while it’s true there is no dedicated button for Function keys, that’s what the layers are for. It’s kind of the point of a configurable customizable keyboard.
So for me I have all my special symbols under my left hand while my right hand holds a special key. Takes some getting used to, but once I had practiced the special keys are actually closer than before because they’re all the normal keys. Similarly I have arrow keys under the keys labeled ‘hjkl’ when another key is held. My Function Keys are all accessible with special key and the number keys.
It takes some tweaking and tuning to figure out the layouts you want, but the whole point of a keyboard like this is that you can tune it to be whatever you need it to be. Now, if you don’t like to tinker and just want something out of the box, I get that, but even the default config has function keys, I think. Maybe you just didn’t read about how it works?
Some tips:
apt build-dep
, apt source
, and debuild
to try and recreate the native apt build process. These tools will give you the source that built the system package, and its dependencies, and allow you to build a deb yourself out of it. Test the build to make sure it’s working as-is. If it is, and if the software’s dependencies haven’t changed too much, you can even use apt to fetch the old version that’s in the repos, update the code to reflect the upstream release, and then test the build there to see if it still builds. If so, now you have something you can start working off.Good luck out there, and try not to be discouraged!
I get what you’re saying, but I think the issue with optional memory safety features is that it’s hard to be sure you’re using it in all the places and hard to maintain that when someone can add a new allocation in the future, etc. It’s certainly doable, and maybe some static analysis tools out there can prove it’s all okay.
Whereas with Rust, it’s built from the ground up to prove exactly that, plus other things like no memory being shared between threads by accident etc. Rust makes it difficult and obvious to do the wrong thing, rather than that being the default.