Jump to content

Quaggles - DCS Input Command Injector Mod - Store custom input commands safely in Saved Games instead of merging them with developer changes each update


Quaggles

Recommended Posts

I want to change the default mouse-click direction of a couple of rotaries in the AJS-37. Normally left-click turns a rotary counter-clockwise. There's a couple in the Viggen that go the other way. Drives me nuts.

I understand Quaggles is not the system to solve this as it creates new custom binds. However now that I use PointCtrl custom binds don't help.

Does anyone know if it's at all possible to change the core behaviour of controls?

  • Like 2
Link to comment
Share on other sites

18 hours ago, nzteddy said:

I want to change the default mouse-click direction of a couple of rotaries in the AJS-37. Normally left-click turns a rotary counter-clockwise. There's a couple in the Viggen that go the other way. Drives me nuts.

I understand Quaggles is not the system to solve this as it creates new custom binds. However now that I use PointCtrl custom binds don't help.

Does anyone know if it's at all possible to change the core behaviour of controls?

I know what you mean, Razbam has a few switches where right click is not up like the standard. I've never tried to change it though. 

Clickabledata.lua would be the best place to start looking I think, but not sure if it is possible and it may break integrity check. 

  • Like 1

Pimax Crystal VR & Simpit User | Ryzen CPU & Nvidia RTX GPU | Some of my mods

Link to comment
Share on other sites

  • 1 month later...

Got this working after going through the instructions.  Great work thanks!
Question is....where can I find the additional "device commands: definitions?
I am looking to add the working clickable RIO pit controls to RIO panels I am building.
The RIO files in the community files are, empty.
Thanks

  • Thanks 1

VF-31 Tomcatters

vf31-cat.jpg

http://www.csg-1.com/ | Discord

 

Link to comment
Share on other sites

3 hours ago, VF2 Subsonic said:

Got this working after going through the instructions.  Great work thanks!
Question is....where can I find the additional "device commands: definitions?
I am looking to add the working clickable RIO pit controls to RIO panels I am building.
The RIO files in the community files are, empty.
Thanks

Were you looking in the skeleton folder in the Community Keybinds by mistake? The skeleton folder only contains empty lua files so you can copy the correct folder structure if you want to write all your own binds. I can see a bunch of extra commands in the F-14 RIO folder under this path "dcs-community-keybinds/InputCommands/F14/Input/F-14B-RIO/joystick/default.lua"

https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/F14/Input/F-14B-RIO/joystick/default.lua

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Quaggles said:

Were you looking in the skeleton folder in the Community Keybinds by mistake? The skeleton folder only contains empty lua files so you can copy the correct folder structure if you want to write all your own binds. I can see a bunch of extra commands in the F-14 RIO folder under this path "dcs-community-keybinds/InputCommands/F14/Input/F-14B-RIO/joystick/default.lua"

https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/F14/Input/F-14B-RIO/joystick/default.lua

I think he's asking where to find the command actions codes in DCS files. In order to create a keybind for an action, you need to learn the name of that action. Where are they located ?

Link to comment
Share on other sites

1 minute ago, Doncho said:

I think he's asking where to find the command actions codes in DCS files. In order to create a keybind for an action, you need to learn the name of that action. Where are they located ?

Ah in that case if you know the switch can be actuated in the cockpit I would look in `DCS World\Mods\aircraft\F14\Cockpit\clickabledata.lua` this file binds the cockpit model switches to input commands, in there you should be able to find hints about the device name, action name and which values it expects to put in the input command.

You might also find some hints in:

`DCS World\Mods\aircraft\F14\Cockpit\command_defs.lua`

`DCS World\Mods\aircraft\F14\Cockpit\devices.lua`

  • Like 1
Link to comment
Share on other sites

35 minutes ago, Quaggles said:

Ah in that case if you know the switch can be actuated in the cockpit I would look in `DCS World\Mods\aircraft\F14\Cockpit\clickabledata.lua` this file binds the cockpit model switches to input commands, in there you should be able to find hints about the device name, action name and which values it expects to put in the input command.

