Jump to content
The simFlight Network Forums

Recommended Posts

Posted (edited)

Hi,

I am on a Win 10 64bit install and I just bought FSUIPC. I could not get my controllers (x56) to show up in FSUIPC until I uninstalled the Saitek drivers. The Joystick was working fine before in P3D.

Now I cannot program the mode switch or the slider button on the throttle, as it is not available with the default driver. Does anyone have the Saitek Driver (not the programming software) working with FSUIPC? What could I be missing?

Edited by elmond
Posted
Just now, elmond said:

I am on a Win 10 64bit install and I just bought FSUIPC. I could not get my controllers (x56) to show up in FSUIPC until I uninstalled the Saitek drivers.

I suspect the X56 is just as problematic as the X55. Please see both the thread about this (clearly headlined with X55 mentioned), and the pinned thread at the top of the Forum. I have been actively pursuing this nasty problem now for nearly three weeks, but I am currently awaiting a donated X55 so I can work out what is going on at first hand.

Meanwhile please write to me at petedowson@btconnect.com so I can provide you with a special test version of FSUIPC, and instructions on obtaining log files and registry extracts which will help me delve further, and maybe even advise on a workaround.

5 minutes ago, elmond said:

Now I cannot program the mode switch or the slider button on the throttle.

I think Mode Switches can only be programmed in the special software provided for the device. Not sure what a "slider button" is. Do you mean an actual slider? 

For both these controls, can you tell me how they show in Windows Game Controllers (or the Win10 equivalent)?

Also, please could you run my "HidScanner" program and show me or send me the log file it produces. You'll find this program in the "Useful Additional Programs" thread of the Download Links subforum.

Thank you,

Pete

 

Posted

I received your email.  Thank you. Here's my reply.

Quote

The mode switch shows as permantly depressed buttons 34 35 36 there.

Right. That explains why FSUIPC doesn’t see it. It only handles 32 buttons per device (the original Windows limit), and always has done. It would be a very big conversion job to change this. Sorry.

Quote

By slider I meant a sliding switch, which also permanently depresses a button. In my case button 33. 

Ah, same problem then.

Does this device really have 32 other buttons?
 
Quote

On a side note, the installation of the drivers breaks the Windows calibration page, The calibration entry is greyed out.

Sounds like the same problem as with the X55, notified by Saitek on their support site.

Apart from those two buttons/switches, does everything else work in FSUIPC? If so you probably do not have the same problems as the X55 sufferers. I'd still be interested in whether the X56 does the same odd things in the Registry though, so, to that end, could you do the following please?
 
Export these relevant registry parts:
 
HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties
 
Do this by running RegEdit from the Windows start menu, going down the Explorer style layers to those and with that layer selected do File-Export give them each a name (it’ll save as a .reg file).Don't change the fileype at all, just leave it off.
 
Then rename them from .reg to .txt so the mail system or my anti-virus doesn’t reject them (.reg files, when run, change the registry), and send those to me.
 
Thanks,
Pete
 
Posted (edited)
11 minutes ago, Pete Dowson said:

 

Apart from those two buttons/switches, does everything else work in FSUIPC? If so you probably do not have the same problems as the X55 sufferers. I'd still be interested in whether the X56 does the same odd things in the Registry though, so, to that end, could you do the following please?
 
 

No it does not work at all, as long as I have the Saitek drivers installed. If I go to the device manager, uninstall the device including drivers and then replug/ reboot and use the generic driver it'll work, just without the 4 extra buttons. And these are gone then for other applications as well then of course. And yes, there are really 32 buttons on the device apart from the mode switch and the "slider" I mentioned. And I use them all because of a vr head set :)

I was expecting something like set.Buttons(get.maxNumberOfButtons) but if it is coded differently then that is just the way it is :P

I will mail the reg excerpt shortly.

Edited by elmond
Posted
18 minutes ago, elmond said:

No it does not work at all, as long as I have the Saitek drivers installed. If I go to the device manager

Oh, sorry. yes, that's expected really. It takes control and FSUIPC can't see it. You might just be able to fiddle it by changing the GUIDs used, but more later about that ...

18 minutes ago, elmond said:

If I go to the device manager, uninstall the device including drivers and then replug/ reboot and use the generic driver it'll work, just without the 4 extra buttons.

That's the normal way of using all Saitek devices successfully, actually. (Same applies to CH devices and their CH Manager).

18 minutes ago, elmond said:

And these are gone then for other applications as well then of course.

Really? No reason why that should be the case, unless their presence as buttons 32-35 is "fiddled" by the Saikek software, but there should be no reason why they should do that.

I'll just check the HidScanner log you sent ... was that with the Saitek stuff installed too?

