djlastnight / KeyboardSplitterXbox

Creates up to 4 virtual xbox 360 controllers and feeds them via one or more keyboards.
492 stars 45 forks source link

Settings not saved #16

Closed Rex000 closed 5 years ago

Rex000 commented 5 years ago

When I set different parameters on KS such as slot count, block keyboard/mouse, preset, etc., I prefer those settings to stay that way so I don't have to set them up all over again when I start KS the next time. But KS doesn't seem to be able to save the settings. On the next start, everything comes back to default settings. I couldn't find any option for saving the settings in the top menu bar either. I don't know if this is intentional or not but it would be really convenient for everyone if KS could save all the parameter settings upon exiting.

I'd really appreciate your help. Thanks.

djlastnight commented 5 years ago

You could use the game manager for this. Go to 'Games' file menu and choose 'Edit'. Then add a game and close the editor. When you open the 'Games' again you can highlight 'Play' and choose which game to play. KS will start it with your preffered settings. Hope this helps ;)

By default the keyboard blocker is turned on and the mouse blocker is turned off. You can't override this behavior.

The global settings consists of mouse move dead zone, display emulation information, suggest input devices for new slots starting virtual controller user index

Rex000 commented 5 years ago

I tried doing that but it gave me this error:

"Can not create the game, because of the following error: Missing preset detected."

djlastnight commented 5 years ago

Can you record a short video

Rex000 commented 5 years ago

I never did that before so I'm not sure. I can post screenshots if that's okay.

djlastnight commented 5 years ago

okay, the goal is to understand what's wrong.

Rex000 commented 5 years ago

https://imgur.com/a/v9Nt0SI

Also, there is no option there to check/uncheck 'block keyboard/mouse" setting. It's necessary during gameplay because many a times I need to quickly switch to desktop and be able to type something.

djlastnight commented 5 years ago

Did you try to restart the app. MAYBE you just created the preset, but MAYBE the game editor tries to get it from the xml file. I am not sure.

You can use the emergency keys to enable/disable the input devices: for keyboards: hit 5 times in a row LeftCtrl for mice: hit 5 times in a row RightCtrl to stop emulation: press Ctrl+Alt+Delete

Emergency keys works even in fullscreen mode. You should hear a sounds when using them.

Rex000 commented 5 years ago

Yes, I've been trying for hours now. Not working. Created the preset in the morning then turned the PC off. I'm using Left and Right Ctrl in-game too so that perhaps won't be a good idea.

So I guess it won't be possible to save settings in KS?

djlastnight commented 5 years ago

Everything is possible, but it won't be a trivial task, because implementing such a feature will break some of the current features. Let me try the game manager.

djlastnight commented 5 years ago

I confirm the issue. Let me check what is going on..

djlastnight commented 5 years ago

Ok, resolved it. You can download 2.0.0.5 after 1-2 minutes.

Rex000 commented 5 years ago

Thank, I tried it but got this error right at the start: https://imgur.com/qM4xW2W

Restarted my PC as well as ran KS as administrator, but same thing.

djlastnight commented 5 years ago

Ah. Paste the log here please.

Rex000 commented 5 years ago

