Skip to content

Releases: offalynne/Input

6.2.0

11 Oct 12:10
Compare
Choose a tag to compare
6.2.0 Pre-release
Pre-release

Documentation here

  • Adds touchpad-type behaviour to virtual buttons via .touchpad()
  • Adds reference point options to virtual buttons via .reference_point()
  • Updates SDL database
  • Pre-emptive fixes for GameMaker's "New Runtime" (slated to arrive for public testing in 2024)

6.1.2

28 Sep 14:10
Compare
Choose a tag to compare

Documentation for this release can be found here.

  • Glorious return of the combo system
  • input_verb_consume() can now target all players by using the all 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 for input_verb_get_icon() etc.
  • Adds INPUT_SDL2_ALLOW_NONGAMEPAD_JOYSTICKS
  • Adds input_max_value()

6.1.0 Beta

02 Sep 14:26
Compare
Choose a tag to compare
6.1.0 Beta Pre-release
Pre-release

Documentation for this beta release can be found here.

  • Adds combo system
  • input_verb_consume() can now target all players by using the all 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 for input_verb_get_icon() etc.

6.0.5

17 Aug 16:48
Compare
Choose a tag to compare
  • 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

08 Jul 10:14
Compare
Choose a tag to compare

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 live input_controller_object
  • Adds input_verb_get_icon() as an easier alternative to input_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 keyword all to set the state of all players
  • input_player_connected() and input_player_connected() now have an optional includeGhost argument
  • Input now ships with multiple gamepad type macros for easier referencing, such as INPUT_GAMEPAD_TYPE_XBOX_ONE and INPUT_GAMEPAD_TYPE_JOYCON_LEFT
  • input_source_add(), input_source_set(), and input_source_share() now have an optional exclusive argument to control whether sources are unassigned when calling these functions (this defaults to true to maintain legacy behaviour)
  • Adds input_cursor_limit_boundary() and expands input_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 expanded
  • input_binding_scan_params_set() and getter have been expanded
  • INPUT_DEFAULT_2D_MOST_RECENT and INPUT_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() and input_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() and input_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() and input_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() and input_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 position
  • input_consume() has been renamed to input_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 point
  • input_xy_quick_pressed() has been renamed to input_check_quick_pressed_2d()
  • input_multiplayer_*() functions have been renamed to input_join_*() to match the name of the source mode
  • INPUT_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 by input_hotswap_params_set()
  • INPUT_MULTIPLAYER_LEAVE_VERB and INPUT_MULTIPLAYER_ABORT_CALLBACK have been replaced by extra arguments in input_join_params_set()
  • input_icons() has been removed and replaced with input_icon_empty() input_icon_not_a_binding() input_icons_gamepad() and input_icons_keyboard_and_mouse()
  • INPUT_VIBRATION_SWITCH_OS_STRENGTH has been renamed to INPUT_VIBRATION_JOYCON_STRENGTH and will now only affect Joy-Cons (and will work cross-platform too)
  • input_gyro_enabled_set(), input_gyro_enabled_get(), and input_gyro_params_set() have been renamed to input_cursor_gyro… to better indicate their usage
  • INPUT_TOUCH_POINTER_ALLOWED has been removed, you may now use the macros in __input_config_general() to configure touch and mouse behavior per-platform
  • input_swap_gamepad_ab() has been removed and replaced with INPUT_SWITCH_SWAP_AB (for use cross-platform for Nintendo-style gamepads) and INPUT_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() and input_player_get_gamepad_type() can now return INPUT_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 (use INPUT_COORD_SPACE.DEVICE instead)
  • input_cursor_previous_x() and input_cursor_previous_y() have been removed (conceptually replaced by input_cursor_dx() and input_cursor_dy())

6.0.3 Beta

29 Jun 20:25
Compare
Choose a tag to compare

