I want to make custom keyboard software similar to the big ones like G-HUB, Razer Synapse, and corsair ICUE. I want to make it for the custom keyboard(s) that I am trying to sell. Where do I start, I preferably want to be able to make it in C# and I mainly want it to be made for Windows, but if possible I want it to be on Mac and Linux.