You might also find some hints in:

`DCS World\Mods\aircraft\F14\Cockpit\command_defs.lua`

`DCS World\Mods\aircraft\F14\Cockpit\devices.lua`

How about some Jester shortcut commands for example ? Is it possible to bind some of them ?

  • Like 1
Link to comment
Share on other sites

2 hours ago, Doncho said:

How about some Jester shortcut commands for example ? Is it possible to bind some of them ?

Just tested it and you can, I looked through command_defs.lua  in there you'll find a bunch of the jester commands. Upon seeing it I just had to test

Jester_eject_RIO 😂

Here is the code I used to get it bindable:
 

{down = device_commands.Jester_eject_RIO, cockpit_device_id=devices.JESTERAI, value_down = 1, name = _('Eject Jester'), category = _('Quaggles Custom')},

Now I can eject him at a time of MY choosing haha

Some other fun examples you might want to experiment with different `value_down` values are:

Jester_TID_range
JESTER_Radar_TWS
JESTER_Radar_RWS
JESTER_Lock_Ahead_Enemy
Jester_DEST_knob

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

12 minutes ago, Quaggles said:

Just tested it and you can, I looked through command_defs.lua  in there you'll find a bunch of the jester commands. Upon seeing it I just had to test

Jester_eject_RIO 😂

Here is the code I used to get it bindable:
 

{down = device_commands.Jester_eject_RIO, cockpit_device_id=devices.JESTERAI, value_down = 1, name = _('Eject Jester'), category = _('Quaggles Custom')},

Now I can eject him at a time of MY choosing haha

Some other fun examples you might want to experiment with different `value_down` values are:

Jester_TID_range
JESTER_Radar_TWS
JESTER_Radar_RWS
JESTER_Lock_Ahead_Enemy
Jester_DEST_knob

That's awesome, that will make a fine contribution to my Voiceattack profile!

How about regular radio commands like "Inbound" or "See you at 10"?

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Doncho said:

That's awesome, that will make a fine contribution to my Voiceattack profile!

How about regular radio commands like "Inbound" or "See you at 10"?

These are the only bindable communication menu items that I know about, anything extra I think you would need to request from ED, for example iCommandPlaneRefuelingReadyPreContact was added because of a user request.

{down = iCommandPlaneDoAndHome,					name = _('Flight - Complete mission and RTB'),		category = _('Communications')},
{down = iCommandPlaneReturnToBase,				name = _('Flight - RTB'),							category = _('Communications')},
{down = iCommandPlaneDoAndBack,					name = _('Flight - Complete mission and rejoin'),	category = _('Communications')},
{down = iCommandPlaneFormation,					name = _('Toggle Formation'),						category = _('Communications')},
{down = iCommandPlaneJoinUp,						name = _('Join Up Formation'),						category = _('Communications')},
{down = iCommandPlaneAttackMyTarget,				name = _('Attack My Target'),						category = _('Communications')},
{down = iCommandPlaneCoverMySix,					name = _('Cover Me'),								category = _('Communications')},
{down = iCommandAWACSHomeBearing,				name = _('Request AWACS Home Airbase'),				category = _('Communications')},
{down = iCommandAWACSBanditBearing,				name = _('Request AWACS Bogey Dope'),				category = _('Communications'), features = {"AWACS Bogey Dope"}},
{down = iCommandPlane_EngageGroundTargets,		name = _('Flight - Attack ground targets'),			category = _('Communications')},
{down = iCommandPlane_EngageAirDefenses,			name = _('Flight - Attack air defenses'),			category = _('Communications')},
{down = iCommandPlane_EngageBandits,				name = _('Flight - Engage Bandits'),				category = _('Communications')},
{down = iCommandToggleCommandMenu,				name = _('Communication menu'),						category = _('Communications')},
{down = ICommandSwitchDialog,					name = _('Switch dialog'),							category = _('Communications')},
{down = ICommandSwitchToCommonDialog,			name = _('Switch to main menu'),					category = _('Communications')},
{down = iCommandPlaneRefuelingReadyPreContact, name = _('A/A refueling - "Ready for precontact" radio call'), category = _('Communications')},

 

  • Thanks 2
