- Install nix.
- nix profile install nixpkgs#vscodium
- nix profile upgrade ‘.*’
Won’t auto update but you could add the upgrade command to a login script or something.
Won’t lie, nix has a high learning curve to get the most out of it, but installing a single app is pretty simple.
I haven’t made a keyboard in awhile but anything that supports QMK (or whatever is new and shiny today) should be able to support this.
QMK and the like are custom firmware so you can pretty much code up whatever feature you need.
If you are looking for a pre-built, I know my Tofu65 supports QMK from https://kbdfans.com/.
QMK is written in C but they do have a no code tool I used for my Tofu65: https://config.qmk.fm/#/.
If the tool doesn’t cover your use case and you are able to do a little C, these sections are good starting points for layers (what you call modes) and cursor keys.
https://docs.qmk.fm/feature_layers
https://docs.qmk.fm/features/mouse_keys