jonsky7 Posted September 22, 2024 Posted September 22, 2024 (edited) How to create a Displays Table, The information comes from one of the default monitor config files but that didn't really explain what it was actually for or how to use it. From what I understand: DCS creates a displays table each time you run it and uses your Windows "Main Display" as the origin (X=0, Y=0). DCS DOES NOT seem to accept negative values for viewports or exports. So if your second/third display is to the left, or above, your "Main Display", it didn't seem possible to export displays to those screens. We can however manually configure a "Displays table" in your monitor config file. That tells DCS where ALL your monitors are in reference to your Windows "Main Display" It will then create a new display area that covers all of your monitors and then: The left edge of all your displays will be x=0 and the top edge of all your displays will be y=0 So now there is no need for your main display to be the left and top most display. We can then use the monitor on the left, as all viewport and export positions will be positive. It seems from a bit of testing that monitors can be listed in any order and do not necessarily correspond to the numbers windows assigns your displays. As long as you define your monitors in reference to your "Main Display" The default display table created by DCS would result in something like: (2 is my main) and with the Display Table it would be or maybe you would prefer. This doesn't really solve a lot of issues, other than being able to export MFCD's etc to a monitor left, or above, your main display. Unfortunately, I don't think it will fix things like the opening position of the kneeboard and crew screens, George and Petrovich etc. and there are still areas of the resolution that there is no physical display to show anything output into those areas. Of course this means that your Center view and any exports will have to be modified to their new positions relative to the new x=0, y=0. I have put the displays table at the top of the monitor config file, and this seems to work. Example config file Exports by aircraft type.lua eg. Quote displays = { [1] = { x = 0, -- Main Display y = 0, width = 2560, height = 1440 }, [2] = { x = 2560, -- A monitor that is to the right of the Main Display y = 0, width = 2560, height = 1440 }, [3] = { x = -1920, -- A monitor positioned to the left of the main display (note the '-' sign) and aligned to the bottom edge y = 360, -- 1440-1080=360 width = 1920, height = 1080 }, } _ = function(p) return p; end; name = _('JB by type'); Description = 'Exports by Aircraft type'; Viewports = { Center = { x = 1920; -- Center View moved y = 0; width = 2560; height = 1440; viewDx = 0; viewDy = 0; aspect = 2560/1440; } } Cheers Jon Edited September 24, 2024 by jonsky7 1
Maanni Posted September 27, 2024 Posted September 27, 2024 (edited) Is there a possibility to overwrite the displays table in a way, that I except the windows primary screen from dcs? I currently have 3 screens. 2 on my desk, of which the left one is the windows primary monitor, and a third to the right of my desk in the simpit. When I play, I just want to use the 3rd most right monitor in the simpit without blocking the 2 on my desk. I have tried it like in this 1Camera_cockpit.lua, but then my primary monitor goes black, shows nothing while the two other stay in windows. null Another version I managed was to just set the resolution to 3*width and then use the Viewports.Center.x at screen.width * 2 / 3. Then the correct screen is used, but the two on my desk still go black. I would prefer not to open the windows settings everytime I open dcs and again when I close it. Edit: I found the solution: In the appSettings.lua (C:\users\{user}\savedGames\DCS\appSettings.lua) you can change the windowPlacement. In my case I set the ["x"] = 6880 (2*3440). Edited September 28, 2024 by Maanni found solution myself and added it, incase someone else needs it 2
MadKreator Posted September 28, 2024 Posted September 28, 2024 Those 2 will stay black. DCS still sees them as part of the total “screenspace” DCS monitor coordinates always reference the top left of the left-most monitor. You could exclude monitor three and use it for windows while playing. You can only really totally exclude monitors to the farthest right and below. I suppose you could unplug those two, start DCS, then plug them back in, that might trick it since DCS has already read the monitor file. Might work , idk, just a guess. But of course that exactly what you don’t want to do every time I would also love a way to totally exclude a left monitor to be able to use it for other things. But sadly I don’t believe it possible with the way DCS handles monitors currently. 1 Intel i7 13700k, ASUS rog strix z790A, 64gigs G.Skill Trident DDR5 @6400Mhz, Nvidia RTX 4080FE, 2x 2TB Samsung M.2 NVME, 2x 1TB Samsung SSD, Corsair RM1000x, Corsair Titan 360 X AIO cooler, Lian Li LanCool 2, VKB Gunfighter Ultimate, VKB STECS , MFG Crosswinds, Track IR5, 48” LG UltraGear OLED & HP 24” touchscreen for Helios, Streamdeck XL, DCS-UFC App, Corsair Virtuoso RGB Headphones
jonsky7 Posted September 28, 2024 Author Posted September 28, 2024 On 9/27/2024 at 8:14 PM, Maanni said: Edit: I found the solution: In the appSettings.lua (C:\users\{user}\savedGames\DCS\appSettings.lua) you can change the windowPlacement. In my case I set the ["x"] = 6880 (2*3440). Well I never knew that was there. Thanks for sharing. 1
MadKreator Posted September 29, 2024 Posted September 29, 2024 Hey good find! Will have a go at this as well! 1 Intel i7 13700k, ASUS rog strix z790A, 64gigs G.Skill Trident DDR5 @6400Mhz, Nvidia RTX 4080FE, 2x 2TB Samsung M.2 NVME, 2x 1TB Samsung SSD, Corsair RM1000x, Corsair Titan 360 X AIO cooler, Lian Li LanCool 2, VKB Gunfighter Ultimate, VKB STECS , MFG Crosswinds, Track IR5, 48” LG UltraGear OLED & HP 24” touchscreen for Helios, Streamdeck XL, DCS-UFC App, Corsair Virtuoso RGB Headphones
Recommended Posts