an idea I had last week seeing this article is to buy a USB 10-key numpad from a pawn shop, and use something like kmonad[0] to map key presses from that device to specific actions.
Reuse some existing tech, and you can just tape over buttons. It's not exactly the same product for obvious reasons, but I feel like you can do some magic with statusbars and toasts in scripts to get something decent.