How to trigger commands with your Joystick using OSC

Some users want their games to be interactive. So i.e. if you shoot, your lights should flash red.
As long as a game doesn’t offer an API from which we could get the data of this action you need to workaround with hotkeys. But as we all know there is not much space anymore for hotkeys as every app and Windows itself uses all thinkable combinations.

So why not bind your Joystick triggers to fire off your commands :slight_smile: The downside of this is that Joysticks are most likely not supported by Lumia Stream yet as they as well don’t provide an API to read them out.
But what if we would have a Joystick sending OSC signals and Lumia Stream listens to them? :smiley:

I found a little tool called OSCJoy. It’s an old tool made for Windows XP but it does the trick. You can download it here: https://public.msli.com/lcs/oscjoy/index.html

But before we use this tool we need to prepare Lumia Stream to receive OSC signals.

For this we head to Connections → Add New Connection and type OSC in the search prompt.

Tick the checkbox and press connect.
In the next window, we only have to name our connection and leave the rest as it is. Then press Add

Press Next and then Refresh Lumia Stream.

Now Lumia Stream listens to OSC signals.

Now we want to use the OSCJoy tool we downloaded earlier.
Place the oscjoy.exe that can be found in the folder win32_bin anywhere on your computer (best a place you can easily find it). I just put it in C:\ for easy access.

Now open the command prompt of Windows (Not the power shell)

Most likely you will start in your user’s folder. So we need to use old DOS methods to get back to C:(interesting for the younger users out there :smiley: )
You can either type cd.. to move back one folder after another until you are in C:\ or you type cd C:\
If you forgot the name of the file you are looking for you can type dir to show the content of your folder.

Now type oscjoy 127.0.0.1:7984 debug
This means you will start the app OSCJoy and you target the IP 127.0.0.1 and the port (which is Lumia listening to) 7984. Debug at the end lets the tool run a debug mode to see what the inputs of your Joystick are named.

Your Firewall will ask to allow a connection and you should allow this.

If you move your Joystick around or you press a button it will show you now what it sends.

These are important information because we will need them to set up our Input Control in Lumia Stream.

So, as we see now our Joystick working and sending we head back to Lumia Stream and we go to Input Control on the left sidebar. There we select OSC and click Add Bind.

Here we see Lumia Stream starts immediately recording and is waiting for input. If you press a button on your Joystick it should automatically recognize it and fill the address field.

As you see in the second picture I pressed Button 2 on the Joystick and Lumia recorded it. So I can stop recording to not accidentally press something else because it would change with every action.
If you don’t want Lumia to do something when you release the button leave the little switch as it is.

In our command prompt, we can compare and see that it set the right button.

If Lumia Stream is not automatically recognizing your Button you can use the address that is shown in your command prompt and put it in manually.

Now we simply select on the right side what we want Lumia Stream to do when Button 2 is pressed.

Then we press Done and of course, as always, Refresh

Now we set Button 2 of our Joystick to trigger my Blitz (Flash) command.

Remember you have always to run the command prompt and start OSCJoy for this. Advanced users can most likely even create a batch file to run it automatically.

For later use, you don’t need the debug mode of OSCJoy. You just enter the same oscjoy 127.0.0.1:7984 command but you don’t put debug. The only difference is now that it doesn’t show your keypress.