Jump to content

One button press and two commands


Go to solution Solved by bofhlusr,

Recommended Posts

Posted

Anyone know if this is possible using default functionality in the A-10C? If not possible with the current game version, maybe programmatically or by modifying a lua or configuration file?

For example, pressing one joystick button extends the speed brakes. Releasing the *same* joystick button also retracts the speed brakes.

Thank you.

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted

This can be done quite easily with third party programs like Joy2Key or Joystick Gremlin. I prefer not to have vjoy installed so I use Joy2Key. So I simply have say joystick button 27 for Speedbrake on and on release it is keystroke A which I map to speedbrake off.

Joystick Gremlin is a little more elegant in that I can map press and release to two different virtual joystick buttons and not have to use keys. I just find Joy2Key a bit simpler and have enough keystrokes spare to use.

I believe it can also be done by editing the control lua files.

 

  • Like 1

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted (edited)

It is possible with a .lua edit

DCS World/Mods/aircraft/A-10C/Input/A-10C/joystick

default.lua

add this line (tested and working)
{down = iCommandPlane_HOTAS_SpeedBrakeSwitchAft, up = iCommandPlane_HOTAS_SpeedBrakeSwitchForward, name = _('HOTAS Speed Brake Switch Aft- else forward'), category = _('HOTAS')},

you will see a new entry in your controls called
HOTAS Speed Brake Switch Aft- else forward

The original 2 lines are, the above just combines the two
248 - {down = iCommandPlane_HOTAS_SpeedBrakeSwitchAft, up = iCommandPlane_HOTAS_SpeedBrakeSwitchCenter, name = _('HOTAS Speed Brake Switch Aft'), category = _('HOTAS')},
249 - {down = iCommandPlane_HOTAS_SpeedBrakeSwitchForward, up = iCommandPlane_HOTAS_SpeedBrakeSwitchCenter, name = _('HOTAS Speed Brake Switch Forward'), category = _('HOTAS')},


You may be interested in a really good mod for keybinds. Basically it saves modifications like this in your saved games folder, and adds them to the DCS keybinds file when the game loads. There's also a community keybinds project that adds hundreds of keybinds to all the different aircraft for switches and buttons that do not have a keybind by default.

 

community keybinds
https://github.com/Munkwolf/dcs-community-keybinds

Edited by jonsky7
  • Like 1
  • Solution
Posted

@Baldrick33 and @jonsky7 ...thank you both. I'll make sure to check these solutions out. 

Since you might be the users who might have answers to questions I had that haven't had answers: 

1. Would you know if it is possible to save a snap view so that does not snap back... For example: pressing a snap view like LWin-Numpad5 (large HUD) will not disappear when the same LWin-Numpad5 key combo is released? This functionality will be great for target practice.

