Difference between revisions of "Four MFD on 22 inch Monitor"

From OrbiterWiki
Jump to navigation Jump to search
(Added category.)
(Added categories.)
 
Line 153: Line 153:
  
 
[[Category: Articles]]
 
[[Category: Articles]]
 +
[[Category:Add-ons]]
 +
[[Category:MFD]]
 
[[Category: MFD add-ons]]
 
[[Category: MFD add-ons]]

Latest revision as of 11:07, 1 October 2023

This Script will display 4 ExtMFD instances in each corner of a 1680 x 1050 display. The display is configured left of the main screen. You can use WindowSpy that comes with Autohotkey to locate different positions and sizes for other monitor configurations.

This script is based on a two MFD version that was posted to the M6 forum.

SetKeyDelay,10,30

pltMfd1PosX:=-1675
pltMfd1PosY:=5
pltMfd1Width:=584        
pltMfd1Height:=520

pltMfd2PosX:=-1675
pltMfd2PosY:=530
pltMfd2Width:=584        
pltMfd2Height:=520

pltMfd3PosX:=-589
pltMfd3PosY:=5
pltMfd3Width:=584
pltMfd3Height:=520

pltMfd4PosX:=-589
pltMfd4PosY:=530
pltMfd4Width:=584
pltMfd4Height:=520

!i::InitMfds()

;keymapping upper left mfd. !1 = Alt-1, !2 = Alt-2, ...
!1::ClickButton(pltMfd1Handle,"ExtMfd_Button15")    ;left-top button
!2::ClickButton(pltMfd1Handle,"ExtMfd_Button13")
!3::ClickButton(pltMfd1Handle,"ExtMfd_Button11")
!4::ClickButton(pltMfd1Handle,"ExtMfd_Button9")
!5::ClickButton(pltMfd1Handle,"ExtMfd_Button7")
!6::ClickButton(pltMfd1Handle,"ExtMfd_Button5")        ;left-bottom button
!7::ClickButton(pltMfd1Handle,"ExtMfd_Button3")
!8::ClickButton(pltMfd1Handle,"ExtMfd_Button2")        ;menu button
!9::ClickButton(pltMfd1Handle,"ExtMfd_Button1")
!0::ClickButton(pltMfd1Handle,"ExtMfd_Button4")        ;right-bottom button
!q::ClickButton(pltMfd1Handle,"ExtMfd_Button6")
!w::ClickButton(pltMfd1Handle,"ExtMfd_Button8")
!e::ClickButton(pltMfd1Handle,"ExtMfd_Button10")
!r::ClickButton(pltMfd1Handle,"ExtMfd_Button12")    ;right-top button
!t::ClickButton(pltMfd1Handle,"ExtMfd_Button14")

;keymapping lower left mfd. ^!1 = Ctrl-Alt-1, ^!2 = Ctrl-Alt-2, ...
^!1::ClickButton(pltMfd2Handle,"ExtMfd_Button15")    ;left-top button
^!2::ClickButton(pltMfd2Handle,"ExtMfd_Button13")
^!3::ClickButton(pltMfd2Handle,"ExtMfd_Button11")
^!4::ClickButton(pltMfd2Handle,"ExtMfd_Button9")
^!5::ClickButton(pltMfd2Handle,"ExtMfd_Button7")
^!6::ClickButton(pltMfd2Handle,"ExtMfd_Button5")        ;left-bottom button
^!7::ClickButton(pltMfd2Handle,"ExtMfd_Button3")
^!8::ClickButton(pltMfd2Handle,"ExtMfd_Button2")        ;menu button
^!9::ClickButton(pltMfd2Handle,"ExtMfd_Button1")
^!0::ClickButton(pltMfd2Handle,"ExtMfd_Button4")        ;right-bottom button
^!q::ClickButton(pltMfd2Handle,"ExtMfd_Button6")
^!w::ClickButton(pltMfd2Handle,"ExtMfd_Button8")
^!e::ClickButton(pltMfd2Handle,"ExtMfd_Button10")
^!r::ClickButton(pltMfd2Handle,"ExtMfd_Button12")    ;right-top button
^!t::ClickButton(pltMfd2Handle,"ExtMfd_Button14")