Documentation

 

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 supports all keyword
  • Adds optional includeGhost parameter to input_player_connected() and input_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 live input_controller_object
  • Adds input_verb_get_icon() as an easier alternative to input_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 keyword all to set the state of all players
  • input_player_connected() and input_player_connected() now have an optional includeGhost argument
  • Input now ships with multiple gamepad type macros for easier referencing, such as INPUT_GAMEPAD_TYPE_XBOX_ONE and INPUT_GAMEPAD_TYPE_JOYCON_LEFT
  • input_source_add(), input_source_set(), and input_source_share() now have an optional exclusive argument to control whether sources are unassigned when calling these functions (this defaults to true to maintain legacy behaviour)
  • Adds input_cursor_limit_boundary() and expands input_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 expanded
  • input_binding_scan_params_set() and getter have been expanded
  • INPUT_DEFAULT_2D_MOST_RECENT and INPUT_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() and input_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() and input_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() and input_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() and input_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 position
  • input_consume() has been renamed to input_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 point
  • input_xy_quick_pressed() has been renamed to input_check_quick_pressed_2d()
  • input_multiplayer_*() functions have been renamed to input_join_*() to match the name of the source mode
  • INPUT_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 by input_hotswap_params_set()
  • INPUT_MULTIPLAYER_LEAVE_VERB and INPUT_MULTIPLAYER_ABORT_CALLBACK have been replaced by extra arguments in input_join_params_set()
  • input_icons() has been removed and replaced with input_icon_empty() input_icon_not_a_binding() input_icons_gamepad() and input_icons_keyboard_and_mouse()
  • INPUT_VIBRATION_SWITCH_OS_STRENGTH has been renamed to INPUT_VIBRATION_JOYCON_STRENGTH and will now only affect Joy-Cons (and will work cross-platform too)
  • input_gyro_enabled_set(), input_gyro_enabled_get(), and input_gyro_params_set() have been renamed to input_cursor_gyro… to better indicate their usage
  • INPUT_TOUCH_POINTER_ALLOWED has been removed, you may now use the macros in __input_config_general() to configure touch and mouse behavior per-platform
  • input_swap_gamepad_ab() has been removed and replaced with INPUT_SWITCH_SWAP_AB (for use cross-platform for Nintendo-style gamepads) and INPUT_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() and input_player_get_gamepad_type() can now return INPUT_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 (use INPUT_COORD_SPACE.DEVICE instead)
  • input_cursor_previous_x() and input_cursor_previous_y() have been removed (conceptually replaced by input_cursor_dx() and input_cursor_dy())

6.0.2 Beta

02 Jun 10:04
Compare
Choose a tag to compare

Documentation

 

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 and INPUT_DEFAULT_2D_MOST_RECENT to reduce repeated optional argument usage for the associated functions
  • Removes input_swap_gamepad_ab() and replaces it with INPUT_SWITCH_SWAP_AB (for use cross-platform for Nintendo-style gamepads) and INPUT_PS_REGION_SWAP_CONFIRM (which only applies to the PS4 export target specifically)
  • Adds input_keyboard_virtual_show() and input_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() and input_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 live input_controller_object
  • Adds input_verb_get_icon() as an easier alternative to input_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 and INPUT_GAMEPAD_TYPE_JOYCON_LEFT
  • input_source_add(), input_source_set(), and input_source_share() now have an optional exclusive argument to control whether sources are unassigned when calling these functions (this defaults to true to maintain legacy behaviour)
  • Adds input_cursor_limit_boundary() and expands input_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 expanded
  • input_binding_scan_params_set() and getter have been expanded
  • INPUT_DEFAULT_2D_MOST_RECENT and INPUT_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() and input_verbs_groups_get()
  • Adds input_gamepad_map_contains()
  • Adds input_led_pattern_get()
  • Adds input_keyboard_virtual_show() and input_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() and input_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() and input_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 position
  • input_consume() has been renamed to input_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 point
  • input_xy_quick_pressed() has been renamed to input_check_quick_pressed_2d()
  • input_multiplayer_*() functions have been renamed to input_join_*() to match the name of the source mode
  • INPUT_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 by input_hotswap_params_set()
  • INPUT_MULTIPLAYER_LEAVE_VERB and INPUT_MULTIPLAYER_ABORT_CALLBACK have been replaced by extra arguments in input_join_params_set()
  • input_icons() has been removed and replaced with input_icon_empty() input_icon_not_a_binding() input_icons_gamepad() and input_icons_keyboard_and_mouse()
  • INPUT_VIBRATION_SWITCH_OS_STRENGTH has been renamed to INPUT_VIBRATION_JOYCON_STRENGTH and will now only affect Joy-Cons (and will work cross-platform too)
  • input_gyro_enabled_set(), input_gyro_enabled_get(), and input_gyro_params_set() have been renamed to input_cursor_gyro… to better indicate their usage
  • INPUT_TOUCH_POINTER_ALLOWED has been renamed to INPUT_TOUCHSCREEN_USES_MOUSE_SOURCE
  • input_swap_gamepad_ab() has been removed and replaced with INPUT_SWITCH_SWAP_AB (for use cross-platform for Nintendo-style gamepads) and INPUT_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 (use INPUT_COORD_SPACE.DEVICE instead)
  • input_cursor_previous_x() and input_cursor_previous_y() have been removed (conceptually replaced by input_cursor_dx() and input_cursor_dy())