2. Is it possible to combine (overload) two commands using one keybind eg. pressing joystick Button 2 extends the speed brake. Pressing Button 2 again, a second time, will retract it (it'll behave like the 'g' key. A first press of the 'g' keybind will bring the gear up. The second 'g' press will bring the gear down).  Another example, press a joystick button once has you checking your back or '6' (the default F4 or external view-look backwards). Pressing it a second time, take you inside (the default F1 internal view-cockpit center). This functionality will quickly let you see if you hit your targets.

Thanks.

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted (edited)
1 hour ago, jonsky7 said:

It is possible with a .lua edit

DCS World/Mods/aircraft/A-10C/Input/A-10C/joystick

default.lua

add this line (tested and working)
{down = iCommandPlane_HOTAS_SpeedBrakeSwitchAft, up = iCommandPlane_HOTAS_SpeedBrakeSwitchForward, name = _('HOTAS Speed Brake Switch Aft- else forward'), category = _('HOTAS')},

you will see a new entry in your controls called
HOTAS Speed Brake Switch Aft- else forward

The original 2 lines are, the above just combines the two
248 - {down = iCommandPlane_HOTAS_SpeedBrakeSwitchAft, up = iCommandPlane_HOTAS_SpeedBrakeSwitchCenter, name = _('HOTAS Speed Brake Switch Aft'), category = _('HOTAS')},
249 - {down = iCommandPlane_HOTAS_SpeedBrakeSwitchForward, up = iCommandPlane_HOTAS_SpeedBrakeSwitchCenter, name = _('HOTAS Speed Brake Switch Forward'), category = _('HOTAS')},

....

 

Yaaayyy it worked. I was able to bind it to a joystick key but it could do some fine tuning. Important thing is it works. Can't thank you enough. Really appreciated.

Follow-up questions:
1. Is there a way to hurry up the speed brake?  It takes about 4-5 seconds to fully deploy or extend. Is there any way to cut that down to half or 2-3 seconds?
2. I tried to bind the new functionality to an un-assigned key on the A-10C (the 's') key, but for some reason I get a "No Command Available for this device" error (see below).
 

DCS Speed brake mod-1-25-2023 4-12-55 PM.jpg

Edited by bofhlusr

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted (edited)
9 hours ago, Baldrick33 said:

This can be done quite easily with third party programs like Joy2Key or Joystick Gremlin. I prefer not to have vjoy installed so I use Joy2Key. So I simply have say joystick button 27 for Speedbrake on and on release it is keystroke A which I map to speedbrake off.

Joystick Gremlin is a little more elegant in that I can map press and release to two different virtual joystick buttons and not have to use keys. I just find Joy2Key a bit simpler and have enough keystrokes spare to use.

I believe it can also be done by editing the control lua files.

 

@Baldrick33 I read the introductory basic and advance feature set in Joy2Key's webpage but I'm still not clear if it can do something like (as an example):
--pressing a modifier key such as joystick button 11 in combination with a regular joystick button 7  =  pressing keyboard 'g', 'LShift-F', 'LCtrl-t', press the NumPad minus key 3 times (again this is just an overarching example...raise the gear, retract the flaps, center the trim and decrease the throttle).  In other words, I am not clear if Joy2Key has 'macro' functionality.

If I understand your Speedbrake example above you're actually telling joystick button 27 using Joy2Key to: press keystroke LCntrl-b and  LShift-b (after assigning this to keystroke 'a'). Do I have this right?  Thank you.

Edited by bofhlusr

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted (edited)
31 minutes ago, bofhlusr said:

@Baldrick33 I read the introductory basic and advance feature set in Joy2Key's webpage but I'm still not clear if it can do something like (as an example):
--pressing a modifier key such as joystick button 11 in combination with a regular joystick button 7  =  pressing keyboard 'g', 'LShift-F', 'LCtrl-t', press the NumPad minus key 3 times (again this is just an overarching example...raise the gear, retract the flaps, center the trim and decrease the throttle).  In other words, I am not clear if Joy2Key has 'macro' functionality.

If I understand your Speedbrake example above you're actually telling joystick button 27 using Joy2Key to: press keystroke LCntrl-b and  LShift-b (after assigning this to keystroke 'a'). Do I have this right?  Thank you.

 

In joy2key I would map the release of button 27 to keystroke A. Then in DCS map speed brake on to button 27 and speedbrake off to keyboard A. I will post a screen later.

For macro stuff you are probably better off with joystick gremlin.

Edited by Baldrick33

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted (edited)
7 hours ago, bofhlusr said:

Yaaayyy it worked. I was able to bind it to a joystick key but it could do some fine tuning. Important thing is it works. Can't thank you enough. Really appreciated.

Follow-up questions:
1. Is there a way to hurry up the speed brake?  It takes about 4-5 seconds to fully deploy or extend. Is there any way to cut that down to half or 2-3 seconds?
2. I tried to bind the new functionality to an un-assigned key on the A-10C (the 's') key, but for some reason I get a "No Command Available for this device" error (see below).
 

DCS Speed brake mod-1-25-2023 4-12-55 PM.jpg

 

If you want to use a keyboard key, you must also copy that line into 

DCS World/Mods/aircraft/A-10C/Input/A-10C/keyboard

Default.lua

 

But there's no way to increase its speed I'm afraid, that is a function of the aircraft, not the keybinds.

Edited by jonsky7
Posted (edited)
8 hours ago, bofhlusr said:

@Baldrick33 and @jonsky7 ...thank you both. I'll make sure to check these solutions out. 

Since you might be the users who might have answers to questions I had that haven't had answers: 

1. Would you know if it is possible to save a snap view so that does not snap back... For example: pressing a snap view like LWin-Numpad5 (large HUD) will not disappear when the same LWin-Numpad5 key combo is released? This functionality will be great for target practice.

2. Is it possible to combine (overload) two commands using one keybind eg. pressing joystick Button 2 extends the speed brake. Pressing Button 2 again, a second time, will retract it (it'll behave like the 'g' key. A first press of the 'g' keybind will bring the gear up. The second 'g' press will bring the gear down).  Another example, press a joystick button once has you checking your back or '6' (the default F4 or external view-look backwards). Pressing it a second time, take you inside (the default F1 internal view-cockpit center). This functionality will quickly let you see if you hit your targets.

Thanks.

1. snap view lines A10C 
DCS World/Mods/aircraft/A-10C/Input/A-10C/keyboard/Default.lua

lines
{combos = {{key = 'Num0', reformers = {'LWin'}}}, down = iCommandViewSnapView0,    up = iCommandViewSnapViewStop, name = _('Snap View 0'), category = _('View Cockpit')},
{combos = {{key = 'Num1', reformers = {'LWin'}}}, down = iCommandViewSnapView1,    up = iCommandViewSnapViewStop, name = _('Snap View 1'), category = _('View Cockpit')},
{combos = {{key = 'Num2', reformers = {'LWin'}}}, down = iCommandViewSnapView2,    up = iCommandViewSnapViewStop, name = _('Snap View 2'), category = _('View Cockpit')},
{combos = {{key = 'Num3', reformers = {'LWin'}}}, down = iCommandViewSnapView3,    up = iCommandViewSnapViewStop, name = _('Snap View 3'), category = _('View Cockpit')},
{combos = {{key = 'Num4', reformers = {'LWin'}}}, down = iCommandViewSnapView4,    up = iCommandViewSnapViewStop, name = _('Snap View 4'), category = _('View Cockpit')},
{combos = {{key = 'Num5', reformers = {'LWin'}}}, down = iCommandViewSnapView5,    up = iCommandViewSnapViewStop, name = _('Snap View 5'), category = _('View Cockpit')},
{combos = {{key = 'Num6', reformers = {'LWin'}}}, down = iCommandViewSnapView6,    up = iCommandViewSnapViewStop, name = _('Snap View 6'), category = _('View Cockpit')},
{combos = {{key = 'Num7', reformers = {'LWin'}}}, down = iCommandViewSnapView7,    up = iCommandViewSnapViewStop, name = _('Snap View 7'), category = _('View Cockpit')},
{combos = {{key = 'Num8', reformers = {'LWin'}}}, down = iCommandViewSnapView8,    up = iCommandViewSnapViewStop, name = _('Snap View 8'), category = _('View Cockpit')},
{combos = {{key = 'Num9', reformers = {'LWin'}}}, down = iCommandViewSnapView9,    up = iCommandViewSnapViewStop, name = _('Snap View 9'), category = _('View Cockpit')},


change to, or add
{combos = {{key = 'Num0', reformers = {'LWin'}}}, down = iCommandViewSnapView0,   name = _('Snap View 0 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num1', reformers = {'LWin'}}}, down = iCommandViewSnapView1,    name = _('Snap View 1 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num2', reformers = {'LWin'}}}, down = iCommandViewSnapView2,    name = _('Snap View 2 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num3', reformers = {'LWin'}}}, down = iCommandViewSnapView3,    name = _('Snap View 3 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num4', reformers = {'LWin'}}}, down = iCommandViewSnapView4,    name = _('Snap View 4 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num5', reformers = {'LWin'}}}, down = iCommandViewSnapView5,    name = _('Snap View 5 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num6', reformers = {'LWin'}}}, down = iCommandViewSnapView6,    name = _('Snap View 6 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num7', reformers = {'LWin'}}}, down = iCommandViewSnapView7,    name = _('Snap View 7 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num8', reformers = {'LWin'}}}, down = iCommandViewSnapView8,   name = _('Snap View 8 fixed'), category = _('View Cockpit')},
{combos = {{key = 'Num9', reformers = {'LWin'}}}, down = iCommandViewSnapView9,    name = _('Snap View 9 fixed'), category = _('View Cockpit')},

