mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
Fixed bug 5360 - non-libudev joystick detection doesn't see controllers that were already connected
Simon McVittie When watching for hotplug events we can poll the inotify fd, but we still need to scan /dev/input once per process, otherwise we'll fail to detect devices that were already connected.
This commit is contained in:
parent
8e2746cfb6
commit
c8c818d7a4
@ -571,6 +571,10 @@ LINUX_InotifyJoystickDetect(void)
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_INOTIFY_H */
|
#endif /* HAVE_INOTIFY_H */
|
||||||
|
|
||||||
|
/* Detect devices by reading /dev/input. In the inotify code path we
|
||||||
|
* have to do this the first time, to detect devices that already existed
|
||||||
|
* before we started; in the non-inotify code path we do this repeatedly
|
||||||
|
* (polling). */
|
||||||
static void
|
static void
|
||||||
LINUX_FallbackJoystickDetect(void)
|
LINUX_FallbackJoystickDetect(void)
|
||||||
{
|
{
|
||||||
@ -615,12 +619,13 @@ LINUX_JoystickDetect(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (inotify_fd >= 0) {
|
|
||||||
#ifdef HAVE_INOTIFY_H
|
#ifdef HAVE_INOTIFY_H
|
||||||
|
if (inotify_fd >= 0 && last_joy_detect_time != 0) {
|
||||||
LINUX_InotifyJoystickDetect();
|
LINUX_InotifyJoystickDetect();
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
LINUX_FallbackJoystickDetect();
|
LINUX_FallbackJoystickDetect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user