Link to comment
Share on other sites

That's awesome, that will make a fine contribution to my Voiceattack profile!
How about regular radio commands like "Inbound" or "See you at 10"?
Those are DCS core commands from the radio menu. This is sort of how VAICOM actually does it.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

1 hour ago, MAXsenna said:

Those are DCS core commands from the radio menu. This is sort of how VAICOM actually does it.

Sent from my MAR-LX1A using Tapatalk
 

I always wondered, how does VAICOM interfaces directly with DCS command actions ?

 

Link to comment
Share on other sites

Have a question here, want to know if its possible to do.

If you have flown the F-16 and you binded radar elevation control to a rotary, you'd know how it works. Its kind of "scaled" to your rotary's total rotation. So each 1° rotation has a specific radar antenna elev. value
But in the F/A-18, things are different. IRL it uses a spring loaded rotary so as long as you push it, it'll continue to go up/down. Not "scaled" like the Vipers. And this is very uncomfortable for me because I dont have a spring loaded rotary on my hotas so either I have to use buttons (not as useful as having it on a rotary like the viper) or I need to use my rotary but its almost impossible to control.

Can I add an axis bind to hornet's controls to be able to control the radar elevation logic to be like the viper?
Any help appreciated

  • Like 1
Link to comment
Share on other sites

I always wondered, how does VAICOM interfaces directly with DCS command actions ?
 
Well, I'm not one hundred percent sure. But I take it it works like DCS-Bios, but pushes the same values as discussed here. How he retrieved all those for the Jester wheel and the radio menu, I have no idea. It's more that's not even in the radio menu too. Like we can request refueling without opening the re-arm interface.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

5 minutes ago, MAXsenna said:

Well, I'm not one hundred percent sure. But I take it it works like DCS-Bios, but pushes the same values as discussed here. How he retrieved all those for the Jester wheel and the radio menu, I have no idea. It's more that's not even in the radio menu too. Like we can request refueling without opening the re-arm interface.

Sent from my MAR-LX1A using Tapatalk
 

Yeah, exactly. That's the key to replacing VAICOM. We so much need that info open source in a git.

  • Like 1
Link to comment
Share on other sites

21 minutes ago, vtaf_archer said:

Have a question here, want to know if its possible to do.

If you have flown the F-16 and you binded radar elevation control to a rotary, you'd know how it works. Its kind of "scaled" to your rotary's total rotation. So each 1° rotation has a specific radar antenna elev. value
But in the F/A-18, things are different. IRL it uses a spring loaded rotary so as long as you push it, it'll continue to go up/down. Not "scaled" like the Vipers. And this is very uncomfortable for me because I dont have a spring loaded rotary on my hotas so either I have to use buttons (not as useful as having it on a rotary like the viper) or I need to use my rotary but its almost impossible to control.

Can I add an axis bind to hornet's controls to be able to control the radar elevation logic to be like the viper?
Any help appreciated

