Simple DirectMedia Layer https://libsdl.org
Find a file
dwillbarron 618eb57519
DirectInput FFB: Calculate appropriate update flags (#14570)
Anecdotally, some force-feedback wheels have been reported to experience a
reduced "definition", "texture", "precision", or "je ne sais quoi", which
appears to be caused by sending more update flags than necessary to
DirectInput.

This may be related to the fact that there are two USB PID packets that are
sent when updating a device: One contains the "general" force data, and the
other contains the "type-specific" data. My speculation is that many wheels
expect to only receive the latter, and misbehave when receiving both.

This has been tested and validated anecdotally by others who have received
a hacked-together version of PCSX2 that corrects the flags sent to DirectInput,
who noted a significant improvement in the "feeling" of the FFB effects.

The only way to validate this at a technical level is to grab a wheel that uses
the "generic" DirectInput FFB drivers (which map nearly 1:1 with the USB PID
specification), and inspect the USB packets (e.g. with USBPcap) to check whether
redundant data is being sent.
2025-12-30 14:43:49 -08:00
.github release: verify SDL_REVISION contains SDL- 2025-12-03 17:13:06 +01:00
android-project android: Add RGB LED support for joysticks. 2025-12-29 10:32:02 -08:00
build-scripts Remove mkinstalldirs from automake 2025-12-11 05:48:36 +01:00
cmake cmake: add reftable ref storage support to GetGitRevisionDescription 2025-12-11 16:13:49 -08:00
docs Document SDL's policy on setuid/setgid executables 2025-12-28 10:14:57 -08:00
examples examples/renderer/03-lines: simplified casting on radians calculation. 2025-12-05 12:59:01 -05:00
include Added SDL_HINT_HIDAPI_LIBUSB_GAMECUBE 2025-12-30 14:14:51 -08:00
src DirectInput FFB: Calculate appropriate update flags (#14570) 2025-12-30 14:43:49 -08:00
test cmake: break dependency cycle when doing an in-source build 2025-12-24 22:18:57 +01:00
VisualC SDL_test: allow disabling colorized output 2025-12-15 23:19:25 +01:00
VisualC-GDK SDL_test: allow disabling colorized output 2025-12-15 23:19:25 +01:00
wayland-protocols wayland: Update the color management protocol 2025-12-15 13:54:31 -05:00
Xcode Updated to version 3.3.7 for development 2025-12-16 09:38:05 -08:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
Android.mk android: remove dependency on cpu-features.h 2025-11-11 23:41:43 +00:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CMakeLists.txt unix: If setuid or setgid, don't use GTK 2025-12-28 10:19:33 -08:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2025 2025-01-01 07:45:52 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)