Jump to content

Click- and Customizable Radio Menu for DCS World


Recommended Posts

Thanks PeterP (yet again LOL) Another good addition to your "catalog" of mods.

It runs pefectly as adverstised in my centre monitor but......

 

I run an Eyefinity plus a fourth monitor Extended Desktop to the right in Windows setup BUT physically below the centre of the Eyefinity group. (I run Helios)

So is there any way with your mod to get the Clickable Radio Menu there.

It is of course well outside the GUI parameters.

Thanks again in advance

Loz

i9 9900x at 5.1 Ghz // ASUS ROG Maximus XI Formula EK Bloc // 64Gb Corsair Vengence 3600Mhz DDR4 Ram // Gigabyte Aorus 3090 Watercooled block//Samsung SM951 M2 x4 SSD // Windows 10 64 Bit //48inch LG48 @ 3840x2160 120Hz//Asus ROG Swift PG35VQ 3440 x 14440 144Hz // TM Warthog HOTAS (Ser. No. 00836) //MFG Crosswind Pedals // TrackIR 5 //Varjo Aero

 

An old pilot is one who remembers when flying was dangerous and sex was safe.

 

Link to comment
Share on other sites

  • Replies 191
  • Created
  • Last Reply

Top Posters In This Topic

Now that I've tried it, I will.

I just completed (finally) Mission 9 of the Vergeev Campaign, thanks in part to this wonderful mod :P

I tried to make the font smaller but that broke the clickable area.

Once I reset the settings to their original state, everything worked great.

 

Request #1 - Please tell me display radio menu in smaller font

 

Thanks,

Toby

Ryzen 5800X, 32GB RAM, RTX 3060

 

Link to comment
Share on other sites

PeterP, another fantastic job getting this working in DCS again. I suspect I already know the answer -- it's really difficult -- but I'll ask anyway:

 

Is there any way to move the radio command menu around on the GUI such that it is decoupled from the 'training/mission messages' overlay and the 'ATC to player' overlay? The reason I ask is, I've used your mod here to set up the radio command menu on my lower touchscreen. Problem is, I'd like to use my left hand to select radio commands, but reaching over to the upper right of the screen is not easy. I know I can move the menu around based on the CommandMenu.lua file, but this then causes clipping issues with the 'ATC to player' overlay, which seems to want to stay to the left of the radio command menu. Any suggestions? Ideally I'd like those two menus to swap, i.e. radio commands on the left, 'ATC to player' on the right.

Link to comment
Share on other sites

Thank you PeterP for your time and effort :thumbup:

  • Like 1

Windows 10 | i7-8700K@5GHz | 2080 Ti | Intel Z370 Chipset | 32GB RAM@1866 MHz | SSD: Samsung 850 EVO 1TB| Thrustmaster Warthog HOTAS w. FSSB R3 Mod | Saitek Switch Panel + Radio Panel + Multi Panel + FIP + Flightpanels Software | MFG_Crosswind | TrackIR5 | TM Cougar MFD Pack | Obutto R3volution | 1 x LG38 | GAMETRIX KW-908 JETSEAT

Link to comment
Share on other sites

Loaded up a new version that corrects a little mishap:

 

v2.1 isn't conflicting any more with click-able cockpit elements that are under the click-able area for the radio menu.

 

@ Loz, Toby and Greg

 

I will answer your questions in detail at the weekend and maybe your requested features are than already implemented...

 

In the meantime:

Pleas load up edited DCS Screen-shots ( Before/After ) - so I understand 100% what you want to achieve and how it should look at your end. - this will answer many of my questions.

 


Edited by PeterP

Link to comment
Share on other sites

Thanks again Peter

Here is an image of my intentions. This is how windows views it, but in reality I place the fourth monitor underneath the other 3 in a Tee.

It was so much easier, many moons ago, when you could just edit the luas to get things placed, sized and coloured how you wanted.

ED lets get back there.

 

k5w6.jpg

