RealSimControl has “embedded FMS/CDU” configuration for RSC Matrix firmware.
You don’t need to assign all those 140 buttons one-by-one, you just need to select one device (Boeing CDU or Airbus MCDU) in the configurator.
Here is the matrix wiring diagram for two CDUs (Boeing style and Airbus style). The 16 blue columns are the multiplexer inputs and the 12 green rows are the digital pins on Arduino Nano/Uno board:
Airbus style MCDU matrix wiring is the same, except for 3 additional buttons. Note the yellow line from the Y12 column and green branch from the D6 row and additional “brightness” buttons on the Y15 column:
See How to Connect RSC Matrix here: https://realsimcontrol.com/io_kmx.html
Also, the “standalone” SimVimPanel MCDU for Raspberry or any “stick-PC” or mini-PC is available.
You can use either small LCD screens for a single left /right CDU or a wide LCD screen for both CDUs.
The simple and quick way of making CDU bezel is gluing usual cheap momentary micro switches to the backside of the PVC bezel and solder thin wires horizontally and vertically across switches to forming the matrix.
Of course, the toggle buttons should be small (flat) so that the screen is closer to the bezel cutout, in the picture below they are enlarged to a visual representation. You can find the buttons with a height of 2-3 mm.