SDL Input plugin for Mupen64Plus
--------------------------------

----------------------------------------------
# Mupen64Plus-input-sdl v2.6.0 - July 14, 2024

## Merged PRs

* [132](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/132): CI/CD: Update to generic scripts, independent schedule, etc
* [128](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/128): Add support for "Xbox Series X Controller"
* [127](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/127): CI/CD: Fixes Ubuntu i386 builds, among other changes
* [126](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/126): Update rumble functions for SDL v2.0.18+
* [123](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/123): Fix inversion in C buttons on Ubuntu 22.04
* [122](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/122): CI/CD: Integrate scheduled builds and other...
* [118](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/118): Include yet another 360 controller.
* [117](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/117): CI/CD: Update MSVC
* [114](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/114): CI/CD: Update
* [113](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/113): Add USB controller from PS1 Classic
* [111](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/111): CI/CD: Implement GitHub Actions and public nightly builds
* [110](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/110): Sony PS4 Controller support for linux
* [109](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/109): Fix Xbox One S Controller
* [108](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/108): Add Xbox One Elite Controller to InputAutoCfg.ini
* [107](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/107): SAFFUN N64 A and B button and CL and CD button swapped
* [105](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/105): Add Google Stadia controller to README.md, minor button mapping updates.
* [104](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/104): Add input config for Google Stadia controller.
* [101](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/101): Add Dragonbox Pyra Controller Config
* [98](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/98): build: Allow out of tree builds.
* [97](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/97): Enable tiptoe walking mechanics in Banjo games...
* [94](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/94): Allow non-default compilers without resorting to symbolic links
* [93](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/93): Allow to set custom platform toolset from commands
* [91](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/91): Correctly manage SDL subsystems
* [90](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/90): AppVeyor with artifact packaging
* [89](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/89): Changes to have more generic project files
* [86](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/86): Fixes for Nintendo Wii Remote Pro Controller autoconfig
* [85](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/85): add tested autoconfig for "Controller (XEOX Gamepad)"


## Closed Issues

* [131](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/131): No InputAutoConfig.ini entry for 'Xbox Series X Controller'
* [130](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/130): vibration support
* [120](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/120): [BUG] Key Modifier when pressing a diagonal
* [119](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/119): inputautocfg.ini from home
* [103](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/103): PS5 DS5 Dualsense controller on Linux button axis mapping
* [92](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/92): InputAutoCfg.ini / Wrong Logitech F710 mappings for A and B.
* [84](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/84): Numpad not working and unhandled exception when binding numpad key 5 with num lock turned off.
* [81](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/81): Logitech F310 auto configuration issue
* [87](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/87): Two MAYFLASH N64 Controller Adaptors Issue
* [80](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/80): joy con on mupen64 discussion
* [79](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/79): 2.5.9: Missing INPUT_API_VERSION change (2.5 Input plugin not working with 2.5.9 core)


## Top Contributors (2 or more commits)
1. richard42
2. Jj0YzL5nvJ
3. GhostlyDark


--------------------------------------------------
# Mupen64Plus-input-sdl v2.5.9 - February 10, 2019

## Merged PRs

* [78](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/78): Improve input-sdl startup time.
* [77](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/77): Remove use of ConfigSaveSection
* [76](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/76): Recognise DS4 controllers in Bluetooth mode
* [75](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/75): Updated support for the TigerGame Adapter
* [73](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/73): Added Markdown version of the README
* [72](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/72): Added an optional CMake build for mupen64plus-input-sdl
* [69](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/69): Added the gioteck VX2 Wireless controller.
* [68](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/68): Call SDL_PumpEvents() before processing inputs
* [65](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/65): Added Multilaser Controller JS030
* [63](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/63): Add auto config support for Guillemot Corporation DA Leader
* [62](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/62): Update homepage links
* [61](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/61): If DEBUG not set, set NDEBUG
* [60](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/60): Build MXE targets as additional tests in travis build matrix
* [58](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/58): Increase deadzone for axis->N64 button mappings
* [56](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/56): Fix Microsoft X-Box 360 pad for Linux
* [54](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/54): Fix Rumble switch button for Saitek P990 Dual Analog Pad.
* [53](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/53): Fix XBOX 360 For Windows Controller
* [50](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/50): Re-attach joystick if it has disconnected
* [48](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/48): Use faster container based Travis CI
* [45](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/45): Don't set "plugin" as part of autoconfig
* [41](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/41): bump macosx-version-min to 10.6 for SDL2.0.5
* [39](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/39): add PS4 controller name.
* [38](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/38): (InputAutoCfg) Configure HORIPAD ONE automatically.
* [36](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/36): Add autoconfigs for raphnet-tech v3 series adapters
* [35](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/35): Add Logic3 controller config
* [34](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/34): Use Ubuntu Trusty as base system for Travis CI
* [32](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/32): FIX Auto detection of PLAYSTATION(R)3 Controller on OSX
* [31](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/31): Add autoconfig support for Xbox One Wireless Controller (Dongle)
* [30](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/30): Fix up the "Generic X-Box pad" section in accordance with the README
* [29](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/29): Add "USB Gamepad "
* [28](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/28): Added x64 configuration to VisualStudio2013 project file
* [26](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/26): Remove unnecessary OpenBSD warning.
* [25](https://github.com/mupen64plus/mupen64plus-input-sdl/pull/25): add config for Sony playstation 4 controller

## Closed Issues

* [44](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/44): Linux MayFlash Z and Start inverted
* [46](https://github.com/mupen64plus/mupen64plus-input-sdl/issues/46): Yoshis Story Stamp with 360 Controller


Mupen64Plus-input-sdl v2.5 - April 26, 2015
-------------------------------------------
 - use SDL1.2 keysyms in the mupen64plus.cfg file Input section even when built against SDL2, with keysym converter
 - SDL2: support for mapping mouse to controller analog x/y
 - SDL2: improve/simplify rumble effect code
 - use prioritization to decide among multiple matching auto-config sections (for SDL2 / XInput)
 - New auto-config sections for: Wiimote Classic, Wii U Gamecube / Pro, MS SideWinder GamePad Pro, 17 others
 - When Mouse=True but pointer is un-grabbed, fall back to joystick settings for analog x/y
 - Prevent mouse/trackpad auto-centering behavior by pressing left-Windows key

Mupen64Plus-input-sdl v2.0 - July 4, 2013
-----------------------------------------
 - re-write auto-configuration logic to be more user friendly.  Add new 'mode' parameter.
 - support for 6 new joysticks
 - work-around for buggy xboxdrv which results in no rumble
 - bugfix: crash when rumble used with controller #4
 - support to build against SDL2
 - Project files for Visual Studio 2012
 - Makefile changes
   - add support for PowerPC and MinGW32 builds
   - add cross-compiling support to build Win32 executables (MXE) under Linux

Mupen64Plus-input-sdl v1.99.5 - March 10, 2012
-------------------------------------------------
 - Improved input setup behavior (auto-config) to make some use cases more friendly
 - Updated input plugin for new Mupen64plus 2.0 API versioning scheme
 - Added version number to SDL Input plugin parameters
 - Add new parameter for mouse sensitivity, handle mouse movement differently so mouse is easier to use as controller
 - New auto-configuration for controllers:
   - raphnet technologies GC/N64 usb converter
   - Logitech Chillstream Controller
   - Jess Tech Colour Rumble
   - Xbox 360 linux userspace driver
   - Generic X-Box pad
   - Saitek P2900 Wireless Pad
   - Jess Tech USB 4-Axis 12-Button Gamepad
 - bugfix: #392 - when switching between rumble pak and memory pak, simulate removing the pack, waiting 1 second, then inserting the new one
 - bugfix: #424 - problem with USB devices supporting multiple controllers per device
 - bugfix: #409 - PS3 controller not auto-detected in Gentoo when connected via bluetooth
 - bugfix: correctly handle USB devices with multiple game pads, from Peter Helbing
 - makefile fixes and improvements

Mupen64Plus-input-sdl v1.99.4 - November 22, 2010
-------------------------------------------------
 - Bugfix: Do configuration during PluginStart(), so GUI will see defaults (auto-configured) the first time it is run
 - Move axis value reducers to right shift and right ctrl, to avoid conflict with A/B buttons
 - New feature: extra deadzone parameter in axis() config parameter clause when mapping an analog joystick axis to an N64 button
 - many new joystick auto-configurations
 - makefile fixes and improvements

Mupen64Plus-input-sdl v1.99.3 - February 13, 2010
-------------------------------------------------
 - New feature: auto-configuration uses an .ini file instead of hard-coding the controllers in the source code
 - New controller auto-configurations:
   - Original X-Box (and compatible clones)
   - HuiJia USB GamePad
   - USB Human(2p) Interface Device
 - sync with core<-->plugin API change for RomOpen()
 - Bugfix: controller pak was fixed at startup, switching b/w mempak and rumblepak did not work
 - Bugfix: Xbox 360 and PS3 controllers need slightly different names under OSX
 - Makefile improvements:
   - plugin must be linked with CC instead of LD because 'sdl-config --libs' can give "-Wl,-rpath"
   - added OS type GNU/kFreeBSD

Mupen64Plus-input-sdl v1.99.2 - January 6, 2010
-------------------------------------------------
 - new feature: added MSVC8 project file, minor code refactoring for VC compatibility
 - added auto-configuration for:
   - Xbox 360 Wireless Receiver
   - PS3 controller
   - Jess Tech Dual Analog Pad
 - Makefile improvements:
   - throw error if OS/CPU not supported
   - use DESTDIR in install/uninstall paths
   - Allow user-specified CC/CXX/LD paths

Mupen64Plus-input-sdl v1.99.1 - December 14, 2009
-------------------------------------------------
 - New feature: Joystick/Keyboard auto-configuration
 - New feature: deadzone and peak analog joystick values are now configurable
 - Converted to new Mupen64Plus 2.0 API
 - Refactored build system to separate source and object files
 - Major code cleanup: mouse movement and analog axis code was terrible, removed non-standard data types
 - Improved debug messages
 - bugfix: mapping the X/Y analog sticks to keypresses didnt work
 - bugfix: LeftCtrl-LeftAlt key command when mouse is enabled to now toggles between grabbing and releasing the mouse pointer

Mupen64Plus Pre-2.0
-------------------
 - numerous fixes and enhancements were made to this code during the mupen64plus project before v2.0

Original Blight Changelog
-------------------------

0.0.10:
 - when the keyboard is used to control an axis left shift and left control can be 
   pressed to change the axis movement. shift reduces the movement by 25%, control 
   reduces it by 50%, control and shift together reduce the movement by 75%
 - when the mouse is used left ctrl + left alt can be used to release the mouse, 
   clicking into the window will grab the mouse again.

0.0.9:
 - import new version of SDL_tff (2.0.7)
 - when the keyboard is used to control an axis left shift can be pressed to change 
   the axis movement to 25% of the original value

0.0.8-b:
 - fixed bug which didn't put analog axis back into default position when a key
   which was assigned to it was pressed and released again

0.0.8:
 - fixed a stupid bug which disabled analog axis

0.0.7-b:
 - sdl config dialog: input event queue is flushed before a 
   button/whatever is assigned

0.0.7: mouse support!
 - mouse support (x and y axis automatically mapped to analog stick,
   mouse buttons mapable onto n64 buttons)

0.0.6:
 - keyboard and gamepad can be used at the same time (the keyboard will work always,
   even if you choose another device. if you want to use only the keyboard select
   keyboard as device

0.0.5:
 - sdl about dialog
 - fixed config routine (incorrectly read X- axis)
 - fixed small sdl config dialog drawing bug
 - corrected config dialog c button labels

0.0.4: joystick hat support
 - fixed a segfault when the rom was closed
 - less axis sensibility when assigning a new mapping (changed from 10 to 50 percent)
 - less sensibility for axis mapped to buttons (changed from 10 to 20 percent)
 - it's possible to clear assignments and cancel an assignment
 - joystick hat support (mapable to axis and buttons)
 - fixed some bugs in the input reading function
 - fixed all compiler warnings

0.0.3:
 - no more need for the SDL_image library
 - no longer link against gtk library

0.0.2-2:
 - fixed a bug which didn't allow to assign anything to a pad button

0.0.2-1:			*BROKEN*
 - help for the SDL gui

0.0.2: new SDL config dialog!	*BROKEN*
 - fixed a bug where it wouldn't open the joystick device if you change the controller
 - sdl config dialog
 - some other lil' fixes

0.0.1: made some small fixes
 - now it's possible to map an axis (i.e. X Axis +) to a button (i.e.  DPAD_UP)
 - configuration is saved and displayed for all devices
 - changed the config dialog a bit (bigger text entries, bigger device combo)
 - new config file format

0.0.1b: initial version
 - should work :-)