i9 9900x at 5.1 Ghz // ASUS ROG Maximus XI Formula EK Bloc // 64Gb Corsair Vengence 3600Mhz DDR4 Ram // Gigabyte Aorus 3090 Watercooled block//Samsung SM951 M2 x4 SSD // Windows 10 64 Bit //48inch LG48 @ 3840x2160 120Hz//Asus ROG Swift PG35VQ 3440 x 14440 144Hz // TM Warthog HOTAS (Ser. No. 00836) //MFG Crosswind Pedals // TrackIR 5 //Varjo Aero

 

An old pilot is one who remembers when flying was dangerous and sex was safe.

 

Link to comment
Share on other sites

OK Captain Loz,

now I fully understand your problem - will look what can be done to span the container for the radio beyond the in-game Gui.

 

Try this workaround in the meantime:

 

First :

I assume your total res is 6048 + 1920 = 7968x1200 (info gathered by scaling up your screen-shot and out of your signature)

 

And I assume that you placed your in game-gui , via the gui-monitorsetup-edit at

X= 2068

Y=0

width=1920

height =1200

 

 

If above isn't right - change my following numbers as necessary .

 

 

for your monitorsetup.lua:

GUI =

{

x = 2208;

y = 0;

width = 5760;

height = 1200;

}

UIMainView = GUI

 

 

 

for your CommandMenu.lua:

 

local RadioMenuXpos = 500

local RadioMenuYpos = 640

 

 

Than your Briefing screen and all this stuff should appear at the left screen of your TH-row.

The Radio-massage-log will spawn at your center screen and you are finally free to place the radio-menu at your helios-screen .


Edited by PeterP

Link to comment
Share on other sites

PeterP, will work on coming up with a graphic showing what I mean; in the meantime, though, another question:

 

Can you point me to where the 100x12 pixel clickable box for each menu item is specified? This mod is not quite working for me, and I think the reason is that I use a 2028x1156 size render area on my lower touchscreen ... I think, for reasons I can't quite articulate, that this means that although my initial calibration point works, as I move further down the menu it becomes harder to click on any given menu item. I think it's because I need to use a clickable-area size of (2028/1920) * 100 by (1156/1080) * 12 pixels for each line of the menu.

Link to comment
Share on other sites

It's working perfectly here, PeterP! Thanks!

CPU Intel Core i7-4770K | MOBO Gigabyte G1.Sniper Z87 | RAM 16 GB - 1600MHz - G.Skill Sniper | GPU GeForce GTX 770 EVGA Classified 4 GB - Driver 390.77 WHQL | AUDIO Creative Sound Blaster Recon3Di

OS Windows 10 Pro 64-bit | HOTAS Saitek X52 Pro | RUDDER Logitech G27 Pedals with Leo Bodnar's Pedals Adapter | TRACKER opentrack 2.3.9 - Logitech Webcam C210 - TrackClip Pro

Link to comment
Share on other sites

OK Captain Loz,

now I fully understand your problem - will look what can be done to span the container for the radio beyond the in-game Gui.

 

Try this workaround in the meantime:

 

First :

I assume your total res is 6048 + 1920 = 7968x1200 (info gathered by scaling up your screen-shot and out of your signature)

 

And I assume that you placed your in game-gui , via the gui-monitorsetup-edit at

X= 2068

Y=0

width=1920

height =1200

 

 

If above isn't right - change my following numbers as necessary .

 

 

for your monitorsetup.lua:

GUI =

{

x = 2208;

y = 0;

width = 5760;

height = 1200;

}

UIMainView = GUI

 

 

 

for your CommandMenu.lua:

 

local RadioMenuXpos = 500

local RadioMenuYpos = 640

 

 

Than your Briefing screen and all this stuff should appear at the left screen of your TH-row.

The Radio-massage-log will spawn at your center screen and you are finally free to place the radio-menu at your helios-screen .

 

That works Peter, but is still not ideal, unfortunately, the individual selections are hard to operate with fingers in the touchscreen as they are so small.

The indicator for which channel you are using stays in a relative position to the Radio Menu and is now out of view behind Helios.

And finally the GUI, of course is now over on the right monitor which is less than ideal.

Why the heck does ED keep screwing up these things.

You had a brilliant find/solution, back in 1.1 (was it?) where we could move it, resize it, change colours, and that worked really, really well. Alas no more.

