Scribbles to run a X52Pro as two virtual gamepads via moltengamepad
Put this in ~/.config/moltengamepad/gendevices/x52-pro.cfg
[events="superset" vendor="06a3" product="0762" driver="hid-generic"]# 06a3:0762# Options file is license as WTFPL http://www.wtfpl.net/ name = "x52_pro_controller"devname = "x52_"exclusive = "false"change_permissions = "false"flatten = "false"rumble = "false"split=21.device_type = "gamepad"2.device_type = "gamepad" # btn_east = "cross", "The cross (X) button" # Event mappings # 1.key(288) = "cross", "Primary fire button"1.btn_trigger = "left_trigger", "Gun Button Step 1"# 1.key(302) = "right_trigger", "Gun Button Step 2"1.btn_trigger_happy15 = "bbb", "Gun Button Step 2" 1.btn_thumb2 = "a", "A button"1.btn_top = "b", "B button"1.btn_top2 = "x", "C button"1.btn_thumb = "y", "Safety fire button (Fire 2)"1.btn_pinkie = "guide"1.btn_base2 = "button_16" 1.abs_x = "left_x", "Left stick X axis"1.abs_y = "left_y", "Left stick Y axis"1.abs_rz = "right_x", "Right stick X axis (Z axis)"1.abs_z = "right_y", "Right stick Y axis (Throttle axis)"1.abs_hat0x = "leftright", "HAT POV up"1.abs_hat0y = "updown", "HAT POV right"1.btn_trigger_happy4 = "right_thumb", "POV2 up"1.btn_trigger_happy5 = "right_shoulder", "POV2 right"1.btn_trigger_happy6 = "left_thumb", "POV2 down"1.btn_trigger_happy7 = "left_shoulder", "POV2 left" 2.btn_trigger_happy3 = "left_trigger", "Scrollwheel click"2.btn_dead = "right_trigger", "Mouse button (click)"# 2.btn_trigger_happy15 = "x", "I button" 2.btn_base = "a", "D button"# 2.btn_base2 = "b", "E button" 2.key(719) = "left_shoulder", "Function button"2.key(722) = "left_thumb", "Function page up"2.key(723) = "left_thumb", "Function page down"2.key(726) = "right_shoulder", "MFD select button"2.key(724) = "right_thumb", "MFD select button up"2.key(725) = "right_thumb", "MFD select button down" 2.abs(004) = "left_x", "Left stick X axis"2.abs(003) = "left_y", "Left stick Y axis"2.abs(040) = "right_x", "Mouse X"2.abs(041) = "right_y", "Mouse Y"2.btn_trigger_happy8 = "up", "Throttle POV up"2.btn_trigger_happy9 = "right", "Throttle POV right"2.btn_trigger_happy10 = "down", "Throttle POV down"2.btn_trigger_happy11 = "left", "Throttle POV left"2.btn_trigger_happy17 = "start_stop", "Start/Stop"2.btn_trigger_happy18 = "back", "Reset" # Aliases # 1.btn_trigger = "primary"alias primary aalias secondary balias third xalias fourth y alias start start_stopalias select backalias mode guide alias thumbl left_thumbalias thumbr right_thumb # right shoulderalias tr right_shoulder# right triggeralias tr2 right_trigger# left shoulderalias tl left_shoulder# left triggeralias tl2 left_trigger
Run this with moltengamepad --num-gamepads 2 --mimic-xpad and press button on the joystick _first_ and on the throttle _second_ so they get assigned in the correct order.
This should result in two gamepads _and_ the X52Pro so even really braindead games that do only support gamepadS should be able to read this at least in any way.
AntiMicroX showing X52 Hotas mapped to two virtual gamepadsIf the game does support only one gamepad consider binding joystick _buttons_ to keyboard presses (e.g. with AntiMicroX instead).