;keymapping upper right mfd. +!1 = Shift-Alt-1, +!2 = Shift-Alt-2, ...
+!1::ClickButton(pltMfd3Handle,"ExtMfd_Button15")
+!2::ClickButton(pltMfd3Handle,"ExtMfd_Button13")
+!3::ClickButton(pltMfd3Handle,"ExtMfd_Button11")
+!4::ClickButton(pltMfd3Handle,"ExtMfd_Button9")
+!5::ClickButton(pltMfd3Handle,"ExtMfd_Button7")
+!6::ClickButton(pltMfd3Handle,"ExtMfd_Button5")
+!7::ClickButton(pltMfd3Handle,"ExtMfd_Button3")
+!8::ClickButton(pltMfd3Handle,"ExtMfd_Button2")
+!9::ClickButton(pltMfd3Handle,"ExtMfd_Button1")
+!0::ClickButton(pltMfd3Handle,"ExtMfd_Button4")
+!q::ClickButton(pltMfd3Handle,"ExtMfd_Button6")
+!w::ClickButton(pltMfd3Handle,"ExtMfd_Button8")
+!e::ClickButton(pltMfd3Handle,"ExtMfd_Button10")
+!r::ClickButton(pltMfd3Handle,"ExtMfd_Button12")
+!t::ClickButton(pltMfd3Handle,"ExtMfd_Button14")

;keymapping lower right mfd. ^+!1 = Ctrl-Shift-Alt-1, +!2 = Ctrl-Shift-Alt-2, ...
^+!1::ClickButton(pltMfd4Handle,"ExtMfd_Button15")
^+!2::ClickButton(pltMfd4Handle,"ExtMfd_Button13")
^+!3::ClickButton(pltMfd4Handle,"ExtMfd_Button11")
^+!4::ClickButton(pltMfd4Handle,"ExtMfd_Button9")
^+!5::ClickButton(pltMfd4Handle,"ExtMfd_Button7")
^+!6::ClickButton(pltMfd4Handle,"ExtMfd_Button5")
^+!7::ClickButton(pltMfd4Handle,"ExtMfd_Button3")
^+!8::ClickButton(pltMfd4Handle,"ExtMfd_Button2")
^+!9::ClickButton(pltMfd4Handle,"ExtMfd_Button1")
^+!0::ClickButton(pltMfd4Handle,"ExtMfd_Button4")
^+!q::ClickButton(pltMfd4Handle,"ExtMfd_Button6")
^+!w::ClickButton(pltMfd4Handle,"ExtMfd_Button8")
^+!e::ClickButton(pltMfd4Handle,"ExtMfd_Button10")
^+!r::ClickButton(pltMfd4Handle,"ExtMfd_Button12")
^+!t::ClickButton(pltMfd4Handle,"ExtMfd_Button14")

InitMfds()
{
    global
    WinActivate,Orbiter
    Send ^{F4}
    WinWait, Custom
    Control, ChooseString, External Mfd, ListBox1, Custom
    ControlClick, Button1, Custom
    WinWait,MFD
    WinSetTitle,pltMfd1
    WinMove,pltMfd1,,%pltMfd1PosX%,%pltMfd1PosY%,%pltMfd1Width%,%pltMfd1Height%
    WinGet,pltMfd1Handle,ID,pltMfd1

    WinActivate,Orbiter
    Send ^{F4}
    WinWait, Custom
    Control, ChooseString, External Mfd, ListBox1, Custom
    ControlClick, Button1, Custom
    WinWait,MFD
    WinSetTitle,pltMfd2
    WinMove,pltMfd2,,%pltMfd2PosX%,%pltMfd2PosY%,%pltMfd2Width%,%pltMfd2Height%
    WinGet,pltMfd2Handle,ID,pltMfd2

    WinActivate,Orbiter
    Send ^{F4}
    WinWait, Custom
    Control, ChooseString, External Mfd, ListBox1, Custom
    ControlClick, Button1, Custom
    WinWait,MFD
    WinSetTitle,pltMfd3
    WinMove,pltMfd3,,%pltMfd3PosX%,%pltMfd3PosY%,%pltMfd3Width%,%pltMfd3Height%
    WinGet,pltMfd3Handle,ID,pltMfd3

    WinActivate,Orbiter
    Send ^{F4}
    WinWait, Custom
    Control, ChooseString, External Mfd, ListBox1, Custom
    ControlClick, Button1, Custom
    WinWait,MFD
    WinSetTitle,pltMfd4
    WinMove,pltMfd4,,%pltMfd4PosX%,%pltMfd4PosY%,%pltMfd4Width%,%pltMfd4Height%
    WinGet,pltMfd4Handle,ID,pltMfd4

    WinActivate,Orbiter
    return    
}

ClickButton(mfdHandle,button)
{
    ControlClick,%button%,ahk_id %mfdHandle%
}

See also[edit]

Four MFDs on a 22 inch Monitor