For the X56 Stick is shows:

  Buttons range 1 -> 17 at indices 4 -> 20
  Value Y at index 0, range 0 -> 65535, using 16 bits
  Value X at index 1, range 0 -> 65535, using 16 bits
  Value R/RZ at index 2, range 0 -> 4095, using 12 bits
  Value POV at index 3, range 1 -> 8, using 4 bits
  Value V/RY at index 21, range 0 -> 255, using 8 bits
  Value U/RX at index 22, range 0 -> 255, using 8 bits

  
So only 17 buttons 1-17 on the stick. (FSUIPC would number those 0-16, as windows does itself, internally).

For the X56 Throttle it shows:

  Buttons range 1 -> 36 at indices 2 -> 37
  Value Y at index 0, range 0 -> 1023, using 10 bits
  Value X at index 1, range 0 -> 1023, using 10 bits
  Value Dial at index 38, range 0 -> 255, using 8 bits
  Value Sldr at index 39, range 0 -> 255, using 8 bits
  Value V/RY at index 40, range 0 -> 255, using 8 bits
  Value R/RZ at index 41, range 0 -> 255, using 8 bits
  Value U/RX at index 42, range 0 -> 255, using 8 bits
  Value Z at index 43, range 0 -> 255, using 8 bits

Now that's all read direct form the USB device itself, at the serial port level. So any program should be able to read the stuff (1-36 on the Throttle), with or without the Saitek drivers. FSUIPC is just limited to 32.

To see if FSUIPC can pick up the devices with the Saitek software running, could you just try changing the GUIDs listed in the [JoyNames] section of the INI file (save your current one first). Part of them at present will either be

Stick: 8002 or 8003
Throttle: 8001 or 8004

Just try with those changed to the alternative possibility please, and let me know.

Pete

 

 

Posted

Yeah this was with the software running. Windows will not pick up the switches when it is not installed. I swear it did before the creators update, but I might be mistaken. 

The calibration dialog of windows will only work with the saitek drivers not installed.

The GUID change was overwritten by FSUIPC every time I opened the dialogue. So I set the ini to write protected, changed the GUIDS and it was not picking up the axes either.

If it is standard procedure to remove the driver, then I'll just live with the 32 buttons :)

Posted

I am a noob :) I had uninstalled and reinstalled the driver.... This time more of the guid had changed and it was not just changing the numbers.

Changing it to the value in Calibration\1 did the trick.

My new entries were for the Throttle

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221]

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\Calibration]

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\Calibration\0]
"GUID"=hex:30,f1,7a,bf,7b,1c,e7,11,80,01,44,45,53,54,00,00
"Joystick Id"=hex:01,00,00,00

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\Calibration\0\Type]

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\Calibration\1]
"GUID"=hex:90,db,7b,bf,7b,1c,e7,11,80,04,44,45,53,54,00,00
"Joystick Id"=hex:02,00,00,00

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\Calibration\1\Type]

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_0738&PID_A221\DeviceInstances]
"7&607925A&0&0000"=hex:02
"7&121B43D7&0&0000"=hex:02

So I changed the 

1.GUID={BF7AF130-1C7B-11E7-8001-444553540000}

to

1.GUID={BF7BDB90-1C7B-11E7-8004-444553540000}

 

started up p3d and guess what, it works. Sans the extra buttons of course :P

 

Posted
34 minutes ago, elmond said:

started up p3d and guess what, it works.

So effectively it is EXACTLY the same problem I am trying too resolve with the X55. Currently what you did is the work-around, but I'm trying to find a way to do that automatically. I will persevere, but currently it's on hold whilst I await the arrival of a donated X55 ... trouble is, I'm on holiday for two weeks in 8 days time, so it may not be fixed properly till the end of the month or so.

Currently you have to see the registry to do the work around, and that's not on for the average user.

Pete

 

Posted

Probably not, maybe the Vendor ID can help you out? Nevertheless, I am happy for now. I was telling myself for so long how I did not need your product, boy was I wrong :) Have a nice vacation and feel free to contact me, if I can be of any help.

 

seb

Posted
36 minutes ago, elmond said:

maybe the Vendor ID can help you out?

No, the Vendor and Product ID are the same in both cases. The call into Windows to enumerate the devices gives only the first one in the Registry, so that's the one I use. Multiple identical devices have the same structure in the Registry, but they are separately enumerated. 

I can't tell the first one is no good. I tried actually seeing if it gives a valid response when asked for its joystick and button values, but it does, albeit null (default) values-- but then so does, say, a Bodnar board before it has any connections.

I'm still looking for a way. If i was to avoid using DirectInput, go direct to the USB port and read it directly instead, I could make it work but that's a lot of work, a lot of error-prone changes. I notice that P3D now has links into the Xinput API, the newer one MS added originally for Xbox-connected devices. Perhaps that's something I could use, but again, a biggish rewrite.

 

Thanks,

Pete

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.