AntiMicroX / AntiMicroX/antimicrox

Support for Thrustmaster MFD 1 (button panel)

Open
#1,162 3 comments 0 reactions 0 assignees View on GitHub
enhancement hardware-specific
Dominant language
C++
Stars
4k
Forks
249
Avg merge
13m
Merged PRs (30d)
1

Description

### 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](https://github.com/user-attachments/assets/ccdc62d4-08dd-464f-a78e-d1b94c20eed0)

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](https://github.com/user-attachments/assets/bc0fda51-4fe6-42e0-bfe2-afd3ab7ec9bb)

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](https://github.com/user-attachments/assets/49fde3ac-9bbc-4366-9ae4-72b18ed8ab66).

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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.