Jump to content

Using StreamDeck to send Keyboard Inputs to enable a command


Recommended Posts

Much as I use Ctyler's absolutely brilliant and excellent app for inputting commands from a StreamDeck to DCS there are times especially with LEV (axis) functions where I just can't get the command to work correctly.

 

Plan B is to use a HotKey on the StreamDeck. I've been doing this for a couple of weeks and like the idiot I am I only just found out that the HotKey can not only support Left CTL, Left ALT and Left Shift but can also support Right CTL, Right ALT and Right SHIFT. I guess I need to read more instruction manuals.

 

In case anybody was unaware, this can be done by selecting the HotKey and prior to inputting the Keyboard sequence, select DownArrow/"v" next to the Hotkey Window, a dropdown appears and at the top there's a differentiate Left/Right Modifers option. Click that and the StreamDeck will now differentiate between left and right modifiers.

 

For non-US keyboards though there's a drawback our Right ALT is Right ALTGR, this results in the StreamDeck programming a Left CTL+Right ALT. Some software seems capable of filtering this out but not the StreamDeck, if you use R ALT on the StreamDeck with a non US keyboard (I use an English one) the Left CTL+Right ALT it outputs is not recognized as a Right ALT, well not in DCS anyway.

 

I found a rather awkward workaround that seems to work.

 

Go to Windows Settings/Time & Language/Language, select US English under the Windows Display Language, if it's not there add it from the Add a Language Option.

 

Change the option from whatever language you use to US, you'll need to sign in again, which is a pain but that's it. You can then make up your HotKeys, the US keyboard only sends a Right ALT not a Right ALT+Left CTL.

 

When you're finsihed, reverse the procedure and this is where is gets wierd. When I checked with my keyboard now set back to English, using a keyboard recorder tool, StreamDeck was now sending the same old Right ALT+Left CTL again, so I thought that didn't work, but it did, I went into DCS and my Right Alt+Left CTL was now being recognized as a Right Alt only............Happy Days.

 

I haven't done extensive testing just a few commands so far but it looks like it's fine

 

Of course not nearly as good as using the DCS Bios but it's better than not having the command at all


Edited by Weegie
  • Thanks 2
Link to comment
Share on other sites

  • 4 months later...

Thank you very much for this hint /guide!

Looking for a solution in the StreamDeck forums was unsuccessful and requesting help from StreamDeck support is like closing a life-insurance-contract....  

-->

No, thanks! 🤮

 

Anyway, with my German keyboard and settings your guide sadly just helped me partial.....  

I had to change the keyboard-layout from "German (Germany)" to "English (United States)", that's right....

(By the way, you can simply (at least in my Win10 Home Edition) add a new keyboard-language and you dont have to change the whole system-language!)

 

With that solution I've been able to configure the right "Alt"-Button (ALT-R) which is, with German layout, until then detected by StreamDeck with "CTRL+ALT"...

So you are now able to configure left-engine start now on StreamDeck...

-->

Perfect! 🥳

 

But moreover I ran into the next problem.... the NumPad-Button " / " (for zooming out) was not even with US-keyboard detected correctly....   

It is always detected with " NumPad / "....

It does not work when I record my input in SteamDeck and it does not work when I set the hotkey via context menu of the StreamDeck....

-->

😑

 

Did you run into the same problem, nay, do you already have a solution for that?

 

Best regards

XecutriX´👋

Link to comment
Share on other sites

I'll try to have a look later @XecutriX

 

You are quite correct on the swapping of keyboards I've now got a label on the right of the Taskbar where I can change keyboard type on the fly.

 

I usually only change from the native keyboard to the US American specifically for commands that use R_ALT (ALTGR) and then change back to native for any other commands I'm making keystrokes for. I haven't ran in to your problem but I don't use the Keystroke Hot Key that often, so I'll try to see if I can make 2 commands in a profile, one incorporating R_ALT and another for the "Numpad /" key to see how it behaves

Link to comment
Share on other sites

  • 2 weeks later...

Ok... on the one hand we have the CTRL/ALT/Anything-Left and CTRL/ALT/Anything-Right problem and it's not perfect, but we have a solution...

 

But it seems that I have a lot of problems more with the German keyboard for which I did't find a solution yet....

 

Background knowledge:

On the German keyboard it makes a difference if you enter a key on the main keyboard, or if you type the same on the numpad.... (I don't know if other languages have the same problem....)

For example:    "  *  "    on the main-keyboard is detected with entering by numpad with   "  Numpad *   "....

 

The next thing is, that the " + ",  " ~ " and the " * " signs are placed on the same button on the German keyboard.

You have to press the "shift" button to reach the " * " -input on the key that includes " * " and " + " and  " ~ ".....

 

Problem:

If you want to configure an input for DCS World that takes for example CTRL-left + * it takes additionally the shift-button to do this.... 

And as expected Streamdeck will not take this... 😞

 

I tried it another way with "Caps Lock"

That works good! At first glance....

Streamdeck takes (even with Caps Lock) the CTRL-input and then it automatically takes the " * "-key together to a combination.

So actually in you Streamdeck control-surface you can see "CTRL+*"

BUT:

When you deactivate Caps Lock later, it doesn't only remove the function from the keyboard, it also changes the saved configuration on the Streamdeck back to the non-caps lock key " + ".....  😞

 

Another Problem:

Keyboard-keys on the English keyboard layout and keyboard-keys on the German keyboard layout are differently assigned.....

So where we have the button "ö" (=combination of o+e) the english keyboard has the  ";" (=semicolon).....

And where the German layout has the ";" and the "," on the same button, the English layout has the "," and the "<" ......

Confusing.....!  -.-

So maybe I can set aaaaaaall the key combinations on streamdeck with the english layout (what forces me to find out which english button lays behind the german button layout on the whole keyboard), but later when I switch back to german-layout, half of the combinations won't work any longer, because the input is often NOT identical between English and German layout.....  😭

 

 

That's all f*** up... and it is way to complicated and way too much effort to configure Streamdeck....  

Reset aaaaaaaaaaaaaaaaaall the key-combinations in DCS-World to a german layout seems also to be completly insane....

 

------->>>

 

In the end I had the idea to use the Streamdeck identical as a gamepad or joystick or another periphery that brings it's own buttons....

 

Idea:

Instead of setting a key in the Streamdeck control-surface, you configure a key in DCS and simply press the Streamdeck-button....

DCS could recognize it as "STREAMDECK_INPUT_01"   up to "STREAMDECK_INPUT_32"  (or something like that....)!

Of course this is not a perfect plan, because you have an unlimited sub-layers on Streamdeck that can be configured....

But it seems to be way easier than all the other options so far and you would still be able to rename a Streamdeck button and also to depoosit a picture....

 

The only question is:

How can I turn my Streamdeck into a controller like the Logitech/Saitek Farming Side Panel?!  🙄

Google delivered no solutions so far.... 

Maybe someone in this community has an epic idea how to do it?

 

(Yes, I know, there is a lot of useful hardware simulator-stuff from Thrustmaster and so on...

But Streamdeck costs a lot and I bought it for exactly these kind of application and I really like these funny coloured buttons with text....

Especially when I can press them and something moves!😆)


Edited by XecutriX
Link to comment
Share on other sites

Update:

Just found this device driver + Streamdeck App, but I didn't figure out yet, how it exactly works....

 

"

vJoy

vJoy is a device driver that bridges the gap between any device that is not a joystick and an application that requires a joystick. If you develop an application for windows that requires user physical input you should consider incorporating vJoy into your product.

"

https://github.com/jshafer817/vJoy/releases/tag/v2.1.9.1

 

"

Streamdeck-vJoy
Map elgato stream deck buttons to vJoy buttons or axis.
I created this project to use my Stream Deck XL with Simracing games."

"

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


Edited by XecutriX
Link to comment
Share on other sites

Update:

I made it work... somehow....

I can now use Streamdeck as a "controller / joystick" with up to 128 buttons and DCS accepts the input!

No more key(-combination) mapping on Stream Deck ...(for any simulator with joystick support out there)!!! 🤩

If u are interested in a little "starter"-guide (and not to trial and error with the links above), I will take the time and write some words.


Edited by XecutriX
  • Like 2
Link to comment
Share on other sites

Nice find.

Using non US layout keyboards is always a pain in the ass when it comes down to assigning or recognizing inputs in a game or generate them from another device.

Not even the standard USB key codes work like it should (most of them do but not all). I always need to work around the problem keys to make it work, either when using the keyboard, HOTAS controller or Streamdeck. Can be a real pain sometimes.

  • Thanks 1

Win11 Pro 64-bit, Ryzen 5800X3D, Corsair H115i, Gigabyte X570S UD, EVGA 3080Ti XC3 Ultra 12GB, 64 GB DDR4 G.Skill 3600. Monitors: LG 27GL850-B27 2560x1440 + Samsung SyncMaster 2443 1920x1200, HOTAS: Warthog with Virpil WarBRD base, MFG Crosswind combat pedals, TrackIR4, Rift-S.

Personal Wish List: A6 Intruder, Vietnam theater, decent ATC module, better VR performance!

Link to comment
Share on other sites

  • 3 months later...

Hi All,

 

Great thread, allowing me to solve many issues I was finding with my R ALT with the L CTRL issue

 

One thing though, I can't get my Stream Deck XL (v5 software) to recognise Caps Lock, which is what I have set as my TrackIR Centre key


Anyone know how I can get Stream Deck HotKeys to recognise Caps Lock?

 

Thanks again for a great thread

 

On 4/12/2021 at 2:42 PM, XecutriX said:

Update:

I made it work... somehow....

I can now use Streamdeck as a "controller / joystick" with up to 128 buttons and DCS accepts the input!

No more key(-combination) mapping on Stream Deck ...(for any simulator with joystick support out there)!!! 🤩

If u are interested in a little "starter"-guide (and not to trial and error with the links above), I will take the time and write some words.

 

 

I would love to see a guide if you did one

Toni Carrera (Ice Rhino)

 

ThrustMaster HOTAS Warthog Throttle & A10C Stick, ThrustMaster F/A-18C Stick, ThrustMaster TFRP Pedals, ThrustMaster Cougars x 2, fitted to CubeSim USB Screens, TrackIR 4 Active LED & Cap Reflector, Stream Deck XL

Intel® Core™ i7-5820K 12 Core Processor, 32GB RAM, 1 x 500GB SSD, 2 x 256GB SSD, 1 x 1TB SSD 4 x 4TB Western Digital Mechanical. 2 x ASUS GTX 1080's SLI, ASUS 29" Ultrawide flanked by 2 x 22" IPS Monitors

Link to comment
Share on other sites

  • 2 months later...

I spent hours programming my new stream deck with a combination of DCS Export scripts and simple key binds using the Hot Key functions in the Stream Deck app. All of my Stream Deck buttons programmed with DCS exports scripts work great, but I cant get any of the hot key keyboard binds to work. I have a U.S. keyboard and I am aware of how to set a hot key to left or right modifiers. Just to double check that my issues didn't have anything to do with the modifiers, I programs a half dozen stream deck buttons to DCS keyboard binds that use single letters and numbers and no modifiers, but still I cant get any of them to work. 

Programming the stream Deck buttons with DCS exports scripts is very time confusing, so for things that are easily activated with keyboard binds, it was a lot faster and easier just to use hot keys in Stream Deck. Things like predefined views, show controls, predefined comms, active pause, screen shots, etc. 

I am terrible about remembering the hundreds of keyboard combinations in DCS and its much faster and easier for me to map commonly used keyboard binds to buttons on my Stream Deck which have art and text so there is never any doubt what I'm selecting when I press a Stream Deck button, whereas as when I try to remember a keyboard combination, I never know what I'll get. Half the time I end up doing something I didn't want to do and I cant figure out how to reverse it or get out of whatever view I went into. 

 

Anyway for the life of me, I can't figure out why none of the dozens of hot keys that I set up on my Stream Deck are working, yet all of the DCS export scripts are working perfectly. Does anyone have any ideas?

Link to comment
Share on other sites

  • 2 months later...

@CrashAlot (love the name)

I can't really think why the Hotkey doesn't work for you, almost certainly a problem with the Elgato Software.

First things I'd try, is the HotKey Switch to see if it's the same way, next is to use a keystroke recorder, either a program (for instance Thrustmaster has one with TARGET) or some websites can indicate which keyboard keys are getting pressed and test to see if when pressing the HotKey on the StreamDeck to see if the Keystroke Recoder recognizes it.

I'd also go into the Control Panel and Dvice manager to check the Keyboard software and look for problems or conflicts.

Is there anything special about the keyboard (fancy gaming type which might have its own software) you're using and are the correct keystrokes, showing in the HotKey command in the StreamDeck software?

Link to comment
Share on other sites

Just adding to what @Weegie said, try binding a single keystroke and pressing it while having notepad.exe open. Then press the same letter on your keyboard. The results will guide you to where the error may lie.

Link to comment
Share on other sites

  • 3 weeks later...
On 4/12/2021 at 2:56 PM, XecutriX said:

"

Streamdeck-vJoy
Map elgato stream deck buttons to vJoy buttons or axis.
I created this project to use my Stream Deck XL with Simracing games."

"

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

 

Dude this is awesome. It's a shame you didn't announce it (as far as I can see) because it's really hidden away in this thread. Just bound and tested a bunch of vjoy binds for one module and it works great.


Edited by emg
  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

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