(eg the "combos = {{key = 'Num7', reformers"  is the programmed default key. When you change a keybind, a keybind differences file is created in your saved games folder. The default.lua file is not changed when you make changes, only the differences file. Any changes you make to the default.lua's will revert on the next update. That's where the mod I linked to earlier comes in. Or use a mod manager like OvGME.)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 

2. No, not in DCS as far as I'm aware, the "toggle-ing" is a programmed function.
eg, in the A10C
iCommandPlaneGear - is the gear toggle command
iCommandPlaneGearUp - is the gear up command
iCommandPlaneGearDown - is the gear down dcommand

The best you can do is have one function on button press, and another on button release
This would be look back when button held, back to cockpit on release
 {down = iCommandViewRear, up = iCommandViewCockpit, name = _('F4 Rear view else cockpit view'), category = _('View')},

 

And again, if you want it to be keyboard or joystick, copy to both keyboard and joystick default.lua's

Edited by jonsky7
Posted

I'll check this out. Thank you.

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted
2 hours ago, Baldrick33 said:

In joy2key I would map the release of button 27 to keystroke A. Then in DCS map speed brake on to button 27 and speedbrake off to keyboard A. I will post a screen later.

For macro stuff you are probably better off with joystick gremlin.

 

I took a quick look at the on-line manual for Joystick Gremlin. It has a learning curve and I'm afraid I'll have lots of questions that is probably better asked in a forum for Joystick Gremlin (if I can find one). I was able to quickly create a Joystick Gremlin macro that pressed the g, f, and Ctrl-t keystrokes which showed up in Notepad but only worked partly in the A-10C. I'm not sure learning Joystick Gremlin now makes sense considering I still have lots to learn in the A-10. 

