I would recommend using Control Surface Library as your framework. It is robust and flexible and has lots of different hardware options that have already been integrated into this framework by the community. This enables you to go all out on design ;) https://github.com/tttapa/Control-Surface
Together with a friend I've been working on this beasty project in C++ (initially without the CS lib). We did some liveshows back then and decided that we needed some more control gear. But not just a laptop focusing launchpad, we wanted to forget there was even a laptop (or other hardware) attached to this controller, so that all our attention and focus would be on the music and the crowd, and above all: we wanted something that would instantly announce your presence on stage. So after more than a decade of work (on and off), and a lot of iterations, we have build 2 quarter circle 'cockpit style' midi controllers made from bend aluminium, spanning more than 2,5 meters combined. We've made our knob design with the idea that you would literally be able to fold your laptop and store it underneath the controller, and perform a liveset without looking at a screen.
The last bugs are still being solved, so we hope to test this in a live setting soon :) (For some pictures see: https://photos.app.goo.gl/8NHQM1Us71oJyB5B9)