Decided to replace the old Logitech Force 3D Pro because one of the buttons stopped working, and the FFB was randomly shaking more and more. Discovered that the Joystick market has been essentially out of stock since the release of FS2020 back in August. The few that were out there on the dark market were being marked up significantly (up to 2x list), and the normal distributors were all back-ordered out several months. After weeks of waiting and watching I caught a Logitech X52 Pro from Amazon last Sunday afternoon. I saw they had 7 in stock at the list price, and during the course of the <5 minutes of trying to place my order I watched it go down 6, 5, 4, 3, 2...
It's a relatively big HOTAS compared to what it replaced, so I had to rearrange my desk layout quite a bit, leaving the mouse sitting way out to the side.
The X52 Pro has a lot more controls so I did the set-up in two stages. To get started, I left it unprogrammed, and mapped the buttons that I could directly in the xca. (The Pinky switch, and Mode selector are ignored by the CFS3 controls editor)
</Device>
<Device Type="X52 Professional H.O.T.A.S.">
<GameMode Name="Player">
<Axis ID="X" Action="AXIS_AILERONS_SET" Scale="64" Nullzone="36"/>
<Axis ID="Y" Action="AXIS_ELEVATOR_SET" Scale="64" Nullzone="36"/>
<Axis ID="Throttle" Action="AXIS_THROTTLE_SET" Scale="127" Nullzone="1"/>
<Axis ID="Rudder" Action="AXIS_RUDDER_SET" Scale="64" Nullzone="36"/>
<Button ID="1" Action="FireGunsOnly"/>
<Button ID="2" Action="FireCannonsOnly"/>
<Button ID="3" Action="ReleaseFireWeapon"/>
<Button ID="4" Action="SelectNextWeapon"/>
<Button ID="5" Action="Toggle_BombBay"/>
<Pov ID="1" Action="HeadPov"/>
<Button ID="7" Action="NextTarget"/>
<Button ID="8" Action="GEAR_TOGGLE"/>
<Button ID="9" Action="FLAPS_DECR"/>
<Button ID="10" Action="FLAPS_INCR"/>
<Button ID="11" Action="ELEV_TRIM_UP"/>
<Button ID="12" Action="ELEV_TRIM_DN"/>
<Button ID="13" Action="BRAKES"/>
<Button ID="14" Action="SPOILERS_TOGGLE"/>
<Button ID="15" Action="Fire_Guns"/>
</GameMode>
<GameMode Name="M3DViewer">
<Pov ID="1" Action="HeadPov"/>
<Button ID="3" Action="ZoomIn" RepCnt="1"/>
<Button ID="4" Action="ZoomOut" RepCnt="1"/>
</GameMode>
<GameMode Name="Gunner">
<Axis ID="X" Action="TraverseGun" Scale="64" Nullzone="36"/>
<Axis ID="Y" Action="ElevateGun" Scale="64" Nullzone="36"/>
</GameMode>
</Device>
(You can't actually assign the Second Trigger in game, but you can hand edit it as Button 15 in the xca)
I'm currently in the process of using the Logitech programming software to map the keyboard commands to as many buttons, knobs, and switches as possible. In that case the listing in the xca is much more abbreviated to prevent any double mapping from causing conflicts when I use the Pinky and Mode switch options.
</Device>
<Device Type="X52 Professional H.O.T.A.S.">
<GameMode Name="Player">
<Axis ID="X" Action="AXIS_AILERONS_SET" Scale="64" Nullzone="36"/>
<Axis ID="Y" Action="AXIS_ELEVATOR_SET" Scale="64" Nullzone="36"/>
<Axis ID="Throttle" Action="AXIS_THROTTLE_SET" Scale="127" Nullzone="1"/>
<Axis ID="Rudder" Action="AXIS_RUDDER_SET" Scale="64" Nullzone="36"/>
<Pov ID="1" Action="HeadPov"/>
<Button ID="15" Action="Fire_Guns"/>
</GameMode>
<GameMode Name="M3DViewer">
<Pov ID="1" Action="HeadPov"/>
<Button ID="3" Action="ZoomIn" RepCnt="1"/>
<Button ID="4" Action="ZoomOut" RepCnt="1"/>
</GameMode>
<GameMode Name="Gunner">
<Axis ID="X" Action="TraverseGun" Scale="64" Nullzone="36"/>
<Axis ID="Y" Action="ElevateGun" Scale="64" Nullzone="36"/>
</GameMode>
</Device>
One cool thing I was able to program it to do this morning was to simulate a Gun Camera by calling up the GameBar video recording shortcut (Win+Alt+R) in combination with F6 (pilot view) and F3 (cockpit toggle to the crosshair). I have this attached to the Launch button under the Safe cover in Mode 3 with the Pinky switch activated. After you finish a firing engagement to can stop the camera and return to the normal cockpit by the same button press. Normally you can't use either the Win or Alt keys in CFS3, but programming it through the Logitech software get's around that.