Quaggles Posted October 21, 2021 Author Share Posted October 21, 2021 Version 1.0.4 released: https://github.com/Quaggles/dcs-input-command-injector/releases/tag/1.0.4 Allows UiLayer input commands to be injected (Thanks @davidp57) Supports DCS 2.7.7.14727 Data.lua changes 2 3 Link to comment Share on other sites More sharing options...
RogueSqdn Posted October 22, 2021 Share Posted October 22, 2021 So with UILayer available, could I, for instance, set up kneeboard commands in UILayer, and then make the same button combo control it for every aircraft? DEFENSOR FORTIS Spoiler Systems: Falcon NW Talon: Ryzen 9 5950X @4.9GHz, 64GB DDR4, RTX 3090 FE; Falcon NW Mach V: Core i7 3930K @3.2GHz, 32GB DDR3, GTX 1080 FE Cockpit: MonsterTech MTX F, 42" 4K TV, HP Reverb G2, Oculus Rift S, PointCTRL Controls: RS F16SGRH CE, RS F18CGRH, VPC T-50CM2, VFX, WarBRD (Grips); VPC T-50CM2, RS FSSB R3L (Bases); Winwing F/A-18C, VPC T-50CM3, VPC T-50CM, TM Warthog, Cougar (Throttles); VPC ACE2 (Rudders) Link to comment Share on other sites More sharing options...
Munkwolf Posted October 22, 2021 Share Posted October 22, 2021 Nice, thanks @Quaggles 21 minutes ago, RogueSqdn said: So with UILayer available, could I, for instance, set up kneeboard commands in UILayer, and then make the same button combo control it for every aircraft? I don't think that'd work.. the kneeboard commands are currently part of the modules. It'd be cool if ED did move them up to be global like they did with the zoom commands a few releases ago (or maybe I'm wrong and that would work). Does anyone use different buttons for kneeboard controls per module? Having the UiLayer work as part of the command injector mod will allow custom binds for different zoom levels and such. At least those are the keybinds davidp57 added a few months ago (had to check github - was thinking "isn't that the same username for the uilayer keybinds?"): https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/UiLayer/joystick/default.lua Link to comment Share on other sites More sharing options...
RogueSqdn Posted October 22, 2021 Share Posted October 22, 2021 I think everything in Assist, General, Kneeboard, and the View categories should be under UILayer, TBH. It would make handling multiple aircraft much easier. 2 DEFENSOR FORTIS Spoiler Systems: Falcon NW Talon: Ryzen 9 5950X @4.9GHz, 64GB DDR4, RTX 3090 FE; Falcon NW Mach V: Core i7 3930K @3.2GHz, 32GB DDR3, GTX 1080 FE Cockpit: MonsterTech MTX F, 42" 4K TV, HP Reverb G2, Oculus Rift S, PointCTRL Controls: RS F16SGRH CE, RS F18CGRH, VPC T-50CM2, VFX, WarBRD (Grips); VPC T-50CM2, RS FSSB R3L (Bases); Winwing F/A-18C, VPC T-50CM3, VPC T-50CM, TM Warthog, Cougar (Throttles); VPC ACE2 (Rudders) Link to comment Share on other sites More sharing options...
Lt_Jaeger Posted November 5, 2021 Share Posted November 5, 2021 I edited a few keys today (total Noob, took me forever) for the Tomcat. Pilot works, but the RIO edits don't show up. Any lead where I should start to look? I used @Munkwolf@Munkwolf base setup. Like I said, the pilot part works but not the Rio. Link to comment Share on other sites More sharing options...
Lt_Jaeger Posted November 5, 2021 Share Posted November 5, 2021 Disregard.....the Problem was, as usual, in front of the monitor 1 1 Link to comment Share on other sites More sharing options...
jonsky7 Posted November 7, 2021 Share Posted November 7, 2021 @Munkwolf Don't know where else to post these so here they are. I made custom axis for the Ka-50 Shkval brightness and contrast knobs, HMD and Hud brightness. They are a bit funky as only one side of centre the axis does anything on a couple, but usable. axisCommands = { {action = 3002, cockpit_device_id = 8, name = _('SHKVAL brightness knob')}, {action = 3003, cockpit_device_id = 8, name = _('SHKVAL contrast knob')}, {action = 3001, cockpit_device_id = 7, name = _('HUD brightness knob')}, {action = 3001, cockpit_device_id = 23, name = _('Helmet device brightness knob')}, } 2 Link to comment Share on other sites More sharing options...
Munkwolf Posted November 7, 2021 Share Posted November 7, 2021 1 hour ago, jonsky7 said: @Munkwolf Don't know where else to post these so here they are. I made custom axis for the Ka-50 Shkval brightness and contrast knobs, HMD and Hud brightness. They are a bit funky as only one side of centre the axis does anything on a couple, but usable. axisCommands = { {action = 3002, cockpit_device_id = 8, name = _('SHKVAL brightness knob')}, {action = 3003, cockpit_device_id = 8, name = _('SHKVAL contrast knob')}, {action = 3001, cockpit_device_id = 7, name = _('HUD brightness knob')}, {action = 3001, cockpit_device_id = 23, name = _('Helmet device brightness knob')}, } Thanks @jonsky7! When checking into the ones you did, I noticed a few more. Also I used IT-23 in place of SHKVAL for the brightness and contrast knobs. Those are now added to github. Also, sometimes adding an axis can be a bit funky depending on how the module is setup for it. Many times, the module command accepts a range of 0 - 1 values, but our input devices provide -1 to 1 values on an axis, thus them only working for half the range by default. That can usually be fixed up with axis tuning and curves in DCS. https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/Ka-50/Input/ka-50/joystick/default.lua {cockpit_device_id = 9, action = 3008, name = _('ABRIS Brightness')}, {cockpit_device_id = 7, action = 3001, name = _('HUD Brightness')}, {cockpit_device_id = 7, action = 3002, name = _('HUD Modes Reticle/Night/Day')}, {cockpit_device_id = 20, action = 3029, name = _('PVI Lighting')}, {cockpit_device_id = 8, action = 3002, name = _('IT-23 display brightness')}, {cockpit_device_id = 8, action = 3003, name = _('IT-23 display contrast')}, {cockpit_device_id = 23, action = 3001, name = _('Helmet device brightness')}, {cockpit_device_id = 31, action = 3001, name = _('ADI Zero pitch trim')}, {cockpit_device_id = 51, action = 3006, name = _('Lighting auxiliary panel brightness knob')}, {cockpit_device_id = 51, action = 3008, name = _('Lighting night vision cockpit brightness knob')}, {cockpit_device_id = 51, action = 3002, name = _('Lighting cockpit panel brightness knob')}, {cockpit_device_id = 51, action = 3004, name = _('Lighting HSI and ADI brightness knob')}, {cockpit_device_id = 46, action = 3006, name = _('ADF Volume')}, {cockpit_device_id = 49, action = 3002, name = _('R-828 (VHF-1) Radio Volume')}, {cockpit_device_id = 20, action = 3026, name = _('NAV Master modes')}, {cockpit_device_id = 25, action = 3014, name = _('Datalink self ID')}, {cockpit_device_id = 25, action = 3015, name = _('Datalink Master mode')}, {cockpit_device_id = 12, action = 3007, name = _('Laser code selector')}, {cockpit_device_id = 8, action = 3005, name = _('SHKVAL Optics adjustment')}, {cockpit_device_id = 32, action = 3001, name = _('ATGM Temperature selector')}, {cockpit_device_id = 12, action = 3023, name = _('Unguided rocket and gun pods ballistics data settings selector')}, {cockpit_device_id = 32, action = 3003, name = _('Systems BIT selector')}, {cockpit_device_id = 12, action = 3014, name = _('Weapon system mode selector')}, {cockpit_device_id = 8, action = 3006, name = _('Shkval auto scan rate')}, {cockpit_device_id = 4, action = 3011, name = _('Rotor Brake')}, {cockpit_device_id = 50, action = 3002, name = _('SPU-9 Radio communicator selector')}, {cockpit_device_id = 49, action = 3001, name = _('R-828 (VHF-1) Radio channel selector')}, 1 1 Link to comment Share on other sites More sharing options...
jonsky7 Posted November 7, 2021 Share Posted November 7, 2021 4 hours ago, Munkwolf said: Thanks @jonsky7! When checking into the ones you did, I noticed a few more. Also I used IT-23 in place of SHKVAL for the brightness and contrast knobs. Those are now added to github. Also, sometimes adding an axis can be a bit funky depending on how the module is setup for it. Many times, the module command accepts a range of 0 - 1 values, but our input devices provide -1 to 1 values on an axis, thus them only working for half the range by default. That can usually be fixed up with axis tuning and curves in DCS. Good to know, thanks Link to comment Share on other sites More sharing options...
sobe Posted November 29, 2021 Share Posted November 29, 2021 Is hardlinking still required if you want to have a set of custom commands for both your HOTAS and your keyboard? I cannot seem to get that to work. Trackir4 using the latest Trackir 5 software, Win10 Pro [Creator Update] updated from Win7Pro Pro 64Bit, Intel® Core™ i5-2500 3.30 GHz 6M Intel Smart Cache LGA115 , GigaByte GA-Z68XP-UD4 Intel Z68 Chipset DDR3 16GB Ram, GTX MSI Gaming 1060 [6 GB] Video Card, Main Monitor 1 on left 1920x1080 Touchscreen Monitor 2 on right 1920x1080 . Link to comment Share on other sites More sharing options...
Quaggles Posted November 29, 2021 Author Share Posted November 29, 2021 12 minutes ago, sobe said: Is hardlinking still required if you want to have a set of custom commands for both your HOTAS and your keyboard? I cannot seem to get that to work. Hardlinking isn't required, just makes things nicer since it will keep the joystick and keyboard default.lua files linked so they will always match when you modify one. You can just have a separate copy of the default.lua in the joystick and keyboard folders if hardlinking doesn't work, just keep them matching manually to avoid weird issues. Link to comment Share on other sites More sharing options...
sobe Posted November 29, 2021 Share Posted November 29, 2021 Quaggles Thanks for the quick reply. However, I do not see a Quaggles Custom folder in my key commands list when I hit the folder option in the game. I am using a mod manager with the unzipped file. My path is: "DCS-Input-Command-Injector-Quaggles\Scripts\Input" and I have put the folder InputCommands in my saved games\openbeta folder. So I do not know why the F86 does not show the custom commands. Trackir4 using the latest Trackir 5 software, Win10 Pro [Creator Update] updated from Win7Pro Pro 64Bit, Intel® Core™ i5-2500 3.30 GHz 6M Intel Smart Cache LGA115 , GigaByte GA-Z68XP-UD4 Intel Z68 Chipset DDR3 16GB Ram, GTX MSI Gaming 1060 [6 GB] Video Card, Main Monitor 1 on left 1920x1080 Touchscreen Monitor 2 on right 1920x1080 . Link to comment Share on other sites More sharing options...
Quaggles Posted November 29, 2021 Author Share Posted November 29, 2021 9 minutes ago, sobe said: Quaggles Thanks for the quick reply. However, I do not see a Quaggles Custom folder in my key commands list when I hit the folder option in the game. I am using a mod manager with the unzipped file. My path is: "DCS-Input-Command-Injector-Quaggles\Scripts\Input" and I have put the folder InputCommands in my saved games\openbeta folder. So I do not know why the F86 does not show the custom commands. The first thing I'd do is enable your mod then open /Scripts/Input/Data.lua in the DCS install, go to around line 80 and confirm you see a bunch of lines with Quaggles in it, for example lines 78 to 84 should be this: --[[ Insert this code into "DCSWorld\Scripts\Input\Data.lua" above the function "loadDeviceProfileFromFile" Then add the line: QuagglesInputCommandInjector(filename, folder, env, result) into the "loadDeviceProfileFromFile" function below the line: status, result = pcall(f) ]]-- If that exists then the mod is installed to the correct location. Also the new keybinds won't necessarily be in a 'Quaggles Custom' category, that's just the category I set for keybinds I make. If you are using the community keybinds mod they will have picked categories for their own keybinds, for example if you look at their F-86 ones you can see the categories in the last table for each line, in the case of "Drop Tank Selector Switch ALL TANKS OFF" it is in the categories: 'Drop Tank Control Panel', 'Fuel System' and 'Custom' {down = fuel_commands.F86_CockpitDeviceCommand_TankSelector_Sw, cockpit_device_id = devices.FUEL_INTERFACE, value_down = 0.0, name=_('Drop Tank Selector Switch ALL TANKS OFF'), category = {_('Drop Tank Control Panel'), _('Fuel System'), _('Custom')}}, Link to comment Share on other sites More sharing options...
bones1014 Posted December 2, 2021 Share Posted December 2, 2021 I've been trying to figure out how to create a joystick command that toggles the safety lever. Right now there's one for arming and one for safeing the weapons. Sent from my SM-G781U using Tapatalk Link to comment Share on other sites More sharing options...
skunk160 Posted December 2, 2021 Share Posted December 2, 2021 (edited) Anyone managed to get the FA-18C NVG NITE DAY MODE switch to work?, the default binding recognises the button selected to throw the switch, in ctrl setup,, but in cockpit can only be thrown with a mouse click Edited December 2, 2021 by skunk160 skunk160 | Win10 PRO 64bit | i7-4770K 3.50 GHz | 32GB DDR3/1866MHz | GIGABYTE GeForce GTX 1080 x2 | Oculus Rift S | Virpil MongoosT-50CM2 | Virpil F-14B grip | Virpil 200m Curved Extension | PointCTRL | Delta Sim TM Slew | Sim Bandit AHCP | MFG Crosswind Pedals | //FOX2 Switch Boxes | RECARO SPG Seat | AuraSound AST-2B-4 Pro Bass Transducer x2 //FOXTWO Multi-Role Combat Pit Build http://forums.eagle.ru/showthread.php?t=134745 Link to comment Share on other sites More sharing options...
skunk160 Posted December 2, 2021 Share Posted December 2, 2021 (edited) { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGTHS, value_down = 1.0, name = _('MODE Switch - Up'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGTHS, value_down = -1.0, name = _('MODE Switch - Down'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGTHS, value_down = 1.0, name = _('MODE Switch - NVG'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGTHS, value_down = 0.0, name = _('MODE Switch - NITE'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGTHS, value_down = -1.0, name = _('MODE Switch - DAY'), category = {_('Right Console'), _('INTR LT Control Panel')}}, Just noticed CPT_LIGTHS This is default, in the community version its not spelt incorrectly anywhere Edited December 2, 2021 by skunk160 skunk160 | Win10 PRO 64bit | i7-4770K 3.50 GHz | 32GB DDR3/1866MHz | GIGABYTE GeForce GTX 1080 x2 | Oculus Rift S | Virpil MongoosT-50CM2 | Virpil F-14B grip | Virpil 200m Curved Extension | PointCTRL | Delta Sim TM Slew | Sim Bandit AHCP | MFG Crosswind Pedals | //FOX2 Switch Boxes | RECARO SPG Seat | AuraSound AST-2B-4 Pro Bass Transducer x2 //FOXTWO Multi-Role Combat Pit Build http://forums.eagle.ru/showthread.php?t=134745 Link to comment Share on other sites More sharing options...
skunk160 Posted December 3, 2021 Share Posted December 3, 2021 -- INTR LT Control Panel { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = 1.0, name = _('MODE Switch - Fwd'), category = {_('Right Console'), _('INTR LT Control Panel SMK')}}, { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = -1.0, name = _('MODE Switch - Bck'), category = {_('Right Console'), _('INTR LT Control Panel SMK')}}, Added this to the community default and it now works. skunk160 | Win10 PRO 64bit | i7-4770K 3.50 GHz | 32GB DDR3/1866MHz | GIGABYTE GeForce GTX 1080 x2 | Oculus Rift S | Virpil MongoosT-50CM2 | Virpil F-14B grip | Virpil 200m Curved Extension | PointCTRL | Delta Sim TM Slew | Sim Bandit AHCP | MFG Crosswind Pedals | //FOX2 Switch Boxes | RECARO SPG Seat | AuraSound AST-2B-4 Pro Bass Transducer x2 //FOXTWO Multi-Role Combat Pit Build http://forums.eagle.ru/showthread.php?t=134745 Link to comment Share on other sites More sharing options...
Munkwolf Posted December 3, 2021 Share Posted December 3, 2021 (edited) 1 hour ago, skunk160 said: -- INTR LT Control Panel { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = 1.0, name = _('MODE Switch - Fwd'), category = {_('Right Console'), _('INTR LT Control Panel SMK')}}, { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = -1.0, name = _('MODE Switch - Bck'), category = {_('Right Console'), _('INTR LT Control Panel SMK')}}, Added this to the community default and it now works. What version of DCS are you on? I'm on latest OB, 2.7.8.16140. I just launched the game to verify, as I don't remember those controls being off when I recently went through to do an update to the Hornet binds (and didn't add anything to the community keybinds for this switch). All variations of the commands for that switch work for me, and the device reference in the default FA-18C lua files looks to be correct: { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = 1.0, name = _('MODE Switch - Up'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw_EXT, cockpit_device_id = devices.CPT_LIGHTS, value_down = -1.0, name = _('MODE Switch - Down'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGHTS, value_down = 1.0, name = _('MODE Switch - NVG'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGHTS, value_down = 0.0, name = _('MODE Switch - NITE'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGHTS, value_down = -1.0, name = _('MODE Switch - DAY'), category = {_('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, up = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGHTS, value_down = 1.0, value_up = 0.0, name = _('MODE Switch - NVG/NITE'), category = {_('Special For Joystick'), _('Right Console'), _('INTR LT Control Panel')}}, { down = cptlights_commands.ModeSw, up = cptlights_commands.ModeSw, cockpit_device_id = devices.CPT_LIGHTS, value_down = -1.0, value_up = 0.0, name = _('MODE Switch - DAY/NITE'), category = {_('Special For Joystick'), _('Right Console'), _('INTR LT Control Panel')}}, Are you on stable version and it's maybe something fixed recently? Edited December 3, 2021 by Munkwolf Link to comment Share on other sites More sharing options...
skunk160 Posted December 3, 2021 Share Posted December 3, 2021 No Open Beta, only just back in the 18 and only with Quaggles mod running, so the problem was prolly in front of the monitor 1 skunk160 | Win10 PRO 64bit | i7-4770K 3.50 GHz | 32GB DDR3/1866MHz | GIGABYTE GeForce GTX 1080 x2 | Oculus Rift S | Virpil MongoosT-50CM2 | Virpil F-14B grip | Virpil 200m Curved Extension | PointCTRL | Delta Sim TM Slew | Sim Bandit AHCP | MFG Crosswind Pedals | //FOX2 Switch Boxes | RECARO SPG Seat | AuraSound AST-2B-4 Pro Bass Transducer x2 //FOXTWO Multi-Role Combat Pit Build http://forums.eagle.ru/showthread.php?t=134745 Link to comment Share on other sites More sharing options...
MAXsenna Posted December 3, 2021 Share Posted December 3, 2021 You guys are AWESOME! I just spent five MINUTES looking through the C-101 key binds! Whoa!!! 1 1 Link to comment Share on other sites More sharing options...
Lt_Jaeger Posted December 17, 2021 Share Posted December 17, 2021 Could anyone help me please with a "encoder friendly" bind for the Tomcat HSD Brightness Knob. Currently there seems only the possibility to bind two values but no actual in-/decrease. Link to comment Share on other sites More sharing options...
Munkwolf Posted December 17, 2021 Share Posted December 17, 2021 (edited) 53 minutes ago, Lt_Jaeger said: Could anyone help me please with a "encoder friendly" bind for the Tomcat HSD Brightness Knob. Currently there seems only the possibility to bind two values but no actual in-/decrease. Unfortunately I don't think that's possible at the moment. HB would need to add some additional relative commands where just absolute ones exist currently. I added 0%/25%/33%/50%/66%/75%/100% to the keybinds project for those. Figured being able to map a few values to have some control is better than nothing. https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/F14/Input/F-14B-Pilot/joystick/default.lua https://github.com/Munkwolf/dcs-community-keybinds/blob/main/InputCommands/F14/Input/F-14B-RIO/joystick/default.lua Edited December 17, 2021 by Munkwolf 1 Link to comment Share on other sites More sharing options...
Lt_Jaeger Posted December 17, 2021 Share Posted December 17, 2021 Damn, too bad, but thank you for your work on all these bindings. Maybe I can figure something out to make it happen, have to check FreeJoy wiki again. 1 1 Link to comment Share on other sites More sharing options...
sobe Posted December 20, 2021 Share Posted December 20, 2021 I have tried this mod several times without success. Yesterday, I tried it again as I wanted the extra keys for the Viggen. Finally success. Great program. 3 Trackir4 using the latest Trackir 5 software, Win10 Pro [Creator Update] updated from Win7Pro Pro 64Bit, Intel® Core™ i5-2500 3.30 GHz 6M Intel Smart Cache LGA115 , GigaByte GA-Z68XP-UD4 Intel Z68 Chipset DDR3 16GB Ram, GTX MSI Gaming 1060 [6 GB] Video Card, Main Monitor 1 on left 1920x1080 Touchscreen Monitor 2 on right 1920x1080 . Link to comment Share on other sites More sharing options...
-Hammer- Posted January 6, 2022 Share Posted January 6, 2022 Spent the last two days learning and programming the default.lua´s and today I found this amzing piece of code Thank you, you saved me a lot of time! 4 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 More sharing options...
Recommended Posts