#Space Engineers

1 messages · Page 1 of 1 (latest)

sullen nymph
#

There is a plugin for Space Engineers that enables native analog support for the Wooting. That means no tinkering with Xinput or anything like that. Bindings will just work and can be configured through the regular game settings menu. The plugin runs on the client, which means that it can be used both in singleplayer and multiplayer.

To install it, just head over to the Space Engineers Launcher repo (https://github.com/sepluginloader/SpaceEngineersLauncher/releases) and grab the latest version. Put it in the steamapps/common/SpaceEngineers/Bin64 folder and run it. It will automatically download the plugin loader. There will be a new button in the Space Engineers main menu called "Plugins". It allows you to add and remove plugins from a curated list. Find the Wooting Plugin and enable it. After that it will (probably) just work.

More info and the official Plugin Loader install guide can be found at https://github.com/sepluginloader/SpaceEngineersLauncher

There are also video tutorials available on YouTube.

AliceDoesThings
https://m.youtube.com/watch?v=76pIEdxnfDg

Vortex Mods
https://m.youtube.com/watch?v=ywBYoDZHG-4

There is an issue with wheels and analog controls. The brakes and throttle are treated as digital (on/off), affecting the Wooting and other controllers alike. I have made another plugin, Analog Wheel Control, that addresses this issue until Keen fixes it. You can get it from the plugin list.

sullen nymph
versed shard
sullen nymph
#

This has been around since 2019 but it has kinda disappeared in the noise here on Discord.

surreal stirrup
#

@sullen nymph Thanks for making this! Sadly it does not work for me for some reason. Looking at the log files it seems like it does not find my keyboard for some reason. I tried compiling my own version of the plugin and i have concluded that var (numDev, result) = WootingAnalogSDK.Initialise(); always seems to return numDev to 0 however when i try making a standalone application that works in the same way it returns 1. It seems like it for some reason does not find my keyboard when it is loaded from space engineers. Im starting to think that there coud be something wrong with the wooting sdk at this point. Any ideas?

sullen nymph
#

@surreal stirrup That is odd.. I haven't played in a while but I tested it just now and it works on my machine™. To make sure we're on a similar baseline: I'm running a Wooting Two HE ARM on firmware version v2.7.2 and SDK version v0.7.5. I tested it on a Flaretech Wooting Two not too long ago. Is your working standalone application using WootingAnalogSDK.NET 0.5.0 from NuGet?

surreal stirrup
# sullen nymph <@183322331672739840> That is odd.. I haven't played in a while but I tested it ...

Thanks for responding! It seems like we both have the same setup. I am on analog sdk version v0.7.5 and i am using a Wooting Two HE ARM with firmware v2.7.2. Comparing the sha256 hashes of the dll both WootingAnalogSDK.NET.dll and wooting_analog_wrapper.dll in Bin64\Plugins\GitHub\Garbius\WootingPlugin\Bin and the files in the output directory in my test application and they seem to be the same files. The only thing i am a bit unsure about is the System.ValueTuple.dll since it never seems to be used and i do not have it in my applicaiton. Now i have tried making a test application in both .NET 6.0 and in .NET Framework 4.6.1. Test output:

[2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] No plugins found in "C:\\Program Files\\WootingAnalogPlugins"      [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Loading plugin: "C:\Program Files\WootingAnalogPlugins\wooting-analog-plugin\wooting_analog_plugin.dll"                                                                                    [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Plugin and SDK are compatible!                                     [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Loaded plugin: "Wooting Official Plugin"                           [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Loading plugin: "C:\Program Files\WootingAnalogPlugins\wooting-test-plugin\wooting_analog_test_plugin.dll"                                                                                 [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Plugin and SDK are compatible!                                     [2024-03-24T11:59:42Z INFO  wooting_analog_sdk::sdk] Loaded plugin: "Wooting Analog Test Plugin"                        [2024-03-24T11:59:43Z INFO  wooting_analog_sdk::sdk] 2 plugins successfully initialised                                 numDev: 1                                                                                                               result: Ok
#

Test application:

using System;
using System.Runtime.InteropServices;
using WootingAnalogSDKNET;

namespace TestingWooting
{
    internal class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var (numDev, result) = WootingAnalogSDK.Initialise();
                Console.WriteLine("numDev: " + numDev);
                Console.WriteLine("result: " + result);
                Console.ReadLine();
            }
            catch (SEHException)
            {
                Console.WriteLine("Failed");
                Console.ReadLine();
                return;
            }
        }
    }
}
sullen nymph
#

@surreal stirrup SE uses .NET Standard 2.0 so if you want to get your application as close as possible, that's what you'll want to target, not that I can see any reason why that should matter. ValueTuple seems to be used by WootingAnalogSDK.NET when targeting .NET Framework 4.6.1. (https://github.com/WootingKb/wooting-analog-wrappers/blob/ee832e0e369f0fd3bf5ab091aa5e2d36772e402d/WootingAnalogSDK.NET/WootingAnalogSDK.NET.csproj line 49).

GitHub

Contribute to WootingKb/wooting-analog-wrappers development by creating an account on GitHub.

#

Ever since the new plugin system was introduced, I have very little control of what goes on beyond what's in my source files. It handles all the dependencies and compilation.

#

As I'm sure you've seen, the plugin is very simple and is little more than glue between the Wooting SDK and the game's input system so there really aren't that many places things can go wrong within its bounds. One thing you could try is to start the game and then unplug and reinsert the USB cable to see what happens. The plugin should be able to handle it and that code path could produce interesting results. Another potential test would be to start the game with the keyboard unplugged and then plug it in while the game is running. We'll likely get the same results from both tests but we could try both just in case.

surreal stirrup
# sullen nymph As I'm sure you've seen, the plugin is very simple and is little more than glue ...

Hmm i tired both your suggestions and it seems like nothing happens when connecting and disconnected. I also tried uninstalling and installing the SDK again. There is definetly something wierd going on here with the sdk. I might try to build my own version of the sdk. I am very curious to see why it would behave like this. Do you know if there is any way to acccess the logging from when the sdk is initialized in the space engineers plugin? Also i am very greatful for your help. Please don't spend time helping me if you don't want to.

sullen nymph
#

I assume you checked the logs when performing the tests. There should be a "Keyboard detected" message logged there when the SDK sends a DeviceEvent.

It does look a lot like there is something going on with the SDK. Strangest thing to me is that it works in other applications. I don't think we can get any more logging from the initialization. At least nothing that I can think of right now.

I don't mind helping at all so don't worry about that. I am running low on ideas though so if you've got anything, that'd be great.

surreal stirrup
sullen nymph
#

@surreal stirrup I guess we're way past "tomorrow", but I'm still interested to know what was wrong and how you fixed it.

surreal stirrup
# sullen nymph <@183322331672739840> I guess we're way past "tomorrow", but I'm still interest...

@sullen nymph Ah yes i forgot. After modifying the sdk i eventually figured out that it was not finding my keyboard when it was looking for the hid device. In the "init_worker" function in "wooting-analog-plugin\src\lib.rs" it finds all the hid devices and for some reason it does not find my the keyboard when it is ran for space enginees. But after switching to "No Gamepad" it fixes it. Could you try enabling "Xbox Controller" and seeing if it does not work for you as well?

sullen nymph
#

Xbox controller mode works fine for me. It has been a bit finicky in other ways in the past so who knows what's really going on under the hood there. 🤷‍♂️

surreal stirrup
#

Yes but does it work with space engineers? @sullen nymph

sullen nymph
#

Yes. My keyboard is usually in Xinput mode but it does not seem to interfere with SE.

surreal stirrup
#

Huh

sullen nymph
#

"huh" indeed. Reinstalling the Xinput driver has solved some issues for me in the past.

tulip blaze
#

Hey there @sullen nymph I really love your Plugins for SE. It allowed me to make smooth camera movements for my music videos like "Inventory Full": https://youtu.be/5C7E1em6FV0

Unfortunately it doesn't work anymore since Keen changed something in the key mapping in SE 1.206 (Fieldwork DLC).

Any chance you can have a look at it? Many Thanks in advance!

Don't you miss her voice sometimes? That suit lady telling you the only thing you need to know?

If you like these kind of shenanigans, consider supporting me here:
https://buymeacoffee.com/black5heep

Inventory Full

On this earthlike planet, where the air is clean,
Where the sky is blue and the grass is green
With a fresh respawn and a bange...

▶ Play video
tight thunder
tulip blaze
tight thunder
#

ahh, thats too bad.