Jump to content

Question for anyone who uses an Elgato Stream Deck


Recommended Posts

Posted (edited)

I just got the stream deck, but I am having issues with Il-2 recognizing the hotkeys.

 

For example: If I make the hotkey "Lshift + F" the game will sometimes get both the combination "Lshift + F" and also the "F" key.

 

I've used the stream deck with DCS World also, but don't have the same problem.

 

I am wondering if anyone here has the same problem and has any fix.

 

thanks!

Edited by AoSmiles
Posted

I have a streamdeck, but I haven't gotten enough into programming for il2, but what I have done, I haven't had this problem. Question for you though, are you using the modifier function for the key press, or are you using the multi key input?

  • 4 months later...
Tom25briklebritt
Posted

Same problem here. Have you solved it? Hope I can get an answer on how to get rid of it..

Posted

I never solved the underlying issue with the keybinds.

 

I just ended up rebinding the keys I wanted to use on the stream deck as single key presses (no modifier keys). It was the only way I could use the streamdeck. It worked out, but rebinding all those keys was what i was trying to avoid in the first place.

  • 2 months later...
Posted (edited)

OK, how do i install that supermacro into my streamdeck xl software? Im new at the streamdeck as of today lol.

nevermind i figured it out lol

 

Edited by The_Jug
Posted (edited)

Can't say I've noticed this issue but I will keep an eye out for it.

 

 

 

 

Edited by KStyle
  • 3 weeks later...
Posted

What supermacro did you use? 

  • 2 months later...
Posted

Umm, I am experiencing the same issue with Streamdeck and IL2 - whenever there are more actions on one key (1-switch to gunner position, Ctrl+1 Flare), modifiers do not work most of the time.

In this example I bound Hotkey Ctrl+1 on a streamdeck button and out of 10 tries 8x was thrown to a gunner position and only 2x the pilot actually draw the flare pistol.

I even tried this supermacro plugin mentioned by Tom25briklebritt, but neither {{LCONTROL}{VK_1}} nor {{CTRL}{VK_1}} worked (all is good in Chrome where Ctrl+1 switches to the first tab).

The keyboard layout in Windows is EN, if it makes any difference.

 

IL2 is the only app where I am experiencing this, so I guess the problem is in the game and not in the Streamdeck. Any help?

  • 3 months later...
Posted
On 9/17/2020 at 9:32 AM, josephine said:

I even tried this supermacro plugin mentioned by Tom25briklebritt, but neither {{LCONTROL}{VK_1}} nor {{CTRL}{VK_1}} worked (all is good in Chrome where Ctrl+1 switches to the first tab).

 After getting tank crew I thought I'd try figuring this out again. At first I had no luck with the super-macros, but after testing for a while I think I found the solution. 

Using the KeyDown:xxx and KeyUp:xxx commands I got this to work:

 

{{KeyDown:RSHIFT}}
{{KeyDown:l}}
{{KeyUp:l}}
{{KeyUp:RSHIFT}}

 

I couldn't get it to work any other way. The letter key between the modifier also has to use the key down/up commands. 

I also have the "don't treat new line as enter" option on, but it worked with it off so i don't know if that is necessary or will cause any issues. 

 

This works! However, if you mistype or forget to add the keyUp command your computer will think that the key is still down and will cause problems. For this reason I might not use this method because it is a hassle to fix sometimes. 

 

I'm still hoping that there is a better way. It is weird that IL-2 is the only program that I have this issue with. 

  • Like 2
  • Thanks 1
Posted

Hello,

 

If I remember correctly the problem is due to the way IL2 reads inputs from keyboard (combination of several keystroke).

Some times key combination will work, sometime not.

 

In another software to fix the problem is to introduce a small delay between the two keys exemple for ctrl + a -> LCTL + delay +

 

Hope it helps.

  • 3 weeks later...
Posted (edited)

G'day guys.

 

I was having the same issue with Stream Deck not functioning well with IL-2. I eventually decided that I was approaching the problem from the wrong direction, so I decided to go back to my old friend AHK, vJoy and the vJoy library by evilC. I created a simple script that presses a virtual joystick button (1-128) on a virtual joystick.

It first creates 128 files whose contents are exactly the same, allowing for future individual customisation of buttons, then it uses the number after the dash in the filename to determine which button to press.

Each script is launched using BarRaiders Advanced Launcher.

The advantage with this is that you can set 128 buttons (with a little work also include 4 x POV/hat and 8 axes) on 16 possible virtual devices...that's 2048 possible unique buttons and not a single modifier key used.

You can name the file vJoy2-1.ahk initially and it will create the scripts needed.

Hope it helps.

 

Quote

#SingleInstance, force
#include <CvJoyInterface>

 

IfNotExist, vJoy2-2.ahk
    Loop, 128
    {
    FileCopy, vJoy2-1.ahk, vJoy2-%A_Index%.ahk, Overwrite
    }


; Create an object from vJoy Interface Class.
vJoyInterface := new CvJoyInterface()

; Was vJoy installed and the DLL Loaded?
if (!vJoyInterface.vJoyEnabled()){
    ; Show log of what happened
    Msgbox % vJoyInterface.LoadLibraryLog
    ExitApp
}

ButStr := SubStr(A_ScriptName, 7)
StringTrimRight, button_array, ButStr, 3
myStick := vJoyInterface.Devices[2]
myStick.SetBtn(1,button_array)
sleep 50
myStick.SetBtn(0,button_array)
    Return

