Hi
About your reqests....
As Stephan said..
Multiplex Matrix is not planed as i know cause there is no limit of used Mega Boards.... If You need 2000 Buttons then simply use 40 Mega Boards ! ( Cheap chinese boards maby)
Also a support of other Displaydrivers is not primary on target..... Again as Stephan said.... With Max7219 there is no problem if you use self designed Displays instead of the Red 8 Diggit Blocks..... Then all optics and combinations are possible.
Additional we think a cockpit project will include finaly 10, 20 or much more Arduinos..... You can set 32 Max Chips on ONE Arduino. So Splitting is finaly not needed. I Personaly plan to use simply ONE MaxChip for ONE Display ( Whatever it only have 3 diggits .... then i simply not use the other 5 possible slots..... So i will need some more MaxChips.... But save a lot of time with wireing and difficult configuration in Software ! )
****
About the Max Tubes with plugged Displays..... Look here ( German Link but just for information)
This are Fixed ones....
https://www.amazon.de/Ecloud-Shop%C2%AE-MAX7219-8-Bit-Digital-Display-Unterst%C3%BCtzung-IO-Port-Steuermodul/dp/B017CWSO2E/ref=pd_lpo_vtph_lp_img_3?_encoding=UTF8&psc=1&refRID=68MQ2Q5AZ21E0J7TK2ZT
-----------------
and This are Plugged ....
https://www.amazon.de/8-Digit-Display-MAX7219-Digital-Control/dp/B00P9277BE
****
About Last question ....
YES.
In current Version this is all possible.... BUT it is a bit difficult cause it is not possible at the moment to "see" a Position of a Real switch all the time. Mobiflight see only a changing of status.
That means....
1: At Systemstart your rotary switch must be in a Basic Position (Startup State) OR you must use the "Sync Tool" from Mobiflight to set the Sim to same function like your switch at beginning. Otherwise the switch "can" have wrong position at startup .... BUT after one detent turning it is working perect too.
So think about what you want.... Startup State or Sync function or Turning one time ..... Your choice !
2. It is also not possible at the moment to say something like " IF Switch is at COM1 THEN Do something ( like encoder should controll Com1 or Display should show it)
Again we can not read the switch position .....
BUT: We can use a Offset ( Custom range) and we Write it with a value that represent the switch position.
Simply Explaned... We say your rotary switch should write the Offset to 1 if Com1 is sellected... to 2 if Com 2 is selected and so on.....
THEN we can use THIS Offset as indicator .... For Example IF Offset =1 then show COM1 Data on Display..... Or If Offset =1 then Encoder should change Com1.
Summary:
In a future Version this should be much more comfortable.... I already send a concept to Sebastian . But i don´t know if he will build it or when it will be finished.
So You can do what you request already today....... Whatever it is a bit advanced at the moment !
Have Fun !