6.0.1 Beta

11 May 18:13
Compare
Choose a tag to compare

Documentation

 

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 live input_controller_object
  • Adds input_verb_get_icon() as an easier alternative to input_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 and INPUT_GAMEPAD_TYPE_JOYCON_LEFT
  • input_source_add(), input_source_set(), and input_source_share() now have an optional exclusive argument to control whether sources are unassigned when calling these functions (this defaults to true to maintain legacy behaviour)
  • Adds input_cursor_limit_boundary() and expands input_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 expanded
  • input_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() and input_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() and input_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 position
  • input_consume() has been renamed to input_verb_consume()
  • input_cursor_elastic_set() now defaults to moving the cursor at the same time as moving the elastic point
  • input_xy_quick_pressed() has been renamed to input_check_quick_pressed_2d()
  • input_multiplayer_*() functions have been renamed to input_join_*() to match the name of the source mode
  • INPUT_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 by input_hotswap_params_set()
  • INPUT_MULTIPLAYER_LEAVE_VERB and INPUT_MULTIPLAYER_ABORT_CALLBACK have been replaced by extra arguments in input_join_params_set()
  • input_icons() has been removed and replaced with input_icon_empty() input_icon_not_a_binding() input_icons_gamepad() and input_icons_keyboard_and_mouse()
  • INPUT_VIBRATION_SWITCH_OS_STRENGTH has been renamed to INPUT_VIBRATION_JOYCON_STRENGTH and will now only affect Joy-Cons (and will work cross-platform too)
  • input_gyro_enabled_set(), input_gyro_enabled_get(), and input_gyro_params_set() have been renamed to input_cursor_gyro… to better indicate their usage
  • INPUT_TOUCH_POINTER_ALLOWED has been renamed to INPUT_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 (use INPUT_COORD_SPACE.DEVICE instead)
  • input_cursor_previous_x() and input_cursor_previous_y() have been removed (conceptually replaced by input_cursor_dx() and input_cursor_dy())

6.0.0 alpha 1

19 Apr 20:36
Compare
Choose a tag to compare
6.0.0 alpha 1 Pre-release
Pre-release

Documentation

 

New Features

  • Input no longer clogs up global namespace
  • input_tick() is dead. Long live input_controller_object
  • Adds input_verb_get_icon() as an easier alternative to input_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 and INPUT_GAMEPAD_TYPE_JOYCON_LEFT
  • Adds input_hotswap_params_set() (and getter)
  • input_multiplayer_params_set() and getter have been expanded
  • input_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() and input_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 position
  • input_consume() has been renamed to input_verb_consume()
  • input_cursor_elastic_set() now defaults to moving the cursor at the same time as moving the elastic point
  • input_multiplayer_*() functions have been renamed to input_join_*() to match the name of the source mode
  • INPUT_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 by input_hotswap_params_set()
  • INPUT_MULTIPLAYER_LEAVE_VERB and INPUT_MULTIPLAYER_ABORT_CALLBACK have been replaced by extra arguments in input_join_params_set()
  • input_icons() has been removed and replaced with input_icon_empty() input_icon_not_a_binding() input_icons_gamepad() and input_icons_keyboard_and_mouse()
  • INPUT_VIBRATION_SWITCH_OS_STRENGTH has been renamed to INPUT_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 (use INPUT_COORD_SPACE.DEVICE instead)

5.6.1

16 Apr 12:19
Compare
Choose a tag to compare
  • Fixes crash when running in HTML5
  • Gamepads now properly reassign when reconnected in mixed and multidevice source modes
  • Adds moveCursor optional argument to input_cursor_elastic_set()
  • Adds exclusive optional argument to input_source_add() input_source_set() input_source_share()
  • Minor improvements to top-down examples, and the gyro test case