Releases: offalynne/Input
5.5.2
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.
Bug Fixes
- Fixes gamepad icon types being tied to the gamepad that bound them even when not in the
.MULTIDEVICE
source mode - Fixes crash when loading bindings that include virtual buttons
- Fixes crash when the fallback icon category is missing
- Adds warning when running through a browser and testing locally
5.5.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.
Bug Fixes
- Fixes rebinding failing when the player is assigned
INPUT_MOUSE
- Fixes cursor position sometimes being incorrect when transforming between coordinate spaces and the viewport is squashed or stretched
5.5.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.
New Features
- Adds virtual buttons to allow emulation of gamepad controls on touchscreen devices (primarily mobile phones)
- Adds
INPUT_TOUCH
source type.INPUT_TOUCH
will be used in place of theINPUT_MOUSE
source on Android, iOS, tvOS, Switch, and when running Windows on Steam Deck. You can force legacy behaviour (where touch input isINPUT_MOUSE
) by settingINPUT_TOUCH_IS_MOUSE
totrue
- Adds
INPUT_MOUSE_ALLOW_VIRTUAL_BUTTONS
to control whether PC mouse input can be used for virtual buttons - Adds
input_radial_sector()
to check for radial input, primarily from thumbsticks (thanks @offalynne!) - Adds
INPUT_FLEXIBLE_ALTERNATE_BINDING_IMPORT
to allow for less strict profile import. This is useful to adapt to situations where the number of alternate bindings has changed in production and you need to smoothly convert saved bindings input_check()
input_check_pressed()
input_check_released()
now support the keywordall
to check for input across all basic verbsinput_source_detect_input()
now supports arrays of sources and the keywordall
Bug Fixes
- Fixes compatibility with 2023.1 and later
- Fixes YYC compile errors
- Fixes crash where Steam returns invalid data when offline
Other Changes
- Added a new example for drop-in/drop-out multiplayer to the repo project. Please see
rm_example_drop_in_gameplay
- Deprecated functions from v4 have been removed
- Updates config macro validator. You may encounter some errors when updating as a result where previously permitted macro values are now reported (correctly) as unsupported
- Moved some of the less used macros to an internal script file to avoid cluttering config scripts
INPUT_FALLBACK_PROFILE_BEHAVIOUR
has been renamed toINPUT_FALLBACK_PROFILE_BEHAVIOR
5.4.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.
New Features
- Updates gamepad database, improving support for many gamepads including Stadia over Bluetooth
- Cursor position getters can now return values from a specific coordinate system
- Adds
INPUT_FALLBACK_PROFILE_BEHAVIOUR
to control what type of binding is returned byinput_binding_get()
and the player has no profile set - Simplifies icon config by removing
"gamepad fallback"
and instead using icons relevant to the OS
Bug Fixes
- Steam Deck is now properly recognised when running Windows
- Better support for Steamworks, including improvements to compatibility with Proton, and device-handling
- Preventing resting gamepad axes triggering hotswap on window focus change
- Fixes a crash on HTML5
- Fixes in-built platformer example
- Fixes
input_cursor_elastic_set()
moving the cursor position itself
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