WhiteMagic / JoystickGremlin

A tool for configuring and managing joystick devices.
http://whitemagic.github.io/JoystickGremlin/
GNU General Public License v3.0
313 stars 46 forks source link

x52 pinkie switch & mode dial not responding. #355

Open Xietry opened 3 years ago

Xietry commented 3 years ago

I'm having an issue with the pinkie switch and 3 position mode dial on my x52 H.O.T.A.S. Joystick Gremlin correctly finds, and labels them in the program (Button 6 for pinkie, and buttons 24, 25, and 26 for rotary dial). However, when I press/toggle the switches it does not highlight them in the list and does not trigger a response to the buttons they're mapped to in vjoy. If I open the x52 properties in Windows 10 Game Controllers app, the buttons work as expected in Joystick Gremlin until I close the properties window.

I also noticed that when I install the vjoy software while my x52 in plugged in the install hangs. After a reboot vjoy is successfully installed. when the program is installed this way the Windows Game Controllers x52 properties no longer respond to the controller, and I can't adjust the LEDs, but Joystick Gremlin (and vjoy) responds to all the buttons.

VegaAntares commented 3 years ago

Just in case be sure: If the profile is activated while you are doing your change, the highlight of the button press does not work. And your setting won't be effective before you save your profile and reactivate it. Without knowning more about your issue: How you check if vjoy remap correctly the command, if it is general problem or just these buttons, if vjoy works as expected, it is difficult to help I guess.

WhiteMagic commented 3 years ago

I can't really help with those issues as I suspect they are specific to the X52. Over time that particular joystick has come up at times as having odd behaviours, especially with regards to the mode dial. It's a bit odd that Gremlin sees the mode dial but then doesn't receive any inputs from it and even more so that having another program open would change anything.

One thing you can try is to see what the example.exe test program from this library https://github.com/WhiteMagic/dill/releases/tag/v1.3 thinks it sees. This is the library Gremlin uses to handle inputs and if it doesn't see joystick inputs neither will Gremlin.

edwardwbarber commented 3 years ago

@Xietry I've been driving myself up the wall with similar issues on the x52 Pro. However, WhiteMagic is right that these are specific to the x52. For the former issue, seems like the mode switch is treated specially by the logitech driver and normally hidden from other programs (perhaps reasonably, they expect folks to program in Logitech's software...). Nice job finding the loophole with the game controller properties tab - having to keep that window open seems like a small prive to pay for the functionality in Gremlin.

But for what it's worth, I was able to get the mode switch to work without the properties window by replacing the x52 HID driver in Device Manager with a generic "HID-complicant game controller" driver (right click -> update driver -> "browse my computer for drivers" -> "let me pick from list of available drivers"). After a restart you'll find Gremlin can access all the x52 buttons, but you lose access to the device properties (and the LEDs/MFD) through the Windows Game Controller menu. Not surprisingly Logitech's ST software reports "Drivers not loaded" instead of "Driver version 8.0.121.0". For mine, this disabled the LEDs on the throttle, but not on the joystick itself. I personally prefer just to keep the game controller properties window open, but it is an option.

Seems vJoy is doing something similar with the HID driver when you create a new instance while the x52 is plugged in. There is a post about a similar issue on the vJoy forum: link although OP seems to have the issue on restart with the x52 plugged in. Easiest to keep the x52 unplugged when you restart or try to install a new vJoy instance.

Cheers

Killians06 commented 1 year ago

About the Dial issue, I found a solution to allow you to bind multiple actions on the same button and switch it with the dial roll button. You have to create 2 or 3 vJoy Devices. You have to put 2 or 3 Chain Remap inside the button configuration, and on each chain, set one vJoy Devices and add condition with the Dial Position.

Check those screenshots:

https://imgur.com/5LTgfOP

https://imgur.com/Oiedat3

It's work pretty well !

I hope i help you ;)

Oidimnus commented 3 months ago

Hello, I have the same problem as you, but despite your help I can not solve the problem.

I have an x52, and I want to use Gremlin, vjoyce and hidhide to play DCS with the f18.

vjoyce and hidhide are configured correctly (I've created 3 joyce profiles) but I can't set the modes with the dial as you show in your photos. Gremlin does not recognise the buttons associated with changing the X52 mode (if there are any).

Can you give more details on the configuration of your joystick and associated modes? Thanks in advance

edwardwbarber commented 3 months ago

@Oidimnus can you view the mode dial setting within Windows Game Controllers? If you keep that program open while gremlin is running, you should be able to use the mode dial in gremlin. The mode dial is not visible to gremlin otherwise.

Oidimnus commented 3 months ago

@HaddocktheHorrible Thanks a lot! Gremlin recognises the dial using the windos game controller. However, as I'm using hidhide, windows couldn't see my joystick and I had to disable it. Do you know how to put the windows game controller in the hidhide whitlist?

Oidimnus commented 3 months ago

@HaddocktheHorrible Unless you have a better solution, I think I've found a bug that works:

-launch hidhide, go to device and uncheck ‘enable device hiding’.

-Launch the windows game controller (I use cmd and write joy.cpl)

-Go to your joystick (mine is the x52) and click on property

-Go back to hidhide, go to device and tick ‘enable device hiding’.

-go to gremlin and use the dial, normally keys 24 25 26 work!

-Never close the windows game controller, otherwise you have to start all over again. (don't turn the dial too fast otherwise gremlin gets lost)

Hopefully this will help some people!

edwardwbarber commented 3 months ago

@Oidimnus I don't use hidhide, so I can't help you there. You could try replacing the Logitech x52 driver with a generic one, as I mentioned previously:

I was able to get the mode switch to work without the properties window by replacing the x52 HID driver in Device Manager with a generic "HID-complicant game controller" driver (right click -> update driver -> "browse my computer for drivers" -> "let me pick from list of available drivers"). After a restart you'll find Gremlin can access all the x52 buttons, but you lose access to the device properties (and the LEDs/MFD) through the Windows Game Controller menu.

This allowed me to use the mode dial without having Windows Game Controller open. I am not sure how it might work with hidhide, but it's worth a try.