Package: xboxdrv Version: 0.8.5-1 Severity: normal I noticed a problem with xboxdrv when used together with mupen64plus-input- sdl. The memory/rumble pack switch effects were played but not the ingame effects. The big difference between the two are the length of the effect (or actually the replay.length because it is a FF_RUMBLE/FF_PERIODIC effect). Switching effects have a specific length and ingame effects have no length (aka infinite length) and are stopped when the emulated system requests them to be stopped.
An easy example using SDL2 is attached. It can be compiled using % gcc `sdl2-config --cflags --libs` infinite_rumble_xboxdrv_bug.c \ -o infinite_rumble_xboxdrv_bug Please read more about the the SDL_HAPTIC_INFINITY at http://wiki.libsdl.org/moin.fcg/SDL_HapticRunEffect The infinite length is really set by replay.length as you can see at following places in the code: http://hg.libsdl.org/SDL/file/1516fe08e6ec/src/haptic/SDL_haptic.c#l758 http://hg.libsdl.org/SDL/file/1516fe08e6ec/src/haptic/linux/SDL_syshaptic.c#l576 Here the important part from the ff-memless driver which shows that effects are only stopped when the replay.length is != 0 (it is easier to understand than the iforce-ff driver because you don't need the secret hardware specs): http://lxr.free-electrons.com/source/drivers/input/ff-memless.c?v=3.8#L102 http://lxr.free-electrons.com/source/drivers/input/ff-memless.c?v=3.8#L367 You can also check out hid-pidff.c (pidff_set_effect_report) and compare it with the description of Duration for the value Null on page 15 of http://www.usb.org/developers/devclass_docs/pid1_01.pdf --- System information. --- Architecture: amd64 Kernel: Linux 3.9-1-amd64 Debian Release: jessie/sid 500 unstable www.deb-multimedia.org 500 unstable http.debian.net 500 unstable ftp.debian.org 500 testing http.debian.net 1 experimental www.deb-multimedia.org 1 experimental http.debian.net --- Package information. --- Depends (Version) | Installed =================================-+-============= libc6 (>= 2.4) | libdbus-1-3 (>= 1.0.2) | libdbus-glib-1-2 (>= 0.88) | libgcc1 (>= 1:4.1.1) | libglib2.0-0 (>= 2.14.0) | libstdc++6 (>= 4.6) | libudev0 (>= 146) | libusb-1.0-0 (>= 2:1.0.8) | libx11-6 | Recommends (Version) | Installed ==========================-+-=========== python | 2.7.5-2 python-dbus | 1.2.0-2 Package's Suggests field is empty.
signature.asc
Description: This is a digitally signed message part.