Looking forward to your screen post later. Thank you.
 

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted

I spent a bit of time with Joystick Gremlin, I am far from an expert but happy to answer any questions if I can.

With both Joy2Key and Joystick Gremlin I found using shift, ctrl, alt somewhat unreliable. I either use single key presses or virtual joystick buttons instead.

For instance your Gremlin macro could press vjoy buttons 30,31 & 32 and map these vjoy buttons to DCS.

Below is the Joy2Key command to add a keystroke to a button release. Input2 could be another keystroke if you wish on press.

Note you could also assign up to four keystrokes for press or release so you could have up to four functions from one button using Joy2Key

j2k.jpg

  • Like 2

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted

I am going to checkout your Joy2Stick screen above. Thank you.

For the Joystick Gremlin do I need to hide my physical joystick (Logitech 3D) with a program such as 'hidhide' which you didn't mention as using, but is mentioned in this YouTube video? 


 

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted
29 minutes ago, bofhlusr said:

I am going to checkout your Joy2Stick screen above. Thank you.

For the Joystick Gremlin do I need to hide my physical joystick (Logitech 3D) with a program such as 'hidhide' which you didn't mention as using, but is mentioned in this YouTube video? 

 

It is down to preference. I did hide some of the physical button box devices. I preferred to use the native axis of my stick & throttle rather than the vjoy ones, probably out of paranoia in case vjoy added any latency, so I didn't hide those and mapped the axis directly to them in DCS, then mapped the buttons to the vjoy device.

  • Like 1

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted (edited)

@Baldrick33 I checked out the Joy2Key screen that you posted above.

With regards to that screen, can I assign two buttons on the physical joystick? For example: pressing the #1 and #2 buttons simultaneously on the physical joystick will result in simulating the following keystrokes on the keyboard: 'g'+'LShift-f'+'LCtrl-t'  +'Numpad-Minus'  +'Numpad-Minus'  +'Numpad-Minus'? 

