Releases: offalynne/Input
5.3.1
This release requires GameMaker 2022 LTS or later. If you're looking for a version of Input that works on older versions, please use version 5.2.1. Please note that we will not be supporting 5.2.1 long-term and you should update your version of GameMaker to 2022 LTS as soon as possible to keep up with new versions of Input.
Β
New Features:
- Adds
input_cursor_previous_x()
andinput_cursor_previous_y()
- Adds support for Xbox Series X/S share button
- Adds support for unmapped gamepads on Mac
Β
Bug Fixes:
- Fixes crash when running using Steam Input and the player's Steam ID is invalid
- Improves gyro support in MIXED and MULTI source modes
- Fixes gamepads registering input when out of focus on MacOS and Linux
- Fixes mouse wheel down binding-related crash
- Adds alternative GUID lookup fallback for description-encoded GUIDs
- Fixes analogue trigger and digital trigger bindings incorrectly not colliding, leading to safe binding setter to fail
- Tidies up binding confirmation debug messages
5.3.0
This release requires GameMaker 2022 LTS or later. If you're looking for a version of Input that works on older versions, please use version 5.2.1. Please note that we will not be supporting 5.2.1 long-term and you should update your version of GameMaker to 2022 LTS as soon as possible to keep up with new versions of Input.
Β
This release is authored by @offalynne and @nkrapivin, and tested with the help of @tabularelf and @DragoniteSpam . Nik wrote the Steamworks code, which has been merged into YoYoGames' official Steamworks library, and Alynne implemented Steam Input hooks into Input. It's been a ton of work, executed to a very high standard, and we hope that you and your players enjoy these new features!
New Features:
- Steamworks support
- Device colour control via Steam Input and natively on PS4/PS5
- Trigger effects (e.g. vibration) via Steam Input and natively on PS5
- Gamepad motion support via Steam Input and natively on Switch/PS4/PS5
- Basic touchscreen support on Windows to match improved native support in GameMaker
- Gamepad database update, as per usual!
Bug Fixes:
- Improved Android type ID for Logitech XInput and 8BitDo gamepads
- Gamepad mapping fixes for multiple gamepad types
- Trigger axis correction for PlayStation gamepads and Steam virtual controllers
- Improved mouse handling on Windows
5.2.1
Documentation for version 5.2 can be found here.
Β
New Features:
- Adds gamepad vibration functionality
- Adds
input_held_time_released()
- Adds
input_check_opposing_pressed()
- Adds
INPUT_MOUSE_ALLOW_SCANNING
andINPUT_HOTSWAP_ON_MOUSE_BUTTON
macros to control more precisely how mouse input interacts with the library - Updates the gamepad database, and adds Steam Deck, Tribute 64, and Atari VCS Classic compatibility
- Improved support for HID-Nintendo gamepads and third-party JoyCons
- Adds
input_mouse_in_bounds()
andinput_window_has_focus()
- Adds
input_gamepad_delta()
to monitor changes in values between frames input_consume()
can now take an array of verbs- Adds
INPUT_MERGE_CONTROL_KEYS
macro to treat left/right control keys as the same key - Adds the ability to explicitly ignore or allow certain bindings when scanning with
input_binding_scan()
- seeinput_binding_scan_set_params()
- Adds "quick tap" checker for analogue input (on both thumbsticks and triggers)
- Adds optional
allowAbort
parameter toinput_multiplayer_params_set()
- Adds
input_cursor_translate()
which allows you to move Input's native cursor around
Other Changes:
- Aborting the
.JOIN
source mode will now return Input to the previous source mode - Renames
input_check_repeat_opposing()
toinput_check_opposing_repeat()
- Renames
__input_config_gamepad_data()
to__input_config_external_data()
- Removes
input_gamepad_get_dpad_style()
, you will be missed - Extended gamepad constants
gp_guide
,gp_paddle1
etc.) have had their values changed to avoid collisions with native GameMaker constants. No changes should be required, and old saved bindings should automatically self-update when loaded
Bug Fixes:
- Fixes Input being outfoxed by
time_source_pause()
- Fixes failure to compile in YYC for 2022.6.1
- Works around Xbox One gamepads on Windows returning incorrect analogue trigger values
- Fixes crash in
input_source_share()
- Profiles created at runtime are now more stable, especially when exporting/importing
- Fixes empty bindings not being imported correctly
- Gamepads that emit continuously faulty data (or you're sitting on them) will not longer trigger hotswap constantly
- Fixes crash on boot with connected gamepad when starting in mixed/multidevice source mode
- Improves
input_binding_get_icon()
error reporting - Gamepad detection on desktop has been tweaked to better handle virtual devices in most cases
- Glitchy gamepads no longer uncontrollably assign themselves in the
.JOIN
source mode - Fixes player index issues when using
input_player_swap()
- Fixes support for SteelSeries Nimbus+, Mayflash N64, and HuiJia gamepads
5.2.0 Beta 3
5.2.0b3 Merge branch 'dev'
5.2.0 beta 2
5.2.0b2 5.2.0 beta 2
5.2.0 Beta 1
5.2.0b1 5.2.0 beta 1
5.1.2
5.1.1
- Updates SDL2 database
input_tick()
can now be called freely in the Begin Step event, as was advised in v4 of Input. Doing so will cancel the automatic update so make sure you callinput_tick()
every frame in a persistent instance- Fixes a couple typos in the default icon config
- Adds support for Switch controller on iOS 16
- Adds support for Wii Remote and Wii Classic gamepads on Linux
- Fixes a couple function signatures (thank you @gnysek)
- Fixes crash when
INPUT_MULTIPLAYER_LEAVE_VERB
is set toundefined
- Fixes
input_profile_export()
returning an invalid value when opting to export a string - Works around PlayStation controllers hogging hotswapping due to non-zero values returned by triggers
5.1.0
- Rebuilds
__input_config_icons()
to use a fluent interface. This works around two particularly nasty bugs in GameMaker that have gone unaddressed for at least 6 weeks (#371 #410) and we got bored of waiting - Adds imported data verification functions:
input_system_verify()
,input_player_verify()
, andinput_profile_verify()
- Fixes empty bindings having no label, leading to invalid return values downstream
- Fixes crash when importing bindings that contain attached gamepad description data
5.0.7
- Adds optional
availableOnly
argument toinput_source_detect_input()
to filter input. This argument defaults totrue
, only allowing input from sources that are not assigned to a player - Fixes binding scan not waiting for mouse buttons to be released before scanning for input, leading to mouse buttons always being bound
- Adds
input_binding_get_source_type()
which returns the source type for a binding - Fixes
input_binding_set()
crashing when used with custom profiles