The F/A-18C avionics are designed a bit differently to the F-16 which might not make this practical even if there was a mod workaround (I don't know of any either unfortunately). For example the F/A-18 specifically uses relative antenna angle adjustment in a few instances that ED would need to write non-realistic workarounds to overcome vs the F-16 which always uses absolute antenna elevation. A few examples I can think of:
1. You can change antenna elevation with TDC depress on AZ/EL which sets it to a new positon, if the axis controlled absolute antenna elevation it would just snap back to axis position and this feature would be unusable

2. You can bias the antenna elevation around your L&S in TWS with the relative adjustments, same problem as above

3. With ATFLIR a momentary press of the antenna elevation wheel moves to the next zoom level, ED would either need to write an absolute axis zoom system or keep this as is.

I agree it is unfortunate as very few HOTAS systems have momentary centered rotary axis, ED did provide an unrealistic TDC Depress option in special settings so it's possible they could eventually be convinced to add an unrealistic option for this but it is extra work for them.

Link to comment
Share on other sites

Thanks for the reply I just thought if it would be possible with addings custom binds. I never use the AZ/EL and hardly ever carry ATFLIR, not a a2g guy myself. And hardly ever use bias. If we had a workaround it'd be very cool for me 😄 Maybe one day, they'll have lots of free time and add it as an option
Thx again

Link to comment
Share on other sites

  • 4 months later...
5 minutes ago, Wrench said:

Is this broken?
Can't seem to get it to work or log anything in the latest update (2.8.3.37556 MT)

I'm loaded the community keybinds from Munkwolf/dcs-community-keybinds: A collection of keybinds for DCS. (github.com) and have no custom categories, and nothing in the logs

 

There were no changes to DCS World\Scripts\Input\Data.lua this patch so it shouldn't have broken anything.

I just retested and it works on my end, have you tried uninstalling and reinstalling it?

 

If you go to line 557 in Data.lua do you see this code in there?

null

image.png

Link to comment
Share on other sites

Hi,

I am finding that the Axis Tune dialog does not work when I have Command Injector enabled.

I have tested with no input commands at all in place, it still fails. The only way to fix it is to disable the command injector altogether. I use JSGME for this

From the dcs.log:

2023-03-13 03:09:54.765 ALERT   LUACOMMON (Main): Error: GUI Error: [string "./dxgui/bind/Widget.lua"]:69: Invalid arguments!
GUI debug.traceback: stack traceback:
    [C]: ?
    [C]: in function 'WidgetSetVisible'
    [string "./dxgui/bind/Widget.lua"]:69: in function 'setVisible'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:151: in function 'setFilterHardwareABDetent'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:208: in function 'setFilterData_'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:227: in function 'selectFilter_'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:527: in function 'show'
    [string "./Scripts/Input\View.lua"]:1785: in function 'tuneAxes_'
    [string "./Scripts/Input\View.lua"]:2264: in function 'callback'
    [string "./dxgui/bind/Widget.lua"]:368: in function <[string "./dxgui/bind/Widget.lua"]:363>

 

Anyone else have this issue?

Any ideas?

thanks

Link to comment
Share on other sites

3 hours ago, nzteddy said:

Hi,

I am finding that the Axis Tune dialog does not work when I have Command Injector enabled.

I have tested with no input commands at all in place, it still fails. The only way to fix it is to disable the command injector altogether. I use JSGME for this

From the dcs.log:

2023-03-13 03:09:54.765 ALERT   LUACOMMON (Main): Error: GUI Error: [string "./dxgui/bind/Widget.lua"]:69: Invalid arguments!
GUI debug.traceback: stack traceback:
    [C]: ?
    [C]: in function 'WidgetSetVisible'
    [string "./dxgui/bind/Widget.lua"]:69: in function 'setVisible'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:151: in function 'setFilterHardwareABDetent'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:208: in function 'setFilterData_'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:227: in function 'selectFilter_'
    [string "./Scripts/Input\AxesTuneDialog.lua"]:527: in function 'show'
    [string "./Scripts/Input\View.lua"]:1785: in function 'tuneAxes_'
    [string "./Scripts/Input\View.lua"]:2264: in function 'callback'
    [string "./dxgui/bind/Widget.lua"]:368: in function <[string "./dxgui/bind/Widget.lua"]:363>

 

Anyone else have this issue?

Any ideas?

thanks

I cannot replicate this, are you using the latest version?

If you open up the mod zip there should be a file called VERSION.txt, the latest version is 1.0.7 https://github.com/Quaggles/dcs-input-command-injector/releases/tag/1.0.7

Link to comment
Share on other sites

Latest 1.0.7 yes, and latest OB.

Disabled all other mods, and disconnected all my controls, to test Axis Tune out only on Mouse.

Still fails with Quaggles, OK without it. Consistantly.

Nevermind, there's nothing you can do without being able to reproduce it. Must be something very quirky with my system.

I can live without it fine. At least we have it noted in case someone else encounters it.

  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

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