(After take-off: retract the gear and flaps, center trim, and decrease speed).

DCS Joy2Key-joystick assignments.jpg

Edited by bofhlusr

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted
6 minutes ago, bofhlusr said:

@Baldrick33 I checked out the Joy2Key screen that you posted above.

With regards to that screen, can I assign two buttons on the physical joystick? For example: pressing the #1 and #2 buttons simultaneously on the physical joystick will result in simulating the following keystrokes on the keyboard: 'g'+'LShift-f'+'LCtrl-t'  +'Numpad-Minus'  +'Numpad-Minus'  +'Numpad-Minus'? 

 

 

You can do several things. There is a shift option which is like a modifier though I haven't used this. You can also map short and long presses to do different things. So a long press on a button could do the things you suggested. You can also rotate between inputs. So a switch could do the take off actions and next press do the landing actions for example.

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted (edited)
39 minutes ago, bofhlusr said:

@Baldrick33 I checked out the Joy2Key screen that you posted above.

With regards to that screen, can I assign two buttons on the physical joystick? For example: pressing the #1 and #2 buttons simultaneously on the physical joystick will result in simulating the following keystrokes on the keyboard: 'g'+'LShift-f'+'LCtrl-t'  +'Numpad-Minus'  +'Numpad-Minus'  +'Numpad-Minus'? 

(After take-off: retract the gear and flaps, center trim, and decrease speed).

 

I don't know J2K, but with Joystick Gremlin that is a trivial task.

In JG, you do not need to 'hide' your physical controllers except in rare instances.  In DCS, you select a binding under the "vjoy" device, and it will only look for buttons that JG sends, not the buttons on your physical joystick.  For other apps that look across multiple devices at once when you're setting them up (like Voice Attack), you would use the "Input Repeater" tool in JG, which repeats your vjoy input multiple times after you press the physical button.  That way, your physical joystick won't interfere.  If you don't need to do fancy JG stuff with your axes or buttons, you would simply bind your physical joystick to them, not the vjoy device.  In that case, you could just create a vjoy device with a few buttons only for simplicity, and use them for the fancy functions you need (which is what I do).

Yes, you could set up HID Guardian to hide your original hardware, but, in general, it's really not necessary and can be inconvenient in other circumstances

Edited by jaylw314
  • Like 2
Posted
14 minutes ago, Baldrick33 said:

You can do several things. There is a shift option which is like a modifier though I haven't used this. You can also map short and long presses to do different things. So a long press on a button could do the things you suggested. You can also rotate between inputs. So a switch could do the take off actions and next press do the landing actions for example.

This is nice. It is a tough choice between Joy2Key and Joystick Gremlin. Do you have both installed in your PC?  Any compatibility issues in installing both?

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted
4 minutes ago, bofhlusr said:

This is nice. It is a tough choice between Joy2Key and Joystick Gremlin. Do you have both installed in your PC?  Any compatibility issues in installing both?

There shouldn't be.  vJoy installs virtual controllers, but JG only controls them when it's running.  If you don't run JG, J2K should work fine.  I'm not 100% sure if the other way around is true, though.

In general, vJoy is ridiculously powerful and the stuff you can do will blow your mind, but it takes reading the docs.  J2K is simpler but still useful for most tasks.

 

Posted (edited)
35 minutes ago, jaylw314 said:

....

Yes, you could set up HID Guardian to hide your original hardware, but, in general, it's really not necessary and can be inconvenient in other circumstances

 

@jaylw314I did a first look and a quickie test of JG last night without reading the manual and simulated pressing the 'g' and 'f' keyboard keystrokes by pressing the physical Button 10 on my joystick. 

I tested it in Windows Notepad and it worked. Pressing Button 10 on my joystick resulted in 'g' and 'f' showing up on the Windows Notepad.  

