https://bugs.winehq.org/show_bug.cgi?id=47123
--- Comment #10 from rw74 luca_pi@yahoo.it --- I can give you the windows output from dinput_test in few hours.
here is the output from jstest from the 3 controllers I have:
Driver version is 2.1.0. Joystick (Thustmaster Joystick - HOTAS Warthog) has 4 axes (X, Y, Hat0X, Hat0Y) and 19 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, ?, ?, ?, BtnDead, (null), (null), (null)).
Joystick (Thrustmaster Throttle - HOTAS Warthog) has 7 axes (X, Y, Z, Rz, Throttle, Hat0X, Hat0Y) and 32 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, ?, ?, ?, BtnDead, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null)).
Joystick (www.vkb-sim.pro www.forum.vkb-sim.pro �� Alex Oz 2012-2017 VKBsim Black Box ) has 6 axes (X, Y, Z, Rx, Ry, Rz) and 2 buttons (Trigger, ThumbBtn).
btw Starcitizen recognize also gamepad devices, but they are not showing ether as such (in case you think that was the issue)
could it be possible that the new code somehow crash the enumeration returning an empty list to the game? I have this doubt as in an initial tracing one of the thing that pointed to me was that when the working one was moving forward with dinput outputs the other showed an exception raised:
... 0097:trace:dinput:fill_joystick_dideviceinstanceW 1100 0x22d080 0097:trace:dinput:fill_joystick_dideviceinstanceA 580 0x22d570 009d:trace:seh:RtlCaptureStackBackTrace (0, 32, 0x7f5eb43c0b18, (nil)) stub! 0097:trace:dinput:joydev_enum_deviceA Enumerating the linux Joystick device: /dev/input/js1 (www.vkb-sim.pro www.forum.vkb-sim.pro �� Alex Oz 2012-2017 VKBsim Black Box (js)) 0097:trace:dinput:IDirectInputAImpl_EnumDevices - checking device 3 ('Wine Linux joystick driver') 009a:trace:seh:RtlCaptureStackBackTrace (0, 32, 0x7f5eb43c0618, (nil)) stub! 00e2:trace:seh:NtRaiseException code=406d1388 flags=0 addr=0x7b458e78 ip=7b458e78 tid=00e2 00e2:trace:seh:NtRaiseException info[0]=0000000000001000 00e2:trace:seh:NtRaiseException info[1]=00007f5648d6fd68 00e2:trace:seh:NtRaiseException info[2]=00000000000000e2 00e2:trace:seh:NtRaiseException info[3]=0000000000000000 00e2:trace:seh:NtRaiseException info[4]=00007f57493bd058 00e2:trace:seh:NtRaiseException info[5]=000000014482f9ce 00e2:trace:seh:NtRaiseException rax=00007f5548b7fc10 rbx=00007f5749359490 rcx=00007f5548b7fc10 rdx=00007f5548b7fc30 00e2:trace:seh:NtRaiseException rsi=00007f5548b7fdc0 rdi=00007f5548b7fc60 rbp=00007f5548b7fd60 rsp=00007f5548b7fbf0 00e2:trace:seh:NtRaiseException r8=0000000000000006 r9=00007f5548b7fd90 r10=0000000000000000 r11=0000000000000000 00e2:trace:seh:NtRaiseException r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 00e2:trace:seh:dwarf_virtual_unwind function 7b458e78 base 0x7b458d90 cie 0x7b687118 len 14 id 0 version 1 aug 'zR' code_align 1 data_align -8 retaddr %rip 00e2:trace:seh:execute_cfa_instructions 7b458d90: DW_CFA_def_cfa %rsp, 8 00e2:trace:seh:execute_cfa_instructions 7b458d90: DW_CFA_offset %rip, -8 00e2:trace:seh:dwarf_virtual_unwind fde 0x7b695330 len 78 personality (nil) lsda (nil) code 7b458d90-7b458f07 00e2:trace:seh:execute_cfa_instructions 7b458d90: DW_CFA_advance_loc 1 ...
not sure if that is relevant... it was done with a wine without symbols, if you think that could be relevant I can try to replicate it with a wine with symbols if that would show more info.