ERK wrote in Fri Apr 29, 2022 4:59 pm:After more searching I found where FGFS "hides" the Thrustmaster binding xml files. C:/Users/19erk/App Data/Roaming/flightgear.org/input/joysticks/TCA-Q-Eng-3&4.xml. Similarly for TCA-Q-Eng-1&2.xml.
these are the proper ones... FG copies them from FGData into this directory so any changes made to their button and axis assignments are saved here in appdata... once you have the xml files working as desired, you should submit them to FG for inclusion in FGData with the others... you don't have to if you don't want to but it would be nice...
ERK wrote in Fri Apr 29, 2022 4:59 pm:Using the latter as my guide, I tried to edit it to suit Throttles 3&4 and replace the original Eng 3&4 file.
ok... i'm guessing the "name" property is different between the two? this is the name that the device identifies itself with... for example the ThrustMaster T.16000M xml file contains this...
- Code: Select all
<PropertyList>
<name type="string">Thrustmaster T.16000M</name>
<name type="string">T.16000M</name>
those are two strings the joystick can be seen as when one looks at the devices connected to their system...
eg:
- Code: Select all
$ sudo lsusb -v | less
Bus 003 Device 005: ID 044f:b10a ThrustMaster, Inc. T.16000M Joystick
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x044f ThrustMaster, Inc.
idProduct 0xb10a T.16000M Joystick
bcdDevice 5.00
iManufacturer 1 Thrustmaster
iProduct 2 T.16000M
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0022
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 124
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
look to the "iProduct" line in the above? not the "idProduct"
if, for example, the period in "T.16000M" was missing in the device iProduct line, it would not match any of the name properties in the xml file... to fix this, we would add another name property without the period... like this...
- Code: Select all
<PropertyList>
<name type="string">Thrustmaster T.16000M</name>
<name type="string">T.16000M</name>
<name type="string">T16000M</name>
now the joystick would be recognized by the 3rd of the three names it may be known by instead of one of the two existing ones...
AFAIK, your two devices need different IDs so they can be identified separately... how are your devices being named/identified? you'll probably need to link an image of a cropped screenshot of your device manager window so we can see their info as your OS sees them...
ERK wrote in Fri Apr 29, 2022 4:59 pm:Unfortunately I must have missed something, but in any case, as soon as FGFS runs, it simply reloads the original bindings set in joystick configurations. I don't know how to "force" Thrustmaster to accept and retain my bindings, so I've run out of options. Anyone got any more ideas?
one thing to note is that if you manually edit your personal joystick xml files in appdata,
do not use the in-sim joystick configurator to change them... FG will happily eat your manual edits without notice... you can use it to see which file(s) are being loaded but don't change any of the options in the grid...
EDIT:
maybe it is idProduct? i'm not really sure but when i was working on setting up my xbox controller, i had to set the name property to what i see in the idProduct or a different controller/gamepad was used...
"You get more air close to the ground," said Angalo. "I read that in a book. You get lots of air low down, and not much when you go up."
"Why not?" said Gurder.
"Dunno. It's frightened of heights, I guess."