i9 9900x at 5.1 Ghz // ASUS ROG Maximus XI Formula EK Bloc // 64Gb Corsair Vengence 3600Mhz DDR4 Ram // Gigabyte Aorus 3090 Watercooled block//Samsung SM951 M2 x4 SSD // Windows 10 64 Bit //48inch LG48 @ 3840x2160 120Hz//Asus ROG Swift PG35VQ 3440 x 14440 144Hz // TM Warthog HOTAS (Ser. No. 00836) //MFG Crosswind Pedals // TrackIR 5 //Varjo Aero

 

An old pilot is one who remembers when flying was dangerous and sex was safe.

 

Link to comment
Share on other sites

I wrote that it's only a 'workaround' for you.;)

 

First let me show you how it works at my end.

 

See - I have no problems:

 

Toby wants it smaller...

Request #1 - Please tell me display radio menu in smaller font

...you want it bigger...

That works Peter, but is still not ideal, unfortunately, the individual selections are hard to operate with fingers in the touchscreen as they are so small.

...and Greg needs direct access to edit the whole calibration process as he is using probably SoftTH and scales the DCS render on his touchscreen - so the calibration is way off.

 

PeterP, will work on coming up with a graphic showing what I mean; in the meantime, though, another question:

 

Can you point me to where the 100x12 pixel clickable box for each menu item is specified? This mod is not quite working for me, and I think the reason is that I use a 2028x1156 size render area on my lower touchscreen...

 

 

 

Up to now I didn't found a real satisfying solution to solve all the problems you have with it -. And instead to work out individual solutions and talk each individual trough it ,

I will release the un-compiled AHK scripts that defines the click-able area and I will also document what I know about where to change positions and fonts of every element.

So you and others with 'special' needs can do whatever is possible and what you want/need.

 

Please be a little patient , this need some testing and than I have to write the documentation.

 

I will finish it probably during the next weekend .


Edited by PeterP
  • Like 1

Link to comment
Share on other sites

...and Greg needs direct access to edit the whole calibration process as he is using probably SoftTH and scales the DCS render on his touchscreen - so the calibration is way off.

 

Exactly correct. But Peter, it sounds like a lot of effort will be required to make the code accessible to me such that I could modify as needed, so please, don't worry about it. I'm perfectly fine using the F-keys for radio comms (I have them programmed into my X-Keys) so I don't really have a serious need to get a clickable radio working.

Link to comment
Share on other sites

But Peter, it sounds like a lot of effort will be required to make the code accessible to me such that I could modify as needed, so please, don't worry about it. .

 

Don't worry ,

 

I will just release documented un-compiled AHK scripts and I will also try to program a alternative calibration tool that need two steps instead of a single one. And this is how it will work:

 

First you will have to click on the top of F1 and than on the bottom of F12 - so it gets both maximal Y values - than this space will be divided by 12 and assigned to each F-key.

 

This method will than work even if people change the Font size and/or use Softth.


Edited by PeterP

Link to comment
Share on other sites

I will also try to program a alternative calibration tool that need two steps instead of a single one. And this is how it will work:

 

First you will have to click on the top of F1 and than on the bottom of F12 - so it gets both maximal Y values - than this space will be divided by 12 and assigned to each F-key.

 

A simply yet elegant solution -- that sounds perfect. Thanks!

Link to comment
Share on other sites

Thank you for fidelity to your mod Peter! Really.

Great work!

Intel i7-14700@5.6GHz | MSI RTX4080 Super SuprimX | Corsair V. 32GB@6400MHz. | Samsung 1TB 990 PRO SSD (Win10Homex64)
Samsung G5 32" + Samsung 18" + 2x8"TFT Displays | Saitek X-55 Rhino & Rudder | TM MFD Cougars | Logitech G13, G230, G510, PZ55 & Farming Sim Panel | TIR5
>>MY MODS<< | Discord: Devrim#1068

Link to comment
Share on other sites

Version 3.1 is up! >>> #1 post

