SDL: Revert "Disable the RAWINPUT joystick driver by default"

From 0bc852ce5354d29beb9a77957ba7e82ced37bd61 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 17 Oct 2022 17:43:06 -0700
Subject: [PATCH] Revert "Disable the RAWINPUT joystick driver by default"

Disabling RAWINPUT on Windows 10 causes these issues:
* All Xbox controllers are named "XInput Controller".
* Trigger rumble no longer works.
* "XInput Controllers" are now also listed as separate haptic devices
---
 WhatsNew.txt                                | 3 ---
 include/SDL_hints.h                         | 6 ++----
 src/joystick/windows/SDL_rawinputjoystick.c | 2 +-
 3 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/WhatsNew.txt b/WhatsNew.txt
index fe7a334b7490..0318b90de02f 100644
--- a/WhatsNew.txt
+++ b/WhatsNew.txt
@@ -10,9 +10,6 @@ General:
 * Added support for Nintendo Wii controllers to the HIDAPI driver, and a hint SDL_HINT_JOYSTICK_HIDAPI_WII to control whether this is used
 * Added the hint SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED to control whether the player LED should be lit on the Nintendo Wii controllers
 
-Windows:
-* The RAWINPUT joystick driver is disabled by default, since it's only needed to support more than 4 Xbox controllers, and adds significant complexity to the joystick processing.
-
 
 ---------------------------------------------------------------------------
 2.24.0:
diff --git a/include/SDL_hints.h b/include/SDL_hints.h
index 37948954d6e3..600989e58bb1 100644
--- a/include/SDL_hints.h
+++ b/include/SDL_hints.h
@@ -938,11 +938,9 @@ extern "C" {
 /**
   *  \brief  A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices.
   *
-  *  Enabling this hint allows for more than 4 Xbox controllers on Windows, but adds significant complexity to the joystick processing. If you enable this hint and do not use an SDL window in your application, you may need to set the hint SDL_HINT_JOYSTICK_THREAD to "1" to handle joystick input messages.
-  *
   *  This variable can be set to the following values:
-  *    "0"       - RAWINPUT drivers are not used (the default)
-  *    "1"       - RAWINPUT drivers are used
+  *    "0"       - RAWINPUT drivers are not used
+  *    "1"       - RAWINPUT drivers are used (the default)
   */
 #define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
 
diff --git a/src/joystick/windows/SDL_rawinputjoystick.c b/src/joystick/windows/SDL_rawinputjoystick.c
index 734921cce670..120a361f1320 100644
--- a/src/joystick/windows/SDL_rawinputjoystick.c
+++ b/src/joystick/windows/SDL_rawinputjoystick.c
@@ -860,7 +860,7 @@ RAWINPUT_JoystickInit(void)
         return -1;
     }
 
-    if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT, SDL_FALSE)) {
+    if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT, SDL_TRUE)) {
         return -1;
     }