The reason I use the MCRO approach and manually editing the INI file is that in my setup, A Saitek X-45, Pro Yoke and dual throttle quads I have all the controls for my aircraft mapped to 10 switches on the throttle quads, some 'common' stuff on the X-45 stick and throttle plus some extra 'views' on a gamepad.
In most of my A2A aircraft I have anywhere from 6 to 13 'control sets' or 'modes' using one user-defined offset (8-bit 0x66D0) that holds the current set/mode. I use 2 of my throttle quad 12 switches to change the set./mode up and down. In theory I can have 256 sets/modes using this method but I have yet to exceed 13
On the Connie, after I had mapped all the various controls and functions to the remaining 10 switches on the throttle quads using 13 sets/modes I looked at the layout Iand decided to consolidate some of those by using a further conditional qualifier, the 'pinkie switch' on my X-45 stick. Thus for several sets I have 20 functions assigned.
I have a small Lua display that pops up for a couple of seconds when I change the set/mode that displays the assignments for that set/mode, initially in 2 lines...the upper 5 switch assignments and the lower 5 switch assignments.
When I added the pinkie switch qualifier I changed the Lua display for those consolidated sets/modes to a 4 line display upper/lower un-shifted and upper/lower shifted. This saves me having to remember all the assignments or use a 'cheat sheet'
Another thing I do is in many cases map multiple functions/controls to the same switch. For instance in the B-17G when I select an engine to start, that same switch also sets the primer to the engine as well as the fire extinguisher.
Here is a sample of my Connie sets 0 and 1, un-shifted and shifted.
Code: Select all
[Buttons.Lockheed Constellation L049]
-{============================================================}-
!1=-{CONTROL SET 0 - WINDOWS, APU - AP COMTROLS - PANELS SHIFTED}-
0=B66C0=0 CP(-C,6)D,14,CM25:43,100 -{Macro A2A_L049: L:WindowSliding1Lever set}-
1=B66C0=0 CP(-C,6)D,14,CM25:44,100 -{Macro A2A_L049: L:WindowSliding2Lever set}-
2=B66C0=0 CP(-C,6)D,15,CM25:43,0 -{Macro A2A_L049: L:WindowSliding1Lever set}-
3=B66C0=0 CP(-C,6)D,15,CM25:44,0 -{Macro A2A_L049: L:WindowSliding2Lever set}-
4=B66C0=0 CP(-C,6)D,16,CM25:21,0 -{Macro A2A_L049: L:ApuStarterGenSwitch tgl}-
5=B66C0=0 CP(-C,6)D,17,CM25:47,2 -{Macro A2A_L049: L:ApuStarterGenSwitch set}-
6=B66C0=0 CR(-C,6)D,18,CM25:122,100 -{Macro A2A_L049: L:ApAileronControl inc}-
7=B66C0=0 CR(-C,6)D,19,CM25:123,-100 -{Macro A2A_L049: L:ApAileronControl dec}-
8=B66C0=0 CR(-C,6)A,0,CM25:120,100 -{Macro A2A_L049: L:ApElevatorControl inc}-
9=B66C0=0 CR(-C,6)A,1,CM25:121,-100 -{Macro A2A_L049: L:ApElevatorControl dec}-
10=B66C0=0 CR(-C,6)A,2,C65879,0 -{HEADING_BUG_INC}-
11=B66C0=0 CR(-C,6)A,3,C65880,0 -{HEADING_BUG_DEC}-
-{============================================================}-
!2=-{CONTROL SET 1 - AVIONICS - BATTERY - CARB HEAT - CARB AIR SHIFTED}-
18=B66C0=1 CP(-C,6)D,14,C66363,0 -{TOGGLE_ALTERNATOR1}-
19=B66C0=1 CP(-C,6)D,16,C66364,0 -{TOGGLE_ALTERNATOR2}-
20=B66C0=1 CP(-C,6)D,18,C66365,0 -{TOGGLE_ALTERNATOR3}-
21=B66C0=1 CP(-C,6)A,0,C66366,0 -{TOGGLE_ALTERNATOR4}-
22=B66C0=1 CP(-C,6)A,2,C66241,0 -{TOGGLE_MASTER_BATTERY}-
23=B66C0=1 CP(-C,6)D,15,CM25:3,0 -{Macro A2A_L049: L:CarbHeat1Switch tgl}-
24=B66C0=1 CP(-C,6)D,17,CM25:4,0 -{Macro A2A_L049: L:CarbHeat2Switch tgl}-
25=B66C0=1 CP(-C,6)D,19,CM25:5,0 -{Macro A2A_L049: L:CarbHeat3Switch tgl}-
26=B66C0=1 CP(-C,6)A,1,CM25:6,0 -{Macro A2A_L049: L:CarbHeat4Switch tgl}-
27=B66C0=1 CP(-C,6)A,3,C66293,0 -{TOGGLE_AVIONICS_MASTER}-
-{=========================================================}-
-{=========================================================}-
!37=-{CONTROL SET 0 SHIFTED - PANELS - AP SERVOS}-
370=B66C0=0 CP(+C,6)D,14,C66506,14992 -{PANEL_ID_TOGGLE}-
371=B66C0=0 CP(+C,6)D,15,C66506,440 -{PANEL_ID_TOGGLE}-
372=B66C0=0 CP(+C,6)D,16,C66506,1064 -{PANEL_ID_TOGGLE}-
373=B66C0=0 CP(+C,6)D,17,C66506,225 -{PANEL_ID_TOGGLE}-
374=B66C0=0 CP(+C,6)D,18,CM25:110,1 -{Macro A2A_L049: L:ApAileronServoOn set}-
375=B66C0=0 CP(+C,6)D,19,CM25:110,0 -{Macro A2A_L049: L:ApAileronServoOn set}-
376=B66C0=0 CP(+C,6)A,0,CM25:111,1 -{Macro A2A_L049: L:ApElevatorServoOn set}-
377=B66C0=0 CP(+C,6)A,1,CM25:111,0 -{Macro A2A_L049: L:ApElevatorServoOn set}-
378=B66C0=0 CP(+C,6)A,2,CM25:112,1 -{Macro A2A_L049: L:ApRudderServoOn set}-
379=B66C0=0 CP(+C,6)A,3,CM25:112,0 -{Macro A2A_L049: L:ApRudderServoOn set}-
-{============================================================}-
!2=-{CONTROL SET 1 - SHIFTED - CARB AIR AXIS - MASTER IGN - PITOT}-
385=B66C0=1 CR(+C,6)D,14,CM25:102,99 -{Macro A2A_L049: L:Eng1_CarbAirLever inc}-
386=B66C0=1 CR(+C,6)D,16,CM25:103,99 -{Macro A2A_L049: L:Eng2_CarbAirLever inc}-
387=B66C0=1 CR(+C,6)D,18,CM25:104,99 -{Macro A2A_L049: L:Eng3_CarbAirLever inc}-
388=B66C0=1 CR(+C,6)A,0,CM25:105,99 -{Macro A2A_L049: L:Eng4_CarbAirLever inc}-
389=B66C0=1 CR(+C,6)D,15,CM25:106,0 -{Macro A2A_L049: L:Eng1_CarbAirLever dec}-
390=B66C0=1 CR(+C,6)D,17,CM25:107,0 -{Macro A2A_L049: L:Eng2_CarbAirLever dec}-
391=B66C0=1 CR(+C,6)D,19,CM25:108,0 -{Macro A2A_L049: L:Eng3_CarbAirLever dec}-
392=B66C0=1 CR(+C,6)A,1,CM25:109,0 -{Macro A2A_L049: L:Eng4_CarbAirLever dec}-
393=B66C0=1 CR(+C,6)A,2,C66535,0 -{TOGGLE_MASTER_IGNITION_SWITCH}-
394=B66C0=1 CR(+C,6)A,3,C65858,0 -{PITOT_HEAT_TOGGLE}-
{============================================================}-
And this is what my Lua display would look like when I select each of those two sets or hit CTL+F10 which displays the current set without having to cycle the 'change' switches.
So you see my scheme is rather like your use of LINDA with the additional quaalifiers. I jus took mine to the extreme