Open Teriks opened 5 years ago
I am working on #1371 and one part of that is splitting SDL input and SDL GUI into separate defines.
The SDL input currently does not work that well, like evdev does, because there is no possibility to configure the controllers. That is also part of #1371.
Ah, perhaps a config option to choose between evdev and SDL input at runtime might be useful as well if they are both compiled in (in addition to separating the build time option for SDL input/video).
My quick fix is working for me for now on Tinker, feel free to close this or leave open for reference.
Here's a more complete way to disable SDL input in the mean time (for others):
sed -i 's|input_sdl_init();||; s|input_sdl_handle(port);||' core/linux-dist/main.cpp
To make the input devices more configurable is a long-term goal of mine, but not in the near future. I leave this open for now.
Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.
Description of the Issue
Building with USE_EVDEV=1 and USE_SDL=1 causes input bugs due to both input systems being used simultaneously. (Or SDL input is buggy?)
The evdev input system detects a controller, and then SDL also detects a joystick. Input is received from both input systems simultaneously. (or SDL joystick input takes over?)
I am building Reicast for Tinker Board (KMS) on Armbian OS, using a makefile patch I have created. However I believe Raspberry PI and friends will encounter the same issue.
The problem is that SDL is required to create a display on these devices, so it cannot be disabled all together.
Enabling SDL causes SDL input to be initialized, which is either buggy or trampling on evdev input by processing input events at the same time.
Is there a way to disable SDL input entirely that I am missing? Maybe from the config file?
My current hack to fix this before building is:
sed -i 's|input_sdl_init();||' core/linux-dist/main.cpp
My Makefile Patch:
Built with:
make -C shell/linux platform=tinker
Logs Gathered
Log snippet ends near the relevant input detection messages.