Was always mystified about custom keyboards - until I got the idea to do an emoji layer: https://poggers.institute/@j/the-emoji-layer/
Also: swapping colon/semicolon, using fn+hjkl for arrow keys and having Enter at my right thumb.
Once you open that door.
As a vim, linux, shell guy, I still love my mapping of Caps Lock pressed to CTRL und Caps Lock released to ESC.
Being able to reach CTRL and ESC with the little finger while keeping your hands on the home row keys is great.
The only keyboard customisation that I want is to include a trackpoint (or any poiting device) in my TKL keyboard. Such a common sense requirement for devs, but literally zero solutions that are actualy affordable.
The website crashed my firefox (149.0.2 android) 3 times in a row. How to reproduce: open the website, start scrolling
By way of examples, I my favourites were a button to toggle light/dark mode, and the context dependant bit button.
Two notes:
For buying new keys, there are many inexpensive (non-mechanical) USB number pads you can get for $10 or less. It's a good way to get started before committing to something more expensive. Or you can even just use an entire second keyboard; most software will let you bind shortcuts to a specific keyboard.
For software, Hammerspoon [0] is a free option that can handle arbitrary key mappings/macros; however, you'll have to program it yourself, it's more of a hacker's tool than something with a friendly UI.
0: https://www.hammerspoon.org/