antimicrox icon indicating copy to clipboard operation
antimicrox copied to clipboard

Support for Thrustmaster MFD 1 (button panel)

Open Patola opened this issue 9 months ago • 3 comments

Is there an existing issue for this?

  • [x] I have searched the existing issues

Is your feature request related to a problem? Please describe.

I have a ThrustMaster, Inc. F16 MFD 1 (044f:b351), a button panel for flight simulators:

Image

However, when I call antimicrox, although it detects the device, it think it's a gamepad with a few extra buttons. Doesn't seem to detect it right, doesn't count all the buttons (28 total), half of the panel buttons don't do anything on antimicrox screen (e.g. when I press one button, the "L Shoulder" lights up, but no button press makes any of the "Button XX" light up):

Image

I tried go to "controller mapping" but since this button panel has more inputs than a typical controller, I can't map all of it to a virtual gamepad. Besides that, that's not what I want, since it's not meant to be used as a gamepad. I want its buttons properly recognized so I can send keys via antimicrox.

Other programs, like evtest-qt, properly recognize all 28 buttons and react to every button pressed, e.g.

Image.

When using antimicrox and pressing one of the buttons that don't cause changes in the window, I get stuff like this on the terminal:

[13:54:17.390] 🐞DEBUG  Processing event: SDL_JOYBUTTONDOWN From joystick with instance id: 1 Got button with id: 2 is one of the GameControllers: true is one of the joysticks:false (file /src/inputdaemon.cpp:703)
[13:54:17.390] 🐞DEBUG  Processing event: 1626 From joystick with instance id: 2 Got button with id: 3 is one of the GameControllers: false is one of the joysticks:false (file /src/inputdaemon.cpp:703)
[13:54:17.390] 🐞DEBUG  Processing event: 1544 From joystick with instance id: 2 Got button with id: 42 is one of the GameControllers: false is one of the joysticks:false (file /src/inputdaemon.cpp:703)
[13:54:20.381] 🐞DEBUG  Processing event: SDL_JOYBUTTONUP From joystick with instance id: 1 Got button with id: 2 is one of the GameControllers: true is one of the joysticks:false (file /src/inputdaemon.cpp:703)
[13:54:20.381] 🐞DEBUG  Processing event: 1626 From joystick with instance id: 2 Got button with id: 3 is one of the GameControllers: false is one of the joysticks:false (file /src/inputdaemon.cpp:703)
[13:54:20.381] 🐞DEBUG  Processing event: 1544 From joystick with instance id: 2 Got button with id: 3 is one of the GameControllers: false is one of the joysticks:false (file /src/inputdaemon.cpp:703)

Describe the solution you'd like

  • Something else than a gamepad appear as a picture and classification of the device I'm using. A button panel preferrably.
  • I could see all buttons of the device and could assign all of them to key bindings.

Describe alternatives you've considered

No response

Additional context

No response

Patola avatar Apr 03 '25 11:04 Patola

I just tested with qjoypad and I confirm that it recognizes all 28 buttons and responds adequately to them. As it does a similar task to antimicrox I will be using this but I really like antimicrox and would appreciate if it worked with my device.

Patola avatar Apr 03 '25 12:04 Patola

Forgot to show the "properties" window for the device.

Image

Patola avatar Apr 03 '25 14:04 Patola

Invalid number of buttons is caused by: https://github.com/AntiMicroX/antimicrox/issues/582

it think it's a gamepad with a few extra buttons.

This seems to be a SDL-specific issue

pktiuk avatar Apr 03 '25 17:04 pktiuk