Releases: offalynne/Input
Releases · offalynne/Input
6.2.0
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 theall
keyword- 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 theall
keyword- 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 keywordall
to set the state of all playersinput_player_connected()
andinput_player_connected()
now have an optionalincludeGhost
argument- Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONE
andINPUT_GAMEPAD_TYPE_JOYCON_LEFT
input_source_add()
,input_source_set()
, andinput_source_share()
now have an optionalexclusive
argument to control whether sources are unassigned when calling these functions (this defaults totrue
to 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_RECENT
andINPUT_DEFAULT_OPPOSING_MOST_RECENT
have 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_EMPTY
has 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_BEHAVIOR
that 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_TYPE
macro 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_TOUCH
config macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILE
INPUT_ON_PC
INPUT_ON_STEAM_DECK
INPUT_ON_CONSOLE
INPUT_ON_WEB
as 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_PROFILES
has been replaced by__input_config_verbs()
INPUT_VERB_GROUPS
has been replaced by__input_config_verb_groups()
INPUT_HOTSWAP_CALLBACK
has been replaced byinput_hotswap_params_set()
INPUT_MULTIPLAYER_LEAVE_VERB
andINPUT_MULTIPLAYER_ABORT_CALLBACK
have 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_STRENGTH
has been renamed toINPUT_VIBRATION_JOYCON_STRENGTH
and 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_ALLOWED
has 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.DISPLAY
has now been fully removed (useINPUT_COORD_SPACE.DEVICE
instead) 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 supportsall
keyword- Adds optional
includeGhost
parameter 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_BEHAVIOR
that 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 keywordall
to set the state of all playersinput_player_connected()
andinput_player_connected()
now have an optionalincludeGhost
argument- Input now ships with multiple gamepad type macros for easier referencing, such as
INPUT_GAMEPAD_TYPE_XBOX_ONE
andINPUT_GAMEPAD_TYPE_JOYCON_LEFT
input_source_add()
,input_source_set()
, andinput_source_share()
now have an optionalexclusive
argument to control whether sources are unassigned when calling these functions (this defaults totrue
to 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_RECENT
andINPUT_DEFAULT_OPPOSING_MOST_RECENT
have 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_EMPTY
has 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_BEHAVIOR
that 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_TYPE
macro 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_TOUCH
config macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILE
INPUT_ON_PC
INPUT_ON_STEAM_DECK
INPUT_ON_CONSOLE
INPUT_ON_WEB
as 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_PROFILES
has been replaced by__input_config_verbs()
INPUT_VERB_GROUPS
has been replaced by__input_config_verb_groups()
INPUT_HOTSWAP_CALLBACK
has been replaced byinput_hotswap_params_set()
INPUT_MULTIPLAYER_LEAVE_VERB
andINPUT_MULTIPLAYER_ABORT_CALLBACK
have 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_STRENGTH
has been renamed toINPUT_VIBRATION_JOYCON_STRENGTH
and 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_ALLOWED
has 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.DISPLAY
has now been fully removed (useINPUT_COORD_SPACE.DEVICE
instead) 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_RECENT
andINPUT_DEFAULT_2D_MOST_RECENT
to 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_MOBILE
INPUT_ON_PC
INPUT_ON_STEAM_DECK
INPUT_ON_CONSOLE
INPUT_ON_WEB
as 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_ONE
andINPUT_GAMEPAD_TYPE_JOYCON_LEFT
input_source_add()
,input_source_set()
, andinput_source_share()
now have an optionalexclusive
argument to control whether sources are unassigned when calling these functions (this defaults totrue
to 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_RECENT
andINPUT_DEFAULT_OPPOSING_MOST_RECENT
have 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_EMPTY
has 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_TYPE
macro 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_ALLOWED
config macros for finer control over touch behavior per platform - Adds
INPUT_ON_MOBILE
INPUT_ON_PC
INPUT_ON_STEAM_DECK
INPUT_ON_CONSOLE
INPUT_ON_WEB
as 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_PROFILES
has been replaced by__input_config_verbs()
INPUT_VERB_GROUPS
has been replaced by__input_config_verb_groups()
INPUT_HOTSWAP_CALLBACK
has been replaced byinput_hotswap_params_set()
INPUT_MULTIPLAYER_LEAVE_VERB
andINPUT_MULTIPLAYER_ABORT_CALLBACK
have 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_STRENGTH
has been renamed toINPUT_VIBRATION_JOYCON_STRENGTH
and 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_ALLOWED
has been renamed toINPUT_TOUCHSCREEN_USES_MOUSE_SOURCE
input_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.DISPLAY
has now been fully removed (useINPUT_COORD_SPACE.DEVICE
instead) 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_ONE
andINPUT_GAMEPAD_TYPE_JOYCON_LEFT
input_source_add()
,input_source_set()
, andinput_source_share()
now have an optionalexclusive
argument to control whether sources are unassigned when calling these functions (this defaults totrue
to 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_EMPTY
has 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_TYPE
macro 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_ALLOWED
config 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_PROFILES
has been replaced by__input_config_verbs()
INPUT_VERB_GROUPS
has been replaced by__input_config_verb_groups()
INPUT_HOTSWAP_CALLBACK
has been replaced byinput_hotswap_params_set()
INPUT_MULTIPLAYER_LEAVE_VERB
andINPUT_MULTIPLAYER_ABORT_CALLBACK
have 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_STRENGTH
has been renamed toINPUT_VIBRATION_JOYCON_STRENGTH
and 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_ALLOWED
has been renamed toINPUT_TOUCHSCREEN_USES_MOUSE_SOURCE
Removed Features
- The combo system has been removed
- The deprecated enum value
INPUT_COORD_SPACE.DISPLAY
has now been fully removed (useINPUT_COORD_SPACE.DEVICE
instead) 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_ONE
andINPUT_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_EMPTY
has 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_TYPE
macro 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_PROFILES
has been replaced by__input_config_verbs()
INPUT_VERB_GROUPS
has been replaced by__input_config_verb_groups()
INPUT_HOTSWAP_CALLBACK
has been replaced byinput_hotswap_params_set()
INPUT_MULTIPLAYER_LEAVE_VERB
andINPUT_MULTIPLAYER_ABORT_CALLBACK
have 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_STRENGTH
has been renamed toINPUT_VIBRATION_JOYCON_STRENGTH
and 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.DISPLAY
has now been fully removed (useINPUT_COORD_SPACE.DEVICE
instead)
5.6.1
- Fixes crash when running in HTML5
- Gamepads now properly reassign when reconnected in mixed and multidevice source modes
- Adds
moveCursor
optional argument toinput_cursor_elastic_set()
- Adds
exclusive
optional argument toinput_source_add()
input_source_set()
input_source_share()
- Minor improvements to top-down examples, and the gyro test case