Releases: offalynne/Input
6.1.2
Documentation for this release can be found here.
- Glorious return of the combo system
input_verb_consume()can now target all players by using theallkeyword- Input is now blocked when GameMaker's native debug overlay is open
- Adds gamepad tester to GameMaker's native debug overlay
- Binding scanner now respect ignore/allow lists when waiting for initial "no input" stage, leading to more reliable binding scanning when using defective or semi-defective devices
- Fixes some issues with cursor coordinate space calculations (thank you @Hmmmpf!)
- Fixes edge case incompatibility when reading
%SDL_GAMECONTROLLERCONFIG% - Fixes
game_restart()thrashing - Fixes some thumbstick accuracy problems
- Fixes digital trigger handling on platforms that can never have analogue triggers
- Adds support for a few more gamepads
- Adds
input_icon_touch()to handle virtual button bindings forinput_verb_get_icon()etc. - Adds
INPUT_SDL2_ALLOW_NONGAMEPAD_JOYSTICKS - Adds
input_max_value()
6.1.0 Beta
Documentation for this beta release can be found here.
- Adds combo system
input_verb_consume()can now target all players by using theallkeyword- Input is now blocked when GameMaker's native debug overlay is open
- Adds gamepad tester to GameMaker's native debug overlay
- Binding scanner now respect ignore/allow lists when waiting for initial "no input" stage, leading to more reliable binding scanning when using defective or semi-defective devices
- Adds
input_icon_touch()to handle virtual button bindings forinput_verb_get_icon()etc.
6.0.5
- Feather is now disabled for every Input script
- Fixes Steam Deck power button sticking
- Now preventing key scanning from returning "any" on out of range values
- Hotswapping is now triggered on button press to help filter out malfunctioning devices
- Couple bug fixes for virtual buttons (thank you @colinator27)
- Non-gamepad joysticks are now filtered out
6.0.4
New Features since v5
- Input no longer clogs up global namespace
- Hotswapping has been optimised to improve performance in the most common use case for Input
- Improved device filtering on Android
- Blacklisted gamepads will no longer report as connected
- The layout of folders in the asset browser has been reworked to make it easier to find functions
input_tick()is dead. Long liveinput_controller_object- Adds
input_verb_get_icon()as an easier alternative toinput_binding_get_icon() - Loading the SDL2 database is now a lot faster when using newer versions of GameMaker (LTS will use the slower legacy code)
- If we cannot find a gamepad in the SDL2 database then we now use the original description rather than
"Unknown" - Adds a suite of new config macros in
__input_config_general()to handle Input's behaviour with different sources across all target platforms - Adds
input_player_gamepad_type_override_set()(and getter) to force gamepad appearance input_ghost_set()now accepts the keywordallto set the state of all playersinput_player_connected()andinput_player_connected()now have an optionalincludeGhostargument- Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONEandINPUT_GAMEPAD_TYPE_JOYCON_LEFT input_source_add(),input_source_set(), andinput_source_share()now have an optionalexclusiveargument to control whether sources are unassigned when calling these functions (this defaults totrueto maintain legacy behaviour)- Adds
input_cursor_limit_boundary()and expandsinput_cursor_limit_get()to include data for this limit type - Adds
input_hotswap_params_set()(and getter) input_multiplayer_params_set()and getter have been expandedinput_binding_scan_params_set()and getter have been expandedINPUT_DEFAULT_2D_MOST_RECENTandINPUT_DEFAULT_OPPOSING_MOST_RECENThave been added to control the default behaviour of 2D checker and opposing checkers respectively- The binding scan error code
INPUT_BINDING_SCAN_EVENT.SOURCE_FILTER_EMPTYhas been added - When scanning for a binding with a source filter enabled, hotswapping is disabled
- Adds
input_binding_scan_time_remaining()to return the amount of time left when scanning for a new binding - Adds
input_verb_group_get_verbs()andinput_verbs_groups_get() - Adds an additional supported value for
INPUT_FALLBACK_PROFILE_BEHAVIORthat prioritises gamepad icons if a gamepad is connected (or required, in the case of consoles) - Adds
input_gamepad_map_contains() - Adds
input_gamepad_is_any_connected() - Adds
input_led_pattern_get() - Adds
input_keyboard_virtual_show()andinput_keyboard_virtual_hide()for use on platforms that support it - Adds
INPUT_POINTER_TYPEmacro that contains the type of pointer available on the current hardware - Adds
input_cursor_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_cursor_dx()andinput_cursor_dy() - Adds
input_cursor_inverted_set()(and getter) - Adds
INPUT_WINDOWS_TOUCH,INPUT_SWITCH_TOUCHconfig macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILEINPUT_ON_PCINPUT_ON_STEAM_DECKINPUT_ON_CONSOLEINPUT_ON_WEBas read-only constants - Adds
input_player_active_get()andinput_player_active_set()to completely disable player input should you so wish (though you should continue to use "ghost mode" for networked players and AI) - Better support for use of
game_restart()(not that you should be using this highly cursed function) - Adds a secret macro to reduce debug spam from Input shhhh ask if you want to know where it is
Β
Breaking Changes since v5
input_direction()now takes a default direction as the first argument, returned when a thumbstick is in a neutral positioninput_consume()has been renamed toinput_verb_consume()- Setting a binding now consumes every verb to fix edge cases
input_cursor_elastic_set()now defaults to moving the cursor at the same time as moving the elastic pointinput_xy_quick_pressed()has been renamed toinput_check_quick_pressed_2d()input_multiplayer_*()functions have been renamed toinput_join_*()to match the name of the source modeINPUT_DEFAULT_PROFILEShas been replaced by__input_config_verbs()INPUT_VERB_GROUPShas been replaced by__input_config_verb_groups()INPUT_HOTSWAP_CALLBACKhas been replaced byinput_hotswap_params_set()INPUT_MULTIPLAYER_LEAVE_VERBandINPUT_MULTIPLAYER_ABORT_CALLBACKhave been replaced by extra arguments ininput_join_params_set()input_icons()has been removed and replaced withinput_icon_empty()input_icon_not_a_binding()input_icons_gamepad()andinput_icons_keyboard_and_mouse()INPUT_VIBRATION_SWITCH_OS_STRENGTHhas been renamed toINPUT_VIBRATION_JOYCON_STRENGTHand will now only affect Joy-Cons (and will work cross-platform too)input_gyro_enabled_set(),input_gyro_enabled_get(), andinput_gyro_params_set()have been renamed toinput_cursor_gyroβ¦to better indicate their usageINPUT_TOUCH_POINTER_ALLOWEDhas been removed, you may now use the macros in__input_config_general()to configure touch and mouse behavior per-platforminput_swap_gamepad_ab()has been removed and replaced withINPUT_SWITCH_SWAP_AB(for use cross-platform for Nintendo-style gamepads) andINPUT_PS_REGION_SWAP_CONFIRM(which only applies to the PS4 export target specifically)- Many macros from
__input_config_touch()and__input_config_vibration()have been moved to__input_config_general() input_gamepad_get_type()andinput_player_get_gamepad_type()can now returnINPUT_GAMEPAD_TYPE_UNKNOWN
Β
Removed Features since v5
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAYhas now been fully removed (useINPUT_COORD_SPACE.DEVICEinstead) input_cursor_previous_x()andinput_cursor_previous_y()have been removed (conceptually replaced byinput_cursor_dx()andinput_cursor_dy())
6.0.3 Beta
Β
Changes from 6.0.2 Beta
- SDL2 database update
- Blacklisted gamepads no longer report as connected
- Just, a ton of virtual button bug fixes
input_player_ghost_set()now supportsallkeyword- Adds optional
includeGhostparameter toinput_player_connected()andinput_player_connected_count() - Adds
input_binding_scan_time_remaining() - Adds
input_gamepad_is_any_connected() - Adds an extra mode for
INPUT_FALLBACK_PROFILE_BEHAVIORthat prefers gamepads if any are connected - Simplifies paddle icons
- Reworks mouse and keyboard device filtering on Android
- Hardens Steam Deck identification
- Improves legacy GameMaker version identification (thanks @tabularelf)
Β
Β
New Features since v5
- Input no longer clogs up global namespace
- Hotswapping has been optimised to improve performance in the most common use case for Input
- Improved device filtering on Android
- Blacklisted gamepads will no longer report as connected
- The layout of folders in the asset browser has been reworked to make it easier to find functions
input_tick()is dead. Long liveinput_controller_object- Adds
input_verb_get_icon()as an easier alternative toinput_binding_get_icon() - Loading the SDL2 database is now a lot faster when using newer versions of GameMaker (LTS will use the slower legacy code)
- If we cannot find a gamepad in the SDL2 database then we now use the original description rather than
"Unknown" - Adds a suite of new config macros in
__input_config_general()to handle Input's behaviour with different sources across all target platforms - Adds
input_player_gamepad_type_override_set()(and getter) to force gamepad appearance input_ghost_set()now accepts the keywordallto set the state of all playersinput_player_connected()andinput_player_connected()now have an optionalincludeGhostargument- Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONEandINPUT_GAMEPAD_TYPE_JOYCON_LEFT input_source_add(),input_source_set(), andinput_source_share()now have an optionalexclusiveargument to control whether sources are unassigned when calling these functions (this defaults totrueto maintain legacy behaviour)- Adds
input_cursor_limit_boundary()and expandsinput_cursor_limit_get()to include data for this limit type - Adds
input_hotswap_params_set()(and getter) input_multiplayer_params_set()and getter have been expandedinput_binding_scan_params_set()and getter have been expandedINPUT_DEFAULT_2D_MOST_RECENTandINPUT_DEFAULT_OPPOSING_MOST_RECENThave been added to control the default behaviour of 2D checker and opposing checkers respectively- The binding scan error code
INPUT_BINDING_SCAN_EVENT.SOURCE_FILTER_EMPTYhas been added - When scanning for a binding with a source filter enabled, hotswapping is disabled
- Adds
input_binding_scan_time_remaining()to return the amount of time left when scanning for a new binding - Adds
input_verb_group_get_verbs()andinput_verbs_groups_get() - Adds an additional supported value for
INPUT_FALLBACK_PROFILE_BEHAVIORthat prioritises gamepad icons if a gamepad is connected (or required, in the case of consoles) - Adds
input_gamepad_map_contains() - Adds
input_gamepad_is_any_connected() - Adds
input_led_pattern_get() - Adds
input_keyboard_virtual_show()andinput_keyboard_virtual_hide()for use on platforms that support it - Adds
INPUT_POINTER_TYPEmacro that contains the type of pointer available on the current hardware - Adds
input_cursor_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_cursor_dx()andinput_cursor_dy() - Adds
input_cursor_inverted_set()(and getter) - Adds
INPUT_WINDOWS_TOUCH,INPUT_SWITCH_TOUCHconfig macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILEINPUT_ON_PCINPUT_ON_STEAM_DECKINPUT_ON_CONSOLEINPUT_ON_WEBas read-only constants - Adds
input_player_active_get()andinput_player_active_set()to completely disable player input should you so wish (though you should continue to use "ghost mode" for networked players and AI) - Better support for use of
game_restart()(not that you should be using this highly cursed function) - Adds a secret macro to reduce debug spam from Input shhhh ask if you want to know where it is
Β
Breaking Changes since v5
input_direction()now takes a default direction as the first argument, returned when a thumbstick is in a neutral positioninput_consume()has been renamed toinput_verb_consume()- Setting a binding now consumes every verb to fix edge cases
input_cursor_elastic_set()now defaults to moving the cursor at the same time as moving the elastic pointinput_xy_quick_pressed()has been renamed toinput_check_quick_pressed_2d()input_multiplayer_*()functions have been renamed toinput_join_*()to match the name of the source modeINPUT_DEFAULT_PROFILEShas been replaced by__input_config_verbs()INPUT_VERB_GROUPShas been replaced by__input_config_verb_groups()INPUT_HOTSWAP_CALLBACKhas been replaced byinput_hotswap_params_set()INPUT_MULTIPLAYER_LEAVE_VERBandINPUT_MULTIPLAYER_ABORT_CALLBACKhave been replaced by extra arguments ininput_join_params_set()input_icons()has been removed and replaced withinput_icon_empty()input_icon_not_a_binding()input_icons_gamepad()andinput_icons_keyboard_and_mouse()INPUT_VIBRATION_SWITCH_OS_STRENGTHhas been renamed toINPUT_VIBRATION_JOYCON_STRENGTHand will now only affect Joy-Cons (and will work cross-platform too)input_gyro_enabled_set(),input_gyro_enabled_get(), andinput_gyro_params_set()have been renamed toinput_cursor_gyroβ¦to better indicate their usageINPUT_TOUCH_POINTER_ALLOWEDhas been removed, you may now use the macros in__input_config_general()to configure touch and mouse behavior per-platforminput_swap_gamepad_ab()has been removed and replaced withINPUT_SWITCH_SWAP_AB(for use cross-platform for Nintendo-style gamepads) andINPUT_PS_REGION_SWAP_CONFIRM(which only applies to the PS4 export target specifically)- Many macros from
__input_config_touch()and__input_config_vibration()have been moved to__input_config_general() input_gamepad_get_type()andinput_player_get_gamepad_type()can now returnINPUT_GAMEPAD_TYPE_UNKNOWN
Β
Removed Features since v5
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAYhas now been fully removed (useINPUT_COORD_SPACE.DEVICEinstead) input_cursor_previous_x()andinput_cursor_previous_y()have been removed (conceptually replaced byinput_cursor_dx()andinput_cursor_dy())
6.0.2 Beta
Β
Changes from 6.0.1 Beta
- Prevents crash when compiling in YYC without YoYoGames' Steamworks extension imported into the project
- Fixes
input_cursor_*()functions using the wrong default coordinate space - Adds a suite of new config macros in
__input_config_general()to handle Input's behaviour with different sources across all target platforms - Many macros from
__input_config_touch()and__input_config_vibration()have been moved to__input_config_general() - Adds
INPUT_DEFAULT_OPPOSING_MOST_RECENTandINPUT_DEFAULT_2D_MOST_RECENTto reduce repeated optional argument usage for the associated functions - Removes
input_swap_gamepad_ab()and replaces it withINPUT_SWITCH_SWAP_AB(for use cross-platform for Nintendo-style gamepads) andINPUT_PS_REGION_SWAP_CONFIRM(which only applies to the PS4 export target specifically) - Adds
input_keyboard_virtual_show()andinput_keyboard_virtual_hide()for use on platforms that support it - Adds
INPUT_ON_MOBILEINPUT_ON_PCINPUT_ON_STEAM_DECKINPUT_ON_CONSOLEINPUT_ON_WEBas read-only constants - Adds
input_player_active_get()andinput_player_active_set()to completely disable player input should you so wish (though you should continue to use "ghost mode" for networked players and AI) - Better support for use of
game_restart()(not that you should be using this highly cursed function) - Setting a binding now consumes every verb to fix edge cases
- Hotswapping has been optimised to improve performance in the most common use case for Input
- SDL2 database update
Β
Β
New Features since v5
- Input no longer clogs up global namespace
- Hotswapping has been optimised to improve performance in the most common use case for Input
- The layout of folders in the asset browser has been reworked to make it easier to find functions
input_tick()is dead. Long liveinput_controller_object- Adds
input_verb_get_icon()as an easier alternative toinput_binding_get_icon() - Loading the SDL2 database is now a lot faster when using newer versions of GameMaker (LTS will use the slower legacy code)
- If we cannot find a gamepad in the SDL2 database then we now use the original description rather than
"Unknown" - Adds a suite of new config macros in
__input_config_general()to handle Input's behaviour with different sources across all target platforms - Adds
input_player_gamepad_type_override_set()(and getter) to force gamepad appearance - Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONEandINPUT_GAMEPAD_TYPE_JOYCON_LEFT input_source_add(),input_source_set(), andinput_source_share()now have an optionalexclusiveargument to control whether sources are unassigned when calling these functions (this defaults totrueto maintain legacy behaviour)- Adds
input_cursor_limit_boundary()and expandsinput_cursor_limit_get()to include data for this limit type - Adds
input_hotswap_params_set()(and getter) input_multiplayer_params_set()and getter have been expandedinput_binding_scan_params_set()and getter have been expandedINPUT_DEFAULT_2D_MOST_RECENTandINPUT_DEFAULT_OPPOSING_MOST_RECENThave been added to control the default behaviour of 2D checker and opposing checkers respectively- The binding scan error code
INPUT_BINDING_SCAN_EVENT.SOURCE_FILTER_EMPTYhas been added - When scanning for a binding with a source filter enabled, hotswapping is disabled
- Adds
input_verb_group_get_verbs()andinput_verbs_groups_get() - Adds
input_gamepad_map_contains() - Adds
input_led_pattern_get() - Adds
input_keyboard_virtual_show()andinput_keyboard_virtual_hide()for use on platforms that support it - Adds
INPUT_POINTER_TYPEmacro that contains the type of pointer available on the current hardware - Adds
input_cursor_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_cursor_dx()andinput_cursor_dy() - Adds
input_cursor_inverted_set()(and getter) - Adds
INPUT_WINDOWS_TOUCH_ALLOWED,INPUT_WINDOWS_TOUCH_PRIMARY,INPUT_SWITCH_TOUCHSCREEN_ALLOWED,INPUT_PS_TOUCHPAD_ALLOWEDconfig macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILEINPUT_ON_PCINPUT_ON_STEAM_DECKINPUT_ON_CONSOLEINPUT_ON_WEBas read-only constants - Adds
input_player_active_get()andinput_player_active_set()to completely disable player input should you so wish (though you should continue to use "ghost mode" for networked players and AI) - Better support for use of
game_restart()(not that you should be using this highly cursed function) - Adds a secret macro to reduce debug spam from Input shhhh ask if you want to know where it is
Β
Breaking Changes since v5
input_direction()now takes a default direction as the first argument, returned when a thumbstick is in a neutral positioninput_consume()has been renamed toinput_verb_consume()- Setting a binding now consumes every verb to fix edge cases
input_cursor_elastic_set()now defaults to moving the cursor at the same time as moving the elastic pointinput_xy_quick_pressed()has been renamed toinput_check_quick_pressed_2d()input_multiplayer_*()functions have been renamed toinput_join_*()to match the name of the source modeINPUT_DEFAULT_PROFILEShas been replaced by__input_config_verbs()INPUT_VERB_GROUPShas been replaced by__input_config_verb_groups()INPUT_HOTSWAP_CALLBACKhas been replaced byinput_hotswap_params_set()INPUT_MULTIPLAYER_LEAVE_VERBandINPUT_MULTIPLAYER_ABORT_CALLBACKhave been replaced by extra arguments ininput_join_params_set()input_icons()has been removed and replaced withinput_icon_empty()input_icon_not_a_binding()input_icons_gamepad()andinput_icons_keyboard_and_mouse()INPUT_VIBRATION_SWITCH_OS_STRENGTHhas been renamed toINPUT_VIBRATION_JOYCON_STRENGTHand will now only affect Joy-Cons (and will work cross-platform too)input_gyro_enabled_set(),input_gyro_enabled_get(), andinput_gyro_params_set()have been renamed toinput_cursor_gyroβ¦to better indicate their usageINPUT_TOUCH_POINTER_ALLOWEDhas been renamed toINPUT_TOUCHSCREEN_USES_MOUSE_SOURCEinput_swap_gamepad_ab()has been removed and replaced withINPUT_SWITCH_SWAP_AB(for use cross-platform for Nintendo-style gamepads) andINPUT_PS_REGION_SWAP_CONFIRM(which only applies to the PS4 export target specifically)- Many macros from
__input_config_touch()and__input_config_vibration()have been moved to__input_config_general()
Β
Removed Features since v5
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAYhas now been fully removed (useINPUT_COORD_SPACE.DEVICEinstead) input_cursor_previous_x()andinput_cursor_previous_y()have been removed (conceptually replaced byinput_cursor_dx()andinput_cursor_dy())
6.0.1 Beta
Β
New Features
- Input no longer clogs up global namespace
- The layout of folders in the asset browser has been reworked to make it easier to find functions
input_tick()is dead. Long liveinput_controller_object- Adds
input_verb_get_icon()as an easier alternative toinput_binding_get_icon() - Loading the SDL2 database is now a lot faster when using newer versions of GameMaker (LTS will use the slower legacy code)
- If we cannot find a gamepad in the SDL2 database then we now use the original description rather than
"Unknown" - Adds
input_player_gamepad_type_override_set()(and getter) to force gamepad appearance - Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONEandINPUT_GAMEPAD_TYPE_JOYCON_LEFT input_source_add(),input_source_set(), andinput_source_share()now have an optionalexclusiveargument to control whether sources are unassigned when calling these functions (this defaults totrueto maintain legacy behaviour)- Adds
input_cursor_limit_boundary()and expandsinput_cursor_limit_get()to include data for this limit type - Adds
input_hotswap_params_set()(and getter) input_multiplayer_params_set()and getter have been expandedinput_binding_scan_params_set()and getter have been expanded- The binding scan error code
INPUT_BINDING_SCAN_EVENT.SOURCE_FILTER_EMPTYhas been added - When scanning for a binding with a source filter enabled, hotswapping is disabled
- Adds
input_verb_group_get_verbs()andinput_verbs_groups_get() - Adds
input_gamepad_map_contains() - Adds
input_led_pattern_get() - Adds
INPUT_POINTER_TYPEmacro that contains the type of pointer available on the current hardware - Adds
input_mouse_enabled_set()(and getter) to control whether the mouse moves the internal cursor - Adds
input_cursor_dx()andinput_cursor_dy() - Adds
input_cursor_inverted_set()(and getter) - Adds
INPUT_WINDOWS_TOUCH_ALLOWED,INPUT_WINDOWS_TOUCH_PRIMARY,INPUT_SWITCH_TOUCHSCREEN_ALLOWED,INPUT_PS_TOUCHPAD_ALLOWEDconfig macros for finer control over touch behavior per platform - Adds a secret macro to reduce debug spam from Input shhhh ask if you want to know where it is
Β
Breaking Changes
input_direction()now takes a default direction as the first argument, returned when a thumbstick is in a neutral positioninput_consume()has been renamed toinput_verb_consume()input_cursor_elastic_set()now defaults to moving the cursor at the same time as moving the elastic pointinput_xy_quick_pressed()has been renamed toinput_check_quick_pressed_2d()input_multiplayer_*()functions have been renamed toinput_join_*()to match the name of the source modeINPUT_DEFAULT_PROFILEShas been replaced by__input_config_verbs()INPUT_VERB_GROUPShas been replaced by__input_config_verb_groups()INPUT_HOTSWAP_CALLBACKhas been replaced byinput_hotswap_params_set()INPUT_MULTIPLAYER_LEAVE_VERBandINPUT_MULTIPLAYER_ABORT_CALLBACKhave been replaced by extra arguments ininput_join_params_set()input_icons()has been removed and replaced withinput_icon_empty()input_icon_not_a_binding()input_icons_gamepad()andinput_icons_keyboard_and_mouse()INPUT_VIBRATION_SWITCH_OS_STRENGTHhas been renamed toINPUT_VIBRATION_JOYCON_STRENGTHand will now only affect Joy-Cons (and will work cross-platform too)input_gyro_enabled_set(),input_gyro_enabled_get(), andinput_gyro_params_set()have been renamed toinput_cursor_gyroβ¦to better indicate their usageINPUT_TOUCH_POINTER_ALLOWEDhas been renamed toINPUT_TOUCHSCREEN_USES_MOUSE_SOURCE
Β
Removed Features
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAYhas now been fully removed (useINPUT_COORD_SPACE.DEVICEinstead) input_cursor_previous_x()andinput_cursor_previous_y()have been removed (conceptually replaced byinput_cursor_dx()andinput_cursor_dy())
6.0.0 alpha 1
Β
New Features
- Input no longer clogs up global namespace
input_tick()is dead. Long liveinput_controller_object- Adds
input_verb_get_icon()as an easier alternative toinput_binding_get_icon() - If we cannot find a gamepad in the SDL2 database then we now use the original description rather than
"Unknown" - Adds
input_player_gamepad_type_override_set()(and getter) to force gamepad appearance - Input now ships with multiple gamepad type macros, such as
INPUT_GAMEPAD_TYPE_XBOX_ONEandINPUT_GAMEPAD_TYPE_JOYCON_LEFT - Adds
input_hotswap_params_set()(and getter) input_multiplayer_params_set()and getter have been expandedinput_binding_scan_params_set()and getter have been expanded- The binding scan error code
INPUT_BINDING_SCAN_EVENT.SOURCE_FILTER_EMPTYhas been added - When scanning for a binding with a source filter enabled, hotswapping is disabled
- Adds
input_verb_group_get_verbs()andinput_verbs_groups_get() - Adds
input_mouse_enabled_set()(and getter) - Adds
INPUT_POINTER_TYPEmacro that contains the type of pointer available on the current hardware - Adds
input_led_pattern_get()
Β
Breaking Changes
input_direction()now takes a default direction as the first argument, returned when a thumbstick is in a neutral positioninput_consume()has been renamed toinput_verb_consume()input_cursor_elastic_set()now defaults to moving the cursor at the same time as moving the elastic pointinput_multiplayer_*()functions have been renamed toinput_join_*()to match the name of the source modeINPUT_DEFAULT_PROFILEShas been replaced by__input_config_verbs()INPUT_VERB_GROUPShas been replaced by__input_config_verb_groups()INPUT_HOTSWAP_CALLBACKhas been replaced byinput_hotswap_params_set()INPUT_MULTIPLAYER_LEAVE_VERBandINPUT_MULTIPLAYER_ABORT_CALLBACKhave been replaced by extra arguments ininput_join_params_set()input_icons()has been removed and replaced withinput_icon_empty()input_icon_not_a_binding()input_icons_gamepad()andinput_icons_keyboard_and_mouse()INPUT_VIBRATION_SWITCH_OS_STRENGTHhas been renamed toINPUT_VIBRATION_JOYCON_STRENGTHand will now only affect Joy-Cons (and will work cross-platform too)
Β
Removed Features
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAYhas now been fully removed (useINPUT_COORD_SPACE.DEVICEinstead)
5.6.1
- Fixes crash when running in HTML5
- Gamepads now properly reassign when reconnected in mixed and multidevice source modes
- Adds
moveCursoroptional argument toinput_cursor_elastic_set() - Adds
exclusiveoptional argument toinput_source_add()input_source_set()input_source_share() - Minor improvements to top-down examples, and the gyro test case
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
.MULTIDEVICEsource 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