Testing it inside the game also worked. The gear and flaps went down. BUT (there's always a 'but' right? <g>) pressing Button 10 on the joystick also did a lot of other actions that surprised me (see sample below). I was guessing that maybe because I didn't hide the physical joystick?

EDIT ADDITION: The reason I looked at the Control Options below is because in addition to extending the gear and the flaps, the A-10 also fired (triggered) its gun which I thought very odd since I only created two actions ('g' and 'f') for joystick Button 10.

DCS JG extra actions.jpg

Edited by bofhlusr

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted

Does vJoy and JG have priority over the physical joystick when there is conflicting actions between the two? For example: virtual Button10 on vJoy simulates pressing 'g', but physical Button10 on the joystick and DCS simulates pressing 'f' instead?

 

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted
6 minutes ago, bofhlusr said:

Does vJoy and JG have priority over the physical joystick when there is conflicting actions between the two? For example: virtual Button10 on vJoy simulates pressing 'g', but physical Button10 on the joystick and DCS simulates pressing 'f' instead?

 

You will get double bindings - both f & g will be sent to DCS. You will need to unmap the physical stick buttons to avoid multiple actions.

DCS adds some defaults to a new device like the view controls - it will do this for a virtual device too.

  • Like 1

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

Posted
23 minutes ago, Baldrick33 said:

You will get double bindings - both f & g will be sent to DCS. You will need to unmap the physical stick buttons to avoid multiple actions.

 

Other than JG's website, can you suggest other websites, links, forums, etc. for learning JG?

Win Pro 10, A-10c (rarely used, but started with Falcon AT!), P3D v4 (100+ add-ons mostly ORBX), i7-8700k, 16 GB 3200 Mhz RAM, Gigabyte Z370M DS3H, Corsair water cooler, EVGA SuperNOVA Gold 650W, PNY GTX 1070ti, Dell 27" G-sync monitor, Logitech 3D Pro, NVMe OS drive, TB's of free space on SSD.

Posted (edited)
1 hour ago, bofhlusr said:

@jaylw314I did a first look and a quickie test of JG last night without reading the manual and simulated pressing the 'g' and 'f' keyboard keystrokes by pressing the physical Button 10 on my joystick. 

I tested it in Windows Notepad and it worked. Pressing Button 10 on my joystick resulted in 'g' and 'f' showing up on the Windows Notepad.  

Testing it inside the game also worked. The gear and flaps went down. BUT (there's always a 'but' right? <g>) pressing Button 10 on the joystick also did a lot of other actions that surprised me (see sample below). I was guessing that maybe because I didn't hide the physical joystick?

EDIT ADDITION: The reason I looked at the Control Options below is because in addition to extending the gear and the flaps, the A-10 also fired (triggered) its gun which I thought very odd since I only created two actions ('g' and 'f') for joystick Button 10.

 

Whenever you connect a new peripheral, including a vJoy, it's a good idea to clear ALL the bindings from it.  DCS tends to have a default set of bindings that don't always make sense.  It's a good idea to clear all the button bindings from your physical joystick that you intend on using with JG

Using JG to trigger keyboard presses is generally a terrible idea, because they're problematic to emulate, since timing, duration, and combinations could all affect what the result will be.  JG was intended to be tightly used with a vJoy device.  That way it pressing Button 10 on your physical joystick would trigger both Button 1 & Button 2 on vJoy.  Then you go into your DCS control settings and bind vJoy button #1 to the same function that 'f' is bound to, and vJoy button #2 to the function that 'g' is bound to.  Now when you press button 10 on your physical joystick, it triggers both functions.

Edited by jaylw314
  • Like 1
Posted
48 minutes ago, bofhlusr said:

Other than JG's website, can you suggest other websites, links, forums, etc. for learning JG?

I just dive in and try stuff - just like my approach to flying which is probably best left to simulators 🙂

  • Thanks 1

AMD 5800X3D · MSI 4080 · Asus ROG Strix B550 Gaming  · HP Reverb Pro · 1Tb M.2 NVMe, 32Gb Corsair Vengence 3600MHz DDR4 · Windows 11 · Thrustmaster TPR Pedals · VIRPIL T-50CM3 Base, Alpha Prime R. VIRPIL VPC Rotor TCS Base. JetSeat

  • Recently Browsing   0 members

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