|
fead0b24
|
2019-12-19T15:02:12
|
|
Added missing files from previous commits
|
|
e22e77da
|
2019-12-19T15:01:35
|
|
Added an untested driver for the Nintendo GameCube adapter, based on code contributed by Ethan Lee
|
|
15d30298
|
2019-12-19T15:01:32
|
|
Added support for wireless Xbox 360 controllers using the HIDAPI driver
|
|
e7f7e3f4
|
2019-12-19T15:01:30
|
|
Refactored HIDAPI controller code to support dongles and hubs that dynamically attach controllers
|
|
4237b183
|
2019-12-19T04:31:00
|
|
Fixed compiler warning
|
|
52b6ab21
|
2019-12-16T17:11:23
|
|
Added support for the SteelSeries Stratus Duo
|
|
bc430d40
|
2019-12-16T10:26:36
|
|
Update for bug 4883 - Add approximation for display DPI on iOS
Aaron Barany
I realized I made a minor mistake in my patch: I changed the constructor prototype for SDL_DisplayData, but didn't update the declaration in the .h file. The compiler and linker don't complain, but it would probably be best to fix in case a later change runs into a problem from the mismatch. I have attached a patch to fix this.
|
|
a7ae9175
|
2019-12-16T10:20:03
|
|
Fixed bug 4898 - No rumble because of integer overflow in SDL_JoystickRumble
meyraud705
On a Dualshock 4 controller using hidapi driver, calling SDL_JoystickRumble with a duration too long (SDL_HAPTIC_INFINITY for example) causes the rumble to stop immediately.
This happens because of integer overflow on line 301 of SDL_hidapi_ps4.c
(https://hg.libsdl.org/SDL/file/a3077169ad23/src/joystick/hidapi/SDL_hidapi_ps4.c#l301), which sets expiration time in the past.
|
|
9f8009f2
|
2019-12-13T16:12:41
|
|
Added mappings for the Razer Serval on Windows and Mac OSX
|
|
cf9af481
|
2019-12-13T16:12:39
|
|
Added support for the 8Bitdo NES30 GamePad in wired mode
|
|
c2b6d6f9
|
2019-12-13T16:12:37
|
|
Enable the LED on PowerA Xbox One controllers
|
|
511df4a5
|
2019-12-13T16:12:35
|
|
Added support for the BDA XB1 Spectra Pro
|
|
55f8eabf
|
2019-12-13T16:12:33
|
|
Identified the BDA XB1 Classic Controller
|
|
0352814a
|
2019-12-13T16:07:25
|
|
Added general remapping of controller manufacturer
|
|
b51d7f35
|
2019-12-13T16:07:22
|
|
Added support for the HORI PAD A
|
|
23c39a2e
|
2019-12-12T19:14:37
|
|
Strip trailing whitespace on controller manufacturer identification
|
|
4d4e5584
|
2019-12-12T19:07:26
|
|
Fixed binding D-pad on NES30 controller
|
|
cd515bd1
|
2019-12-12T14:26:34
|
|
Fixed Xbox 360 Controller support using libusb on Linux
|
|
1ac7eaba
|
2019-12-12T14:25:02
|
|
Fixed comment typo
|
|
13e10151
|
2019-12-12T20:33:11
|
|
Android: use SDL_arraysize()
|
|
210f6dda
|
2019-12-12T18:38:36
|
|
Android: use 'RegisterNatives' to export the native methods
"The advantages of RegisterNatives are that you get up-front checking
that the symbols exist, plus you can have smaller and faster shared
libraries by not exporting anything but JNI_OnLoad"
https://developer.android.com/training/articles/perf-jni#native-libraries
|
|
a613fc7c
|
2019-12-11T19:24:40
|
|
Added names for official Microsoft controllers, since they don't have descriptive product names
|
|
0f529160
|
2019-12-11T17:47:01
|
|
Added custom names for some controllers
|
|
e029fdbb
|
2019-12-11T17:46:59
|
|
Shorten "Performance Designed Products" to "PDP"
|
|
325a2efb
|
2019-12-11T17:46:57
|
|
Added support for the full line of PDP Xbox 360 and Xbox One controllers
|
|
8b50dcb2
|
2019-12-11T17:46:54
|
|
Use the controller product string instead of hard-coding controller names
|
|
89401b21
|
2019-12-10T13:09:52
|
|
Added support for the Razer Raion Fightpad for PS4
|
|
a21f6b7a
|
2019-12-10T11:46:22
|
|
Add the manufacturer to the joystick name on Mac OS X, for consistency with other drivers
|
|
2a161e7a
|
2019-12-10T11:30:56
|
|
Remove any duplicate manufacturer in the joystick name
|
|
3469481e
|
2019-12-10T10:00:49
|
|
Don't include the manufacturer if it's already included in the product string
|
|
bb37a1eb
|
2019-12-10T09:38:10
|
|
Fixed the name of the Razer RAION Fightpad
|
|
82d2c357
|
2019-12-09T16:52:11
|
|
Fixed rumble after Xbox controller initialization
When we initialize the controller it has an internal rumble sequence number, and if our rumble sequence number doesn't match that, rumble won't happen. To fix that we cycle through the range of sequence numbers, and at some point we'll match up with the controller's sequence number and it'll roll forward until it matches our next rumble sequence number.
|
|
3d34750c
|
2019-12-09T13:54:05
|
|
The PowerA Mini controller blocks while writing feature reports, so don't try to use the HIDAPI driver for it on Linux
|
|
36265063
|
2019-12-09T13:54:03
|
|
Added some missing Xbox controller names
|
|
140918bb
|
2019-12-08T11:36:40
|
|
Fixed bug 4883 - Add approximation for display DPI on iOS
Aaron Barany
There appears to be no way to directly access the display DPI on iOS, so as an approximation the DPI for the iPhone 1 is used as a base value and is multiplied by the screen's scale. This should at least give a ballpark number for the various screen scales. (based on https://stackoverflow.com/questions/25756087/detecting-iphone-6-6-screen-sizes-in-point-values it appears that both 2x and 3x are used)
I have updated the patch to use a table of current devices and use a computation as a fallback. I have also updated the fallback computation to be more accurate.
|
|
54748a39
|
2019-12-08T11:33:06
|
|
Fixed bug 4890 - Add hint for SDL that the graphics context is externally managed
Aaron Barany
Add SDL_HINT_VIDEO_EXTERNAL_CONTEXT hint to notify SDL that the graphics context is external. This disables the automatic context save/restore behavior on Android and avoids using OpenGL by default when SDL_WINDOW_VUKLAN isn't set.
When the application wishes to manage the OpenGL contexts on Android, this avoids cases where SDL unbinds the context and creates new contexts, which can interfere with the application's operation.
When using Vulkan and Metal renderer implementations, this avoids SDL forcing OpenGL to be enabled on certain platforms. While using the SDL_WINDOW_VULKAN flag can be used to achieve the same thing, it also causes Vulkan to be loaded. If the application uses Vulkan directly, this is not necessary, and fails window creation when using Metal due to Vulkan not being present. (assuming MoltenVK isn't installed)
|
|
135a9053
|
2019-12-06T13:48:13
|
|
Fixed the Apple TV remote menu button on tvOS 13.2 (thanks Romain Tisserand)
|
|
7a51ad6a
|
2019-12-06T13:48:10
|
|
Fixed the game controller menu button on tvOS 13.2 (thanks Romain Tisserand)
|
|
597f11e5
|
2019-12-05T17:27:06
|
|
cocoa: Patched to compile on older compilers.
|
|
8342fa7c
|
2019-12-05T13:48:08
|
|
Fixed controller mapping issues caused by PS3 gyro jitter
|
|
6d001668
|
2019-12-05T13:18:53
|
|
Get full axis range for PS3 controller triggers on Linux
|
|
ca2c8609
|
2019-12-04T12:20:24
|
|
cocoa: SDL_GetDisplayDPI() should account for Retina displays.
Fixes Bugzilla #4856.
|
|
b7576025
|
2019-12-03T22:07:58
|
|
Fixed bug 4882 - Fix build for iOS when disabling OpenGL
Aaron Barany
Since OpenGL is deprecated on iOS, it is advantageous to be able to remove all OpenGL related code when building SDL for iOS. This patch adds the necessary #if checks to compile in this case.
|
|
7a3ae590
|
2019-12-03T07:12:55
|
|
Fixed bug 4877 - Add support for loading menus from a nib/xib instead of building a hardcoded minimum set
Eric Shepherd
Currently, SDL on Cocoa macOS creates a rudimentary menu bar programmatically if none is already present when the app is registered during setup.
SDL could be much more easily and flexibly used on macOS if upon finding that no menus are currently in place, it first looked for the application's main menu nib or xib file and, if found, loaded that instead of programmatically building the menus.
This would then let developers simply drop in a nib file with a menu bar defined in it and it would be installed and used automatically.
Attached is a patch that does just this. It changes the SDL_cocoaevents.m file to:
* In Cocoa_RegisterApp(), before calling CreateApplicationMenus(), it calls a new function, LoadMainMenuNibIfAvailable(), which attempts to load and install the main menu nib file, using the nib name fetched from the Info.plist file. If that succeeds, LoadMainMenuNibIfAvailable() returns true; otherwise false.
* If LMMNIA() returns false, CreateApplicationMenus() is called to programmatically build the menus as before.
* Otherwise, we're done, and using the menus from the nib/xib file!
I made these changes to support a project I'm working on, and felt they were useful enough to be worth offering them for uplift. They should have zero impact on existing projects' behavior, but make Cocoa SDL development miles easier.
|
|
3da6a0b2
|
2019-12-03T03:53:06
|
|
pulseaudio: don't let FlushCapture get stuck in an infinite loop on shutdown.
Fixes Bugzilla #4645.
|
|
7b08eb48
|
2019-12-03T03:07:34
|
|
direct3d11: Fixed incorrect texture coordinates (thanks, Martin!).
Fixes Bugzilla #4860.
|
|
c8a2ef86
|
2019-12-03T02:49:01
|
|
haiku: Disable pointer history
(note from PulkoMandy on Bugzilla #4442 about why this is a desirable patch:
"The event mask: note that the window and GL view run in their own thread
which I don't expect to be too much CPU bound, and will quickly pop these
messages and forward them to the main thread in our SDL code. Therefore the
B_NO_POINTER_HISTORY should be no problem, and is the default on Haiku
anyway (it was not in BeOS, but we changed that and added a
B_FULL_POINTER_HISTORY flag to request the old behavior explicitly). So, this
seems fine.")
Partially fixes Bugzilla #4442.
|
|
e5af951e
|
2019-12-02T15:41:25
|
|
Fix sending SDL_WINDOWEVENT_RESTORED after unminimizing windows on X11
SDL_SendWindowEvent will only send a RESTORED event if the window has
the minimized or maximized flag set. However, for a SHOWN event, it
will clear the minimized flag. Since the SHOWN event was being sent
first for a MapNotify event, the RESTORED event would never be sent.
Swapping the SendWindowEvent calls around fixes this.
https://bugzilla.libsdl.org/show_bug.cgi?id=4821
|
|
b98808f6
|
2019-11-28T14:23:24
|
|
Updated DPAD binding for 8Bitdo Zero controller
|
|
2fd3f756
|
2019-11-28T11:44:17
|
|
Fixed trying to use the HIDAPI driver for the original Xbox One S Bluetooth controller
|
|
8aaf945b
|
2019-11-28T11:44:15
|
|
Fixed mapping controllers that have axes that start at -32768 and then snap to 0 at the first input report
|
|
a3a8fcef
|
2019-11-28T10:04:05
|
|
Added support for the 8Bitdo SN30 Pro, wired connection
|
|
4a776138
|
2019-11-27T18:26:57
|
|
Added the full Xbox One Elite Series 2 controller initialization sequence, to start input reports after switching out of Bluetooth mode.
|
|
b8d65da4
|
2019-11-27T15:27:21
|
|
Check for duplicates in the supported controller list
|
|
0b863f8a
|
2019-11-27T15:27:19
|
|
Sorted controller entries by type and VID/PID to more easily find entries in the list
|
|
84f8e53c
|
2019-11-27T15:27:16
|
|
Fixed detection of the Mad Catz FightPad Pro
|
|
98cc9cf2
|
2019-11-27T12:38:53
|
|
Added support for the Google Stadia Controller
|
|
43cb7b3c
|
2019-11-27T12:38:51
|
|
Added support for the Hori Fighting Commander
|
|
a76e5474
|
2019-11-27T12:38:48
|
|
Added support for the PowerA XB1 Fusion Fight Pad
|
|
a5e6b87c
|
2019-11-26T08:35:41
|
|
Added support for a variant of the PowerA FUSION Pro Controller
|
|
53216436
|
2019-11-25T16:29:12
|
|
Use the same logic to get the config descriptor in hid_open() as in hid_enumerate()
|
|
f3d95396
|
2019-11-25T15:02:54
|
|
Added some missing controller names
|
|
8243a3e8
|
2019-11-25T15:02:50
|
|
Added support for the Hyperkin X91
|
|
494af7a6
|
2019-11-25T15:02:45
|
|
Backed out change to dynamically load udev - it's already happening in SDL_hidapi.c
|
|
2713a1aa
|
2019-11-25T13:27:26
|
|
Moved the SteelSeries controllers into the "known controller" section
|
|
26d53fbb
|
2019-11-25T11:12:09
|
|
Updated identification for the SteelSeries Stratus Duo
|
|
308e7f2f
|
2019-11-23T12:11:20
|
|
Linux hidapi code dynamically loads udev
|
|
359ae75b
|
2019-11-23T12:11:16
|
|
Fixed DragonRise Generic USB PCB showing up as a PS3 controller
|
|
8e153922
|
2019-11-22T17:46:30
|
|
This packet didn't end up being needed to initialize input for the Xbox One Elite Series 2 controller
|
|
6dce9733
|
2019-11-22T16:23:37
|
|
Use SDL_zeroa() appropriately
|
|
733f2525
|
2019-11-22T14:09:24
|
|
Fixed build
|
|
13006ba9
|
2019-11-22T13:44:40
|
|
Added support for the PDP Versus Fighting Pad
|
|
b5aff9d7
|
2019-11-22T13:12:12
|
|
Added SDL_GameControllerTypeForIndex() and SDL_GameControllerGetType() to return the type of controller attached.
|
|
c0650aca
|
2019-11-21T14:04:48
|
|
Added support for the PDP Battlefield One controller
|
|
a132b183
|
2019-11-21T13:09:00
|
|
Fixed the guide button on the NVIDIA Controller v01.04
|
|
cc4f8905
|
2019-11-21T12:11:47
|
|
Added support for the NVIDIA Controller v01.04 on Linux and Mac OS X
|
|
2a7b635b
|
2019-11-21T11:52:50
|
|
Added support for the NVIDIA Controller v01.04 on Android
|
|
51487a71
|
2019-11-21T10:14:57
|
|
Added support for the MOGA XP5-A Plus
|
|
405a3c82
|
2019-11-21T11:50:50
|
|
ran gendynapi.pl after newly added SDL_string.c functions.
|
|
55eb7621
|
2019-11-20T20:27:45
|
|
Use stat() to minimize input device opens when not using udev
Calling open() on input devices can generate device I/O which blocks
the main thread and causes dropped frames. Using stat() we can avoid
opening anything unless /dev/input has changed since we last polled.
We could have used something fancy like inotify, but it didn't seem
worth the added complexity for this uncommon non-udev case.
|
|
65096446
|
2019-11-20T16:42:50
|
|
Improved XInput VID/PID detection and added SDL_wcsstr() and SDL_wcsncmp()
|
|
eb8f14bb
|
2019-11-20T20:40:50
|
|
added SDL_strtokr() as a replacement for POSIX strtok_r (bug #4046.)
|
|
ce8411c5
|
2019-11-20T08:43:24
|
|
Fixed Xbox One Elite Series 2 showing up as 2 devices in Bluetooth mode on Windows
|
|
200d37da
|
2019-11-20T02:47:40
|
|
SDL.c (SDL_ExitProcess): unconstify its param to match its declaration.
|
|
972a70d8
|
2019-11-19T15:15:00
|
|
Added support for the Xbox One Elite Series 2 controller on Mac OSX
|
|
68d8fc5c
|
2019-11-18T15:46:13
|
|
Added support for the Xbox One Elite Series 2 controller in wired mode
|
|
2bfcf5cd
|
2019-11-18T14:08:05
|
|
Added Linux controller mapping for the Xbox One Elite Series 2 controller in Bluetooth mode
|
|
1e24a151
|
2019-11-18T11:51:39
|
|
Added names for some missing Xbox controllers
|
|
14495644
|
2019-11-18T11:44:51
|
|
Added identifiers for the Xbox One Elite Series 2 controller
|
|
df728f85
|
2019-11-18T10:48:14
|
|
Fixed unused function warning on Android
|
|
dd7fe0af
|
2019-11-16T22:45:49
|
|
Fixed bug 4814 - Missing scancodes on Linux
Michael Roe
The mappings for keyboard scancodes on Linux do not include keypad left and right parentheses (used on some Microsoft keyboard), keypad plus/minus, LANG1 and LANG2 (used on Korean keyboards), XK86MenuKB, and F20 (remapped to Audio Mic Mute in the usual X11 config).
|
|
b1539c4c
|
2019-11-16T22:35:48
|
|
Fixed bug 4819 - Attempting to create an OpenGL ES context with unachievable MSAA parameters under X11 dooms the program
Solra Bizna
I have written a program that, in the event that the user requests more MSAA samples than their hardware supports, attempts to gracefully fall back to the best MSAA available. This code works with my conventional OpenGL renderer, but if I change nothing about the code except to make it request an OpenGL ES profile instead, Xlib kills the program with an error that looks like:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 4 (X_DestroyWindow)
Resource id in failed request: 0x5c00008
Serial number of failed request: 188
Current serial number in output stream: 193
To trigger the bug, attempt to create a window with the SDL_WINDOW_OPENGL flag, with SDL_GL_CONTEXT_PROFILE_MASK set to SDL_GL_CONTEXT_PROFILE_ES, and with SDL_GL_MULTISAMPLESAMPLES set to any unsupported value. SDL_CreateWindow properly returns NULL, but at this point the program is already doomed. Xlib will shortly terminate the program with an error. Calling SDL_CreateWindow again will immediately trigger this termination.
I have attached a skeletal program that reproduces this bug for me. Replacing SDL_GL_CONTEXT_PROFILE_ES with SDL_GL_CONTEXT_PROFILE_COMPATIBILITY avoids the bug (but, obviously, doesn't create an OpenGL ES context).
As I suspected, the problem was with XDestroyWindow being called twice on the same window. The X11_CreateWindow function in src/video/x11/SDL_x11window.c calls SetupWindowData. If initialization fails after that point, XDestroyWindow gets called on the window by a subsequent call to X11_DestroyWindow. But, later in the same function, iff a GLES context is requested and initializing it fails, X11_XDestroyWindow (which wraps XDestroyWindow) is manually called. Shortly after, the intended call to X11_DestroyWindow occurs, which attempts to destroy the same window again. Boom.
(The above confusing summary involves three separate, similarly-named functions: XDestroyWindow, X11_DestroyWindow, X11_XDestroyWindow)
I have attached a simple patch that removes the redundant X11_XDestroyWindow calls. I've tested that XDestroyWindow still gets called for the windows in question, and that it only gets called once.
|
|
a9ac9e38
|
2019-11-16T19:58:29
|
|
Don't try to use this driver with the Xbox One S in Bluetooth mode on Linux
|
|
9ca53730
|
2019-11-16T19:55:53
|
|
Added support for the Xbox One S controller in Bluetooth mode on Linux
|
|
9d4c3f12
|
2019-11-16T22:59:56
|
|
Fix missing prototype warning
|
|
2dab79bc
|
2019-11-16T22:55:36
|
|
Fix crash when detecting SIMD
|
|
cf33f1f0
|
2019-11-13T21:53:01
|
|
Added a utility function to simplify the hint handling logic
|
|
a63e93a1
|
2019-11-13T15:46:58
|
|
Supported Android and Apple hardware has ARM SIMD capability
|
|
9a76bebf
|
2019-11-13T14:24:48
|
|
SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS defaults to true, to match Steam's default behavior
|
|
b44fe0f8
|
2019-11-12T17:24:37
|
|
haiku: Rename BE_* entities to HAIKU_*
In favor Bugzilla #2349.
Update copyright years to 2019.
Partially fixes Bugzilla #4442.
|