AntiMicroX / AntiMicroX/antimicrox

Unsettable negative values while calibrating D-Pad of "8BitDo Zero 2"

Open
#1,274 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
4k
Forks
249
Avg merge
13m
Merged PRs (30d)
1

Description

### Is there an existing issue for this?

- [x] I searched the existing issues and did not find anything similar.

### Current Behavior

The initial profile for this gamepad is incorrect: "A" and "B", "X" and "Y" are swapped.
But even when calibrating the D-Pad in this micro-gamepad, the detection of opposite arrows is buggy. Only the options for "down" and "right" remain, but they work like "up" and "left". There is also dead zone detection for axes with a maximum of 32000, but real negative values for D-Pad of this gamepad = "Axis 2: -32768". As a result, the controller mapping configures "ABXY" correctly, but completely breaks the efficiency of D-Pad.

### Expected Behavior

experimentally I manually changed the line (added negative values: `dpup:-a1,dpleft:-a0,dpdown:a1,dpright:a0`) in [Mappings] section of file ~/.config/antimicrox/antimicrox_settings.ini:
```
2303009e1dc82d000018900000110100001172036888D04DE804E103="03009e1dc82d000018900000110100001172036888D04DE804E103,8BitDo Zero 2,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,dpup:-a1,dpleft:-a0,dpdown:a1,dpright:a0,"
```
and it worked.

### Steps To Reproduce

Go to main window
Click "Controller mapping"
Scroll to "DPad Up"
Press buton "up" on Gamepad's D-Pad
Get the erasing of value

### Environment

```markdown
Версия программы 3.5.1
Compiled from packaging: 3.5.1
Собрана с SDL 2.32.56
Запущена с SDL 2.32.62
Версия Qt 6.10.1
Текущий обработчик событий: XTest
Compositor type: x11
Host OS: arch Version: unknown Architecture: x86_64
```

### Anything else?

_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.