Or for those looking for a challenge, switches + ESP32 or Arduino + a 3d printer can take you a long way.

https://www.printables.com/tag/macrokeyboard