ExitApp

 

Edited by splat_cat_au
clarification
Posted (edited)

Actually, this one is easier.

;Filename is "IL2_vJoy.ahk"
#SingleInstance, force
#include <CvJoyInterface>

; Create an object from vJoy Interface Class.
vJoyInterface := new CvJoyInterface()

; Was vJoy installed and the DLL Loaded?
if (!vJoyInterface.vJoyEnabled()){
	; Show log of what happened
	Msgbox % vJoyInterface.LoadLibraryLog
	ExitApp
}

myStick := vJoyInterface.Devices[A_Args[1]]
myStick.SetBtn(1,A_Args[2])
sleep 50
myStick.SetBtn(0,A_Args[2])

AHK, vJoy and the vJoy library by evilC are required - see AutoHotKey site.

BarRaiders Advanced Launcher is also required - see Stream Deck application.

Run the single script file from BarRaiders Advanced Launcher and use arguments "[vJoy device #] [button #]" in the field required, eg "1 2" would denote vJoy device 1 and button 2. A space is required between both of the arguments.

The example bellow shows arguments for virtual device 2 and button 128.

Capture.PNG.2559bb3027ef11e08e8076640275017f.PNG

 

If anyone wants a third argument to control button press duration, first the line with "sleep 50" needs to be changed to "sleep A_Args[3]" and then add the third argument as the amount of time to pause (in milliseconds) between 0 and 2147483647 (24 days) in the arguments field...don't use max value!

 

Have fun.

 

 

 

Edited by splat_cat_au
More options
  • 5 months later...
[VCB]Telf_UK
Posted
On 12/27/2020 at 3:12 AM, AoSmiles said:

 After getting tank crew I thought I'd try figuring this out again. At first I had no luck with the super-macros, but after testing for a while I think I found the solution. 

Using the KeyDown:xxx and KeyUp:xxx commands I got this to work:

 

{{KeyDown:RSHIFT}}
{{KeyDown:l}}
{{KeyUp:l}}
{{KeyUp:RSHIFT}}

 

I couldn't get it to work any other way. The letter key between the modifier also has to use the key down/up commands. 

I also have the "don't treat new line as enter" option on, but it worked with it off so i don't know if that is necessary or will cause any issues. 

 

This works! However, if you mistype or forget to add the keyUp command your computer will think that the key is still down and will cause problems. For this reason I might not use this method because it is a hassle to fix sometimes. 

 

I'm still hoping that there is a better way. It is weird that IL-2 is the only program that I have this issue with. 

 

Just got my streamdeck and setting up for IL-2, after running into numerous issues with modifier keys, and not wanting to personally change some of the default keybindings, for example nav lights, landing lights, sun filters etc, I was led towards the "Supermacro" plugin.

 

I was unable to get it working until I came across your post there. I can happily say that all multi key keybinds, with modifiers such as L-CTRL, R-CTRL, L-SHIFT, R-SHIFT, L-ALT, R-ALT etc, are all working as per your method above.

Thanks a lot for posting this, saved me a heck load of time running about testing macro's ?

  • 1 year later...
Posted

I've just got myself a Stream Deck XL, and after a bit of Googling, found a useful plugin for it - Streamdeck-vJoy. It uses vJoy to emulate joysticks (and axes/sliders, though I'm not sure how useful that would be for IL-2 GB), and seems to work as you'd expect it to. Virtual buttons are held down as long as you hold down the Streamdeck key, which simplifies things a lot compared to the method splat_cat_au is using above, and avoids all the problems IL-2 GB seems to have with keypress emulators.

 

I'm still tinkering with it, and haven't really decided on the best layout (which will probably involve multiple pages so I can get at less-used controls) but if the general idea is keep all the most frequently-used controls on HOTAS, and only use Streamdeck for the stuff I'd have use the keyboard for. I'll probably end up creating multiple profiles, to suit different aircraft.

 

IL-2-GB-Streamdeck-v-Joy.png

 

https://github.com/ashupp/Streamdeck-vJoy

 

 

 

  • 1 year later...
Posted (edited)

Anyone has this gadget? I wonder if it's useful in IL2, as it seems that with DCS. there are 15 and 32 (XL) button versions it seems.

Stream Deck Panel

Edited by jollyjack
  • jollyjack changed the title to Elgato Stream Deck Panel ?
Posted

Hello,

Some info here :

search "stream deck" in this forum and you will have some information.

Have fun

  • Thanks 1
Posted

thnx, sounds like less fun already LoL.

Posted

Long time passed, but just got hold of the 15 button version 2.

Seems the supermacro plugin has seen further development, and can only be installed via the Bar Raiders - Elgato Discord system.

But i wonder if the Stream Deck hardware is still useful for Il2.

Posted

I'm still using mine. The VJoy button emulation method works fine.

Posted (edited)

Thnx. New to Vjoy ... so you don't need this supermacro plugin? PS i canceled the 15 button one and ordered the 32XL.

I particularly want to use it with tank crew, as i always have a rough time getting the controller keys working or not working.

Found something here, seems your link: https://github.com/jshafer817/vJoy/releases/tag/v2.1.9.1

 

Added July 6th: i figured it out, maybe since the new software etc it works without vJoy.

 

 

Edited by jollyjack

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...