Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
diagnose_joysticks_issues [2022/05/23 12:03] – cleanup, added construction tag atari | diagnose_joysticks_issues [2023/11/12 17:37] (current) – [No controller detected even when connected via USB] syslinux.cfg path for v39 maximumentropy | ||
---|---|---|---|
Line 5: | Line 5: | ||
</ | </ | ||
- | ==== ROMs take a long time to load ==== | + | ===== ROMs take a long time to load ===== |
Some controllers (including Xbox One and 8-bitdo ones) can cause certain cores to take a long time to load a ROM, upwards of thirty seconds. In these situations, it can be worked around by setting the controller to D-input mode (may be referred to as " | Some controllers (including Xbox One and 8-bitdo ones) can cause certain cores to take a long time to load a ROM, upwards of thirty seconds. In these situations, it can be worked around by setting the controller to D-input mode (may be referred to as " | ||
- | ==== Bluetooth connection ==== | + | ===== Bluetooth connection |
- | This is a phenomena causes with some issues and like input lag (especially if you connect more than one BT controller) | + | * Reduce the distance from the controller to the Batocera machine. |
+ | * Disable the internal Wi-Fi - this helps to extent signal strength, you can use '' | ||
+ | * Force a lower baud rate in ''/ | ||
+ | * Buy a new BT adapter and put it to your Raspberry. Add '' | ||
- | - Try reducing distance from your controller to Raspberry (helps sometimes) | + | ===== No controller detected even when connected via USB ===== |
- | - Try to disable internal WiFi - this helps to extent signal strength, you can use '' | + | |
- | - Try forcing a lower baud rate in ''/ | + | |
- | - Buy a new BT adapter and put it to your Raspberry. Add '' | + | |
- | + | ||
- | ==== No controller detected even when connected via USB ==== | + | |
Few things to try: | Few things to try: | ||
* Use a different USB port | * Use a different USB port | ||
* Ensure controller itself is even functional | * Ensure controller itself is even functional | ||
+ | * If using a third-party controller, switch the input mode on it (refer to your controller' | ||
+ | * D-input typically works best, followed by X-input, then " | ||
* Disable IOMMU setting in BIOS | * Disable IOMMU setting in BIOS | ||
* Ensure there' | * Ensure there' | ||
+ | * Add '' | ||
* Clean the contacts with rubbing alcohol (when everything is turned off and disconnected from power), let it dry, and try again | * Clean the contacts with rubbing alcohol (when everything is turned off and disconnected from power), let it dry, and try again | ||
- | * If using a third-party controller, switch the input mode on it (refer to your controller' | ||
- | * D-input typically works best, followed by X-input, then " | ||
* Scream | * Scream | ||
If all else fails, please provide a [[: | If all else fails, please provide a [[: | ||
- | ==== Controller connected and detected, but no inputs ==== | + | ===== Controller connected and detected, but no inputs |
Try configuring the controller by manually editing the ''/ | Try configuring the controller by manually editing the ''/ | ||
- | ==== Controller connected, detected and making inputs, but they are unexpected/ | + | ===== Controller connected, detected and making inputs, but they are unexpected/ |
Ensure that all of the controller' | Ensure that all of the controller' | ||
Line 46: | Line 45: | ||
</ | </ | ||
- | ===== Diagnose | + | ===== When using " |
+ | |||
+ | You can increase the deadzone for pad2key' | ||
+ | |||
+ | - [[: | ||
+ | - Download the following file and save it to ''/ | ||
+ | { " | ||
+ | |||
+ | </ | ||
+ | - Launch a game using the feature and test the cursor. If it's still drifting, increase the " | ||
+ | - When a suitable value has been found, run '' | ||
+ | |||
+ | ===== Diagnose | ||
Physical joystick <--> Linux driver <--> Linux events stack < | Physical joystick <--> Linux driver <--> Linux events stack < | ||
Line 113: | Line 124: | ||
SDL_JOYBUTTONUP: | SDL_JOYBUTTONUP: | ||
... | ... | ||
+ | |||
+ | You can see a graphical representation of your controller by running: | ||
+ | |||
+ | < | ||
+ | sdl2-jstest --test # | ||
+ | </ | ||
+ | |||
+ | where ''#'' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Configuring es_input manually ===== | ||
+ | |||
+ | Although Batocera should be able to handle the mapping of nearly any controller, there comes a time where it is only feasibly possible to map a controller manually, such as when the controller is sending multiple signals at once for a single button press or when Batocera thinks the gyroscope is an input for all buttons. | ||
+ | |||
+ | Open up two SSH sessions to Batocera. Yes, you can do that, just open the program twice. On one session: | ||
+ | - Run '' | ||
+ | - Run '' | ||
+ | |||
+ | On the other session: | ||
+ | - Run '' | ||
+ | - Type in the number of the input device you intend to remap (this may be different from the one in the other session). | ||
+ | |||
+ | You now have all the input information you need to make a manual remap. | ||
+ | |||
+ | ==== es_input syntax ==== | ||
+ | |||
+ | The syntax for each input line mapped: | ||
+ | |||
+ | < | ||
+ | <input name="< | ||
+ | </ | ||
+ | |||
+ | The two leading spaces are tabs, not spaces. This is important. | ||
+ | |||
+ | Explanation of the attributes: | ||
+ | * **name** is the virtual button on the Batocera Retropad. This is most similar to a SNES controller, however '' | ||
+ | * **type** is the type of input being scanned for. This can be either '' | ||
+ | * **id** is the number affected in the '' | ||
+ | * **value** is the value that the control is " | ||
+ | * **code** is the code that the control is " | ||
+ | |||
+ | So for instance a button input line might look like this: | ||
+ | |||
+ | < | ||
+ | <input name=" | ||
+ | </ | ||
+ | |||
+ | An axis might look like this: | ||
+ | |||
+ | < | ||
+ | <input name=" | ||
+ | </ | ||
- diagnose_joysticks_issues.1653300192.txt.gz
- Last modified: 23 months ago
- by atari