captain_fsx Posted December 19, 2014 Report Posted December 19, 2014 (edited) Hi Pete, I have two controllers, the Saitek X-55 stick and throttle for which I want to assign controls using FSUIPC in FS2004. I'm using Windows 8.1 and have disabled joysticks within FS2004. For some reason, FSUIPC isn't able to detect any controller axis movements or button presses. The controllers are definitely in working order. I checked the FSUIPC.ini file. There are entries under the [JoyName] section for both controllers. But there are no device GUID entries. I tried the automatic letter assignment feature. No avail. But there is a catch. When only any one of these controllers is plugged in, FSUIPC can detect it and I can make assignments which work. If I make assignments for each controller in this manner and then try to fly with both of them plugged in, there is a constant haywire control output! In all this, there were no device GUID entries in the FSUIPC.ini file. What's wrong here? Am I missing something? Regards. Edited December 19, 2014 by captain_fsx
Pete Dowson Posted December 19, 2014 Report Posted December 19, 2014 The lack of GUID entries is worrying, but FSUIPC doesn't really care about them unless there are two devices with the same name. Then it needs the GUIDs to differentiate between them. As far as I knew, ALL properly registered devices have GUIDs, so I don't know what's going on in your system. The problem where with both connected neither are seen seems most likely to be a USB problem. Try different USB sockets, and not two of a pair (on the PC each pair of USB sockets has the same controller). It might just be power -- if you are using a USB Hub make sure it is powered, but in any case also try directly connecting to the PC, not via the hub. You didn't actually say whether FS can see the devices, or Windows for that matter? Pete
captain_fsx Posted December 21, 2014 Author Report Posted December 21, 2014 Pete, I tried everything you said. No avail. FS and Windows can see the devices. Is it possible to manually retrieve device GUIDs from my system? I searched the net which mostly suggests it may be somewhere in the registry but no result is clear enough. Any ideas?
Pete Dowson Posted December 21, 2014 Report Posted December 21, 2014 Pete, I tried everything you said. No avail. FS and Windows can see the devices. The behaviour you reported, i.e. "When only any one of these controllers is plugged in, FSUIPC can detect it and I can make assignments which work. If I make assignments for each controller in this manner and then try to fly with both of them plugged in, there is a constant haywire control output!" is unique. I've never heard of anything like that and have absolutely no idea how it could happen. It makes no sense. Could you describe "constant haywire control output!" more precisely, as I cannot actually envisage what you mean by that? Can you also try starting with default settings. i.e. before running FS, rename your FSUIPC4.INI file so that it make a new one. Maybe there's something tangled up there. FSUIPC detects and reads these things using the same interface as FS, so it's a real puzzle. You can make FSUIPC log more information about its detection system by adding these lines to the [General] section of the INI file before running FS: Debug=Please LogExtras=x200000 Is it possible to manually retrieve device GUIDs from my system? I searched the net which mostly suggests it may be somewhere in the registry but no result is clear enough. Any ideas? All this stuff is buried in the Registry. Here's an example from mine, relating to my test Saitek Throttle Quadrant. This extract is produced by the Regedit "Export" function: [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D] [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration] [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0] "GUID"=hex:c0,de,ab,b0,a5,6d,e0,11,80,01,44,45,53,54,00,00 "Joystick Id"=hex:00,00,00,00 [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0\Type] [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0\Type\Axes] [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0\Type\Axes\0] "Calibration"=hex:00,00,00,00,80,00,00,00,ff,00,00,00 [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0\Type\Axes\1] "Calibration"=hex:00,00,00,00,80,00,00,00,ff,00,00,00 [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0\Type\Axes\2] "Calibration"=hex:00,00,00,00,80,00,00,00,ff,00,00,00 [HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\DeviceInstances] "8&2D4EEC&0&0000"=hex:02 "9&11EBDAD6&0&0000"=hex:02 "7&3AFC8A82&0&0000"=hex:02 "7&25515117&0&0000"=hex:02 You'll see the GUID and ID in the third entry down, thus: "GUID"=hex:c0,de,ab,b0,a5,6d,e0,11,80,01,44,45,53,54,00,00 "Joystick Id"=hex:00,00,00,00 The GUID in "normal" form becomes {B0ABDEC0-6DA5-11E0-8001-444553540000}, because of the Lo-Hi reversal of byte orders in Intel format numerc representation. The ID used by FSUIPC in this case is 0, ie Joystick 0 in the assignments tab. Maybe your Registry is in a tangle? Might be worthtrying to uninstall the devices (in Windows Device Maager) and re-installing them. The debug logging for this, my only device connected on this test machine, shows simply this: 61043 #### Initialising Dlrectinput Axis Scanning ... 61043 Trying: "HKCU\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0C2D\Calibration\0" 61043 Found correct joystick Id 0 61043 ... and a "GUID" value 61043 ... okay, Acquired device! 61059 joyGetDevCaps for device 1 returned error 165 [000000A5] 61059 joyGetDevCaps for device 2 returned error 165 [000000A5] 61059 joyGetDevCaps for device 3 returned error 165 [000000A5] 61059 joyGetDevCaps for device 4 returned error 165 [000000A5] 61059 joyGetDevCaps for device 5 returned error 165 [000000A5] 61059 joyGetDevCaps for device 6 returned error 165 [000000A5] 61059 joyGetDevCaps for device 7 returned error 165 [000000A5] 61059 joyGetDevCaps for device 8 returned error 165 [000000A5] 61059 joyGetDevCaps for device 9 returned error 165 [000000A5] 61059 joyGetDevCaps for device 10 returned error 165 [000000A5] 61059 joyGetDevCaps for device 11 returned error 165 [000000A5] 61074 joyGetDevCaps for device 12 returned error 165 [000000A5] 61074 joyGetDevCaps for device 13 returned error 165 [000000A5] 61074 joyGetDevCaps for device 14 returned error 165 [000000A5] 61074 joyGetDevCaps for device 15 returned error 165 [000000A5] 61074 #### Completed Dlrectinput Axis Scanning The 15 errors are just for non-existent devices 1 to 15 (FSUIPC only supports 0-15 hardware joystick devices). Pete
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now