[Sun] 16 Jun, 2019 [05:31:11] [Mem: 16 MB] - Application started from J:\Keyboard.Splitter.2.0.0.5\KeyboardSplitter.exe [Sun] 16 Jun, 2019 [05:31:11] [Mem: 17 MB] - User has write permissions: True [Sun] 16 Jun, 2019 [05:31:11] [Mem: 18 MB] - Application version: djlastnight's Gaming Keyboard Splitter v2.0.0.5 [Sun] 16 Jun, 2019 [05:31:11] [Mem: 18 MB] - OS version: Windows 7 x64 build 7601 Service Pack 1 [Sun] 16 Jun, 2019 [05:31:11] [Mem: 18 MB] - Setting environment [Sun] 16 Jun, 2019 [05:31:11] [Mem: 19 MB] - Extracting native resources [Sun] 16 Jun, 2019 [05:31:11] [Mem: 25 MB] - Loading SplitterCore 2.0.0.3 [Sun] 16 Jun, 2019 [05:31:11] [Mem: 25 MB] - Loading Interceptor 2.0.0.3 [Sun] 16 Jun, 2019 [05:31:11] [Mem: 25 MB] - Loading VirtualXbox 2.0.0.3 [Sun] 16 Jun, 2019 [05:31:11] [Mem: 26 MB] - Interception driver state: installed [Sun] 16 Jun, 2019 [05:31:11] [Mem: 26 MB] - ::: UNHANDLED EXCEPTION DETAILS ::: [Sun] 16 Jun, 2019 [05:31:11] [Mem: 26 MB] - System.DllNotFoundException: Unable to load DLL 'VirtualXboxNative.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at VirtualXbox.NativeMethods.VBusExists() at KeyboardSplitter.App.ReportDriversState() at KeyboardSplitter.App.Application_Startup(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

djlastnight commented 5 years ago

Try this one KeyboardSplitter.zip

Rex000 commented 5 years ago

Same error again. Here's the log:

[Sun] 16 Jun, 2019 [05:47:15] [Mem: 17 MB] - Application started from J:\KeyboardSplitter\KeyboardSplitter.exe [Sun] 16 Jun, 2019 [05:47:15] [Mem: 17 MB] - User has write permissions: True [Sun] 16 Jun, 2019 [05:47:15] [Mem: 18 MB] - Application version: djlastnight's Gaming Keyboard Splitter v2.0.0.5 [Sun] 16 Jun, 2019 [05:47:15] [Mem: 19 MB] - OS version: Windows 7 x64 build 7601 Service Pack 1 [Sun] 16 Jun, 2019 [05:47:15] [Mem: 19 MB] - Setting environment [Sun] 16 Jun, 2019 [05:47:15] [Mem: 20 MB] - Extracting native resources [Sun] 16 Jun, 2019 [05:47:15] [Mem: 26 MB] - Loading SplitterCore 2.0.0.5 [Sun] 16 Jun, 2019 [05:47:15] [Mem: 26 MB] - Loading Interceptor 2.0.0.5 [Sun] 16 Jun, 2019 [05:47:15] [Mem: 26 MB] - Loading VirtualXbox 2.0.0.5 [Sun] 16 Jun, 2019 [05:47:15] [Mem: 27 MB] - Interception driver state: installed [Sun] 16 Jun, 2019 [05:47:15] [Mem: 27 MB] - ::: UNHANDLED EXCEPTION DETAILS ::: [Sun] 16 Jun, 2019 [05:47:15] [Mem: 27 MB] - System.DllNotFoundException: Unable to load DLL 'VirtualXboxNative.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at VirtualXbox.NativeMethods.VBusExists() at KeyboardSplitter.App.ReportDriversState() at KeyboardSplitter.App.Application_Startup(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

djlastnight commented 5 years ago

hm, does the 2.0.0.3 or 4 works?

Rex000 commented 5 years ago

Yes, they're working.

djlastnight commented 5 years ago

Strange. can you hit win+r and paste this %temp%\djlastnight's Gaming Keyboard Splitter v2.0.0.5 delete all the files there and run the app

Rex000 commented 5 years ago

Done. Same error:

[Sun] 16 Jun, 2019 [06:02:22] [Mem: 17 MB] - Application started from J:\KeyboardSplitter\KeyboardSplitter.exe [Sun] 16 Jun, 2019 [06:02:22] [Mem: 17 MB] - User has write permissions: True [Sun] 16 Jun, 2019 [06:02:22] [Mem: 18 MB] - Application version: djlastnight's Gaming Keyboard Splitter v2.0.0.5 [Sun] 16 Jun, 2019 [06:02:22] [Mem: 19 MB] - OS version: Windows 7 x64 build 7601 Service Pack 1 [Sun] 16 Jun, 2019 [06:02:22] [Mem: 19 MB] - Setting environment [Sun] 16 Jun, 2019 [06:02:22] [Mem: 20 MB] - Extracting native resources [Sun] 16 Jun, 2019 [06:02:22] [Mem: 26 MB] - Loading SplitterCore 2.0.0.5 [Sun] 16 Jun, 2019 [06:02:22] [Mem: 26 MB] - Loading Interceptor 2.0.0.5 [Sun] 16 Jun, 2019 [06:02:22] [Mem: 26 MB] - Loading VirtualXbox 2.0.0.5 [Sun] 16 Jun, 2019 [06:02:22] [Mem: 27 MB] - Interception driver state: installed [Sun] 16 Jun, 2019 [06:02:22] [Mem: 27 MB] - ::: UNHANDLED EXCEPTION DETAILS ::: [Sun] 16 Jun, 2019 [06:02:22] [Mem: 27 MB] - System.DllNotFoundException: Unable to load DLL 'VirtualXboxNative.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at VirtualXbox.NativeMethods.VBusExists() at KeyboardSplitter.App.ReportDriversState() at KeyboardSplitter.App.Application_Startup(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

djlastnight commented 5 years ago

ok, how many files you have in %temp%\djlastnight's Gaming Keyboard Splitter v2.0.0.5 now?

Rex000 commented 5 years ago

Two files: interception.dll VirtualXboxNative.dll

djlastnight commented 5 years ago

Try this one KeyboardSplitter_2.0.0.5b.zip

Rex000 commented 5 years ago

Ok, so I did some trials and seems like it's working for some games, while others(including the one I want to play atm) just crash at start. Maybe it's because some game exe's are made to not be opened from another application? Not sure.

djlastnight commented 5 years ago

Probably. I have to make this optional. So 2.0.0.5b starts?

Rex000 commented 5 years ago

Yeah, the program seems to be working fine with games but the Game Editor has this issue that I mentioned above. Some games launch, others don't. Looks like I'll have to stick with the regular way.

djlastnight commented 5 years ago

Tomorrow I will make it optional, do not worry.

Rex000 commented 5 years ago

I don't understand what you mean by optional.

djlastnight commented 5 years ago

I will place a checkbox, which determines whether to start the game exe automatically or not.

Rex000 commented 5 years ago

But wouldn't it be the same as not adding the game in the Game Editor altogether, and just running it externally? However, if "block keyboard/mouse" options could also be added to the Game Editor, then it would be somewhat useful for adding games that are currently crashing.

djlastnight commented 5 years ago

Ok, I will try, but I do not promise anything ;)

djlastnight commented 5 years ago

Please try the new release. https://github.com/djlastnight/KeyboardSplitterXbox/releases/tag/2.1.0.0

Atif-git commented 3 years ago

[Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - Application started from D:\KeyboardSplitter.exe [Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - User has write permissions: True [Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - Application version: djlastnight's Gaming Keyboard Splitter v2.0.0.3 [Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - OS version: Windows 10 x64 build 19042 [Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - Setting environment [Tue] 17 Nov, 2020 [18:01:32] [Mem: 17 MB] - Extracting native resources [Tue] 17 Nov, 2020 [18:01:33] [Mem: 23 MB] - Loading SplitterCore 2.0.0.3 [Tue] 17 Nov, 2020 [18:01:33] [Mem: 23 MB] - Loading Interceptor 2.0.0.3 [Tue] 17 Nov, 2020 [18:01:33] [Mem: 23 MB] - Loading VirtualXbox 2.0.0.3 [Tue] 17 Nov, 2020 [18:01:33] [Mem: 24 MB] - Interception driver state: not installed [Tue] 17 Nov, 2020 [18:01:33] [Mem: 24 MB] - ::: UNHANDLED EXCEPTION DETAILS ::: [Tue] 17 Nov, 2020 [18:01:33] [Mem: 24 MB] - System.DllNotFoundException: Unable to load DLL 'VirtualXboxNative.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at VirtualXbox.NativeMethods.VBusExists() at KeyboardSplitter.App.ReportDriversState() at KeyboardSplitter.App.Application_Startup(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1_0(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

getting the above error, need help please.