(it's now final/feature-closed and expect no further updates as long there are no bugs with 1.2.6.17746 and upcoming DCS builds)

v3.1

Fixes a logical flaw/bug when moving the selection down (RadioMenu_Ypos_Config) ;

The selected radio-device indicator (UHF/VHF/Intercom) won't separate from the selection menu anymore.

 

And it has two more configuration settings :

 

 

SelectionMenuLog_FontSize_Config = 15

-- 15 is default ; Font size of the Selection Menu Log (the Log above the selection)

-- Tip: set it to 12 if you want it in the same size as the selection menu.

RadioMessageLog_Width_Config = 600

-- In Pixels. I use 600px as default. Change it to your needs.

-- This allows you to have the massages in 'block' instead a single long line that reaches from the left to right.

-- When length of the line has reached its maximum it will create a new line.

The complete new ClickableRadioMenuConfig.lua :

 

--!! Keep in mind that you have to re-run the calibration when you changed the position and/or size !!



TextSize_Config = 100    -- 100 is the default. Changes the size of the RadioMessageLog and RadioMenu
                       -- Read it as percentage. Use a percentage that suits you.
                       -- I recommend to use 150 and up for a Touch-screen.
                       
SelectionMenuLog_FontSize_Config = 15         -- 15 is default ; Font size of the Selection Menu Log (the Log above the selection)
                                           -- Tip: set it to 12 if you want it in the same size as the selection menu.    

                                   
-- Radio Menu Selection position relative to the GUI. Not visible when Moved above and beyond the left/right of the GUI.
-- Default position is aligned to the Top/Right of the GUI.
               
RadioMenu_Xpos_Config = 400     -- 400 is default = 400 pixels from the left relative to the GUI window
                               -- A smaller number can result in cut-off text. This depends on your TextSize setting
                               -- min working number for 100% TextSise is 280.
                           
RadioMenu_Ypos_Config = 0         -- Vertical position in Pixels , 0 is default. Don't use negative numbers


-- Radio Message Log position relative to the GUI. The Massage Log is not visible when Moved above and beyond the left/right of the GUI.
-- Default position is aligned to the Top/Left of the GUI.    So use only positive numbers.
                           
RadioMessageLog_Xpos_Config = 0        -- Vertical position in Pixels ; 0 is default 

RadioMessageLog_Ypos_Config = 0        -- Horizontal position in Pixels ; 0 is default 

RadioMessageLog_Width_Config = 600     -- In Pixels. I use 600px as default. Change it to your needs.
                                   -- This allows you to have the massages in 'block' instead a single long line that reaches from the left to right.
                                   -- When length of the line has reached its maximum it will create a new line.                                    

-- Sorry, but I didn't found up to now how to move the Radio items outside the boundaries of the GUI.
-- But you can 'shift' the Whole Radio items.
-- This can be very helpful on Multi-Monitor systems.
                                           
ShiftRadioWindow_Horizontal_Config = 0        -- 0 is default ; Shifts the whole Radio items left/right relative to the GUI in pixels.
                                           -- This makes it possible to display all elements of the Radio Menu outside the boundaries of the GUI-Window.
                                           -- negative = left ; positive = right
                                           -- example: "-1920" = 1920px to the left ; "1920" = 1920px to the right
                                       
ShiftRadioWindow_Vertical_Config = 0        -- 0 is default ; Shifts the whole Radio items  up/down relative to the GUI in pixels.
                                           -- This makes it possible to display all elements of the Radio Menu outside the boundaries of the GUI-Window.
                                           -- negative = up ; positive = down
                                           -- example: "-1080" = 1080px up ; "1080" = 1080px down
                                       

                                   
                                       
                       
                       -- How to edit the GUI window:
                       -- http://forums.eagle.ru/showthread.php?t=84266
                       
                       -- A pixel ruler that helps you with the configuration:
                       -- http://www.pixelwindowapp.com/
                       
                       -- Info/feedback/annotations:
                       -- http://forums.eagle.ru/showthread.php?t=76225
                       
                       -- PeterP 02.10.2013
                       

 


Edited by PeterP

Link to comment
Share on other sites

...for those that are interested why and how it works.

The AHK code that runs the whole show:

 

 

Calibration_Tool.exe


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force



Menu, tray, NoStandard 



menu, tray, add, Re-Calibrate
menu, tray, add, 
menu, tray, add, Exit

Process, Close, F12_calibration.exe
Process, Close, Left_Click-able_Radio_Menu.exe
Process, Close, Middle_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe


CustomColor = ffffff  ; Can be any RGB color (it will be made transparent below).
Gui +LastFound +AlwaysOnTop ; +Caption  ;
Gui, Color, 0000ff
Gui, Font, s18  ; Set a large font size (32-point).
Gui, Add, Text, vMyText cLime, Click-able Radio Menu Calibration Tool`nActive Window Mouse Coordinates: X%MouseX% , Y%MouseY%`n`n1.Start the DCS World simulation in Windowed mode.`n   (unchecked Fullscreen in DCS World>Options > System)`n`n2. Bring up the Radio Menu.`n`n3. Click with the Middle Mouse button in the top-left corner of "F1"`n to save the screen-calibration.`n   `n(FC3 and Su25T Users have to press once ESC`n and than the Pause/Brake key to get a visible Mouse Pointer!) 
; Make all pixels of this color transparent and make the text itself translucent (150):
WinSet, TransColor, %CustomColor% 130
SetTimer, UpdateOSD, 130
Gosub, UpdateOSD  ; Make the first update immediate rather than waiting for the timer.
Gui, Show, 

UpdateOSD:
MouseGetPos, MouseX, MouseY
GuiControl,, MyText, Click-able Radio Menu Calibration Tool`nActive Window Mouse Coordinates: X%MouseX% , Y%MouseY%`n`n1.Start the DCS World simulation in Windowed mode.`n   (unchecked Fullscreen in DCS World>Options > System)`n`n2. Bring up the Radio Menu.`n`n3. Click with the Middle Mouse button in the top-left corner of "F1"`n to save the screen-calibration.`n   `n(FC3 and Su25T Users have to press once ESC`n and than the Pause/Brake key to get a visible Mouse Pointer!)  




#IfWinNotActive, DCS
MButton::
{
WinClose, Calibration_Tool
SoundPlay *16
MsgBox , 4, ERROR, DCS is not the Active Window.`nCalibration Failed!`nThe App will Exit.`nWould you like to try again ?
IfMsgBox Yes
{
Run, Calibration_Tool.exe
sleep, 20
Process, Close, Calibration_Tool.exe
return
}
else
Process, Close, Calibration_Tool.exe
}

#IfWinNotExist, , Calibration_Tool.exe
ExitApp

#IfWinActive, DCS
MButton::
{
MouseGetPos, MouseX, MouseY


IniWrite, %MouseX%, Clickable_Radio_Menu.ini, Main, PosX
IniWrite, %MouseY%, Clickable_Radio_Menu.ini, Main, PosY
IniWrite, %MouseY%, Clickable_Radio_Menu.ini, Main, PosYF12
IniWrite, 165, Clickable_Radio_Menu.ini, Main, Offset
}
;//////////////////////////////////////////////////////////////////////////////////////////////////

{
WinClose, Calibration_Tool.exe
SoundPlay, %A_WinDir%\Media\ding.wav
MsgBox, 4, , Did you changed the TextSize in                                                                                  ..\DCS World\Config\ClickableRadioMenuConfig.lua                                               and/or do you use SoftTH ?
IfMsgBox No
{
WinClose, Calibration_Tool.exe
SoundPlay, %A_WinDir%\Media\ding.wav
MsgBox, Saved!`n`nNow you can click the Radio Menu with the Middle Mouse button.`nRight click the Tray Icon (Green with a 'H') To change the Mouse Button`nor to calibrate again.`n`nFC3 and Su25T Users have to press once ESC and than the Pause/Brake key to get a visible Mouse Pointer!`n`nRun the Calibration Tool again when you change your screen layout.`nYou can edit the `nDCS World\Config\ClickableRadioMenuConfig.lua`nto change the text size and position of the Radio Menu.`n`n-PeterP`n29.09.2013 
Run, Middle_Click-able_Radio_Menu.exe
Process, Close, Calibration_Tool.exe
}
else IfMsgBox Yes
Run, F12_calibration.exe
Process, Close, Calibration_Tool.exe
}




return



Re-Calibrate:
Run, Calibration_Tool.exe
Process, Close, F12_calibration.exe
Process, Close, Left_Click-able_Radio_Menu.exe
Process, Close, Middle_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe
ExitApp   

Exit: 
ExitApp 

F12_calibration.exe

;

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force



Menu, tray, NoStandard 



menu, tray, add, Re-Calibrate
menu, tray, add, 
menu, tray, add, Exit

Process, Close, Left_Click-able_Radio_Menu.exe
Process, Close, Middle_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe


CustomColor = ffffff  ; Can be any RGB color (it will be made transparent below).
Gui +LastFound +AlwaysOnTop ; +Caption  ;
Gui, Color, 0000ff
Gui, Font, s18  ; Set a large font size (32-point).
Gui, Add, Text, vMyText cLime, Click-able Radio Menu Calibration Tool`nActive Window Mouse Coordinates: X%MouseX% , Y%MouseY%`n`n4. Now Click with the Middle Mouse button in the top-left corner of "F12".`n  
; Make all pixels of this color transparent and make the text itself translucent (150):
WinSet, TransColor, %CustomColor% 130
SetTimer, UpdateOSD, 130
Gosub, UpdateOSD  ; Make the first update immediate rather than waiting for the timer.
Gui, Show, 

UpdateOSD:
MouseGetPos, MouseX, MouseY
GuiControl,, MyText, Click-able Radio Menu Calibration Tool`nActive Window Mouse Coordinates: X%MouseX% , Y%MouseY%`n`n4. Now Click with the Middle Mouse button in the top-left corner of "F12".`n    




#IfWinNotActive, DCS
MButton::
{
WinClose, F12_calibration
SoundPlay *16
MsgBox , 4, ERROR, DCS is not the Active Window.`nCalibration Failed!`nThe App will Exit.`nWould you like to try again ?
IfMsgBox Yes
{
Run, F12_calibration.exe
sleep, 20
Process, Close, F12_calibration.exe
return
}
else
Process, Close, F12_calibration.exe
}

#IfWinNotExist, , F12_calibration.exe
ExitApp

#IfWinActive, DCS
MButton::
{
MouseGetPos, MouseX, MouseY

IniWrite, %MouseY%, Clickable_Radio_Menu.ini, Main, PosYF12
IniWrite, 0, Clickable_Radio_Menu.ini, Main, Offset

{
WinClose, F12_calibration
SoundPlay, %A_WinDir%\Media\ding.wav
MsgBox, Saved!`n`nNow you can click the Radio Menu with the Middle Mouse button.`nRight click the Tray Icon (Green with a 'H') To change the Mouse Button`nor to calibrate again.`n`nFC3 and Su25T Users have to press once ESC and than the Pause/Brake key to get a visible Mouse Pointer!`n`nRun the Calibration Tool again when you change your screen layout.`nYou can edit the `nDCS World\Config\ClickableRadioMenuConfig.lua`nto change the text size and position of the Radio Menu.`n`n-PeterP`n29.09.2013  
Run, Middle_Click-able_Radio_Menu.exe
}

Process, Close, F12_calibration.exe
}




return



Re-Calibrate:
Run, Calibration_Tool.exe
Process, Close, Left_Click-able_Radio_Menu.exe
Process, Close, Middle_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe
ExitApp   

Exit: 
ExitApp 

Middle_Click-able_Radio_Menu.exe

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force
;#NoTrayIcon

Menu, tray, NoStandard 


menu, tray, add, Left_Click
;menu, tray, add, Middle_Click_(Default)
menu, tray, add, Right_Click
menu, tray, add,
menu, tray, add, Calibrate
menu, tray, add, 
menu, tray, add, Exit


Process, Close, Left_Click-able_Radio_Menu.exe
;Process, Close, Middle_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe




; Remove .ahk and .exe from filename to get name for INI file
ScriptName := A_ScriptName
StringReplace, ScriptName, ScriptName, .ahk,, All
StringReplace, ScriptName, ScriptName, .exe,, All

; PosX and PosY hold offset of F1-F12
PosX := 0
PosY := 0
PosY12 := 0
Offset := 0

; Read vals from INI file
IniRead, PosX, Clickable_Radio_Menu.ini, Main, PosX, %PosX%
IniRead, PosY, Clickable_Radio_Menu.ini, Main, PosY, %PosY%
IniRead, PosYF12, Clickable_Radio_Menu.ini, Main, PosYF12, %PosYF12%
IniRead, Offset, Clickable_Radio_Menu.ini, Main, Offset, %Offset%

#IfWinActive, ahk_class DCS
MButton::
MouseGetPos, Px, Py


If(Px > (0 + PosX) and Px < (100 + PosX) and Py > (0 + PosY) and  Py < ( (Floor(((PosYF12 + Offset) - PosY)/11)) + PosY))
{
Sendevent, {F1}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor((((PosYF12 + Offset) - PosY)/11)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*2)) + PosY)) ;
{
Sendevent, {F2}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*2)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*3)) + PosY))
{
Sendevent, {F3}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > (  (Floor(((((PosYF12 + Offset) - PosY)/11)*3)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*4)) + PosY))
{
Sendevent, {F4}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*4)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*5)) + PosY))
{
Sendevent, {F5}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*5)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*6)) + PosY))
{
Sendevent, {F6}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*6)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*7)) + PosY))
{
Sendevent, {F7}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*7)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*8)) + PosY))
{
Sendevent, {F8}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*8)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*9)) + PosY))
{
Sendevent, {F9}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*9)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*10)) + PosY))
{
Sendevent,{F10}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*10)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*11)) + PosY))
{
Sendevent, {F11}
return
}
If(Px > (0 + PosX) and Px < (100 + PosX) and Py > ( (Floor(((((PosYF12 + Offset) - PosY)/11)*11)+1)) + PosY) and  Py < ( (Floor((((PosYF12 + Offset) - PosY)/11)*12)) + PosY))
{
Sendevent, {F12}
return
}

else
{
sendevent {MButton down}
KeyWait, MButton
sendevent {MButton up}
}

return

Calibrate:
Run, Calibration_Tool.exe
Process, Close, Left_Click-able_Radio_Menu.exe
Process, Close, Right_Click-able_Radio_Menu.exe
ExitApp   

Exit: 
ExitApp   


Left_Click:
Run, Left_Click-able_Radio_Menu.exe
ExitApp

;Middle_Click:
;Run, Middle_Click-able_Radio_Menu.exe


Right_Click:
Run, Right_Click-able_Radio_Menu.exe
ExitApp 


Edited by PeterP

Link to comment
Share on other sites

I installed and after I click ( NO ) for did you change text size. I get the below error message.

 

Can you help with this.

attachment.php?attachmentid=88854&stc=1&thumb=1&d=1380749605

 

 

What happened: It looks for a file ( Middle_Click-able_Radio_Menu.exe) in its own folder where it is executed and can't find.

Why: You moved the "Calibration_Tool.exe." out of the "Clickable Radio Menu for DCS World" folder.

 

 

Example:

Do you expect that DCS or any other program starts correctly when you move its *.exe out of the 'program' folder elsewhere and just click on it?!

 

Another example:

(to give you a better idea what all these *.exe files do ,while "sitting" in the same folder)

Lets assume you placed you right arm in the bathroom while you are still in bed in the sleeping room.

...

Can you still advise your right arm to scratch your butt?

...further:

If your right arm is able to scratch something...

Can you right arm reach your butt ?!

 

 

Solution:

Only place short-cuts (right-click > create short-cut) elsewhere (as written in the readme) - don't move the *.exe files out of their working directory.


Edited by PeterP

Link to comment
Share on other sites

Hi and thanks for this work!

 

Is it compatible with latest 1.2.6.18651?

 

And last question, can i run it with JSGME? If so, how to do please?

 

(it's now final/feature-closed and expect no further updates as long there are no bugs with 1.2.6.17746 and upcoming DCS builds)

 

This means: There will be no new version as long I or someone else discovers a bug and/or discovers a incompatibility .

 

So: Current version (3.1) is working in 1.2.6.18651

(within the limits that are mentioned in the annotations of the ClickableRadioMenuConfig.lua).

 

 

About JSGM:

Yes, you can install it with JSGM , at least the files that have to be placed into the DCS directory.

The package works 'out of the box' as long you have your JSGM install in the ..\Eagle Dynamics folder (the one before 'DCS World').

 

You can also place the "Clickable Radio Menu for DCS World" folder into DCS to keep all at one place - but this isn't really necessary.

 

Please Read the JSGM documentation for further assistance.


Edited by PeterP

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...