class_inputmap.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the InputMap.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_InputMap:
  6. InputMap
  7. ========
  8. **Inherits:** :ref:`Object<class_Object>`
  9. Singleton that manages :ref:`InputEventAction<class_InputEventAction>`.
  10. Description
  11. -----------
  12. Manages all :ref:`InputEventAction<class_InputEventAction>` which can be created/modified from the project settings menu **Project > Project Settings > Input Map** or in code with :ref:`add_action<class_InputMap_method_add_action>` and :ref:`action_add_event<class_InputMap_method_action_add_event>`. See :ref:`Node._input<class_Node_method__input>`.
  13. Tutorials
  14. ---------
  15. - `#inputmap <../tutorials/inputs/inputevent.html#inputmap>`_ in :doc:`../tutorials/inputs/inputevent`
  16. Methods
  17. -------
  18. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  19. | void | :ref:`action_add_event<class_InputMap_method_action_add_event>` **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)** |
  20. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  21. | void | :ref:`action_erase_event<class_InputMap_method_action_erase_event>` **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)** |
  22. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | void | :ref:`action_erase_events<class_InputMap_method_action_erase_events>` **(** :ref:`String<class_String>` action **)** |
  24. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | :ref:`float<class_float>` | :ref:`action_get_deadzone<class_InputMap_method_action_get_deadzone>` **(** :ref:`String<class_String>` action **)** |
  26. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | :ref:`bool<class_bool>` | :ref:`action_has_event<class_InputMap_method_action_has_event>` **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)** |
  28. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | void | :ref:`action_set_deadzone<class_InputMap_method_action_set_deadzone>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone **)** |
  30. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | void | :ref:`add_action<class_InputMap_method_add_action>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone=0.5 **)** |
  32. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | void | :ref:`erase_action<class_InputMap_method_erase_action>` **(** :ref:`String<class_String>` action **)** |
  34. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`bool<class_bool>` | :ref:`event_is_action<class_InputMap_method_event_is_action>` **(** :ref:`InputEvent<class_InputEvent>` event, :ref:`String<class_String>` action, :ref:`bool<class_bool>` exact_match=false **)** |const| |
  36. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`Array<class_Array>` | :ref:`get_action_list<class_InputMap_method_get_action_list>` **(** :ref:`String<class_String>` action **)** |
  38. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`Array<class_Array>` | :ref:`get_actions<class_InputMap_method_get_actions>` **(** **)** |
  40. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`bool<class_bool>` | :ref:`has_action<class_InputMap_method_has_action>` **(** :ref:`String<class_String>` action **)** |const| |
  42. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | void | :ref:`load_from_globals<class_InputMap_method_load_from_globals>` **(** **)** |
  44. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. Method Descriptions
  46. -------------------
  47. .. _class_InputMap_method_action_add_event:
  48. - void **action_add_event** **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**
  49. Adds an :ref:`InputEvent<class_InputEvent>` to an action. This :ref:`InputEvent<class_InputEvent>` will trigger the action.
  50. ----
  51. .. _class_InputMap_method_action_erase_event:
  52. - void **action_erase_event** **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**
  53. Removes an :ref:`InputEvent<class_InputEvent>` from an action.
  54. ----
  55. .. _class_InputMap_method_action_erase_events:
  56. - void **action_erase_events** **(** :ref:`String<class_String>` action **)**
  57. Removes all events from an action.
  58. ----
  59. .. _class_InputMap_method_action_get_deadzone:
  60. - :ref:`float<class_float>` **action_get_deadzone** **(** :ref:`String<class_String>` action **)**
  61. Returns a deadzone value for the action.
  62. ----
  63. .. _class_InputMap_method_action_has_event:
  64. - :ref:`bool<class_bool>` **action_has_event** **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**
  65. Returns ``true`` if the action has the given :ref:`InputEvent<class_InputEvent>` associated with it.
  66. ----
  67. .. _class_InputMap_method_action_set_deadzone:
  68. - void **action_set_deadzone** **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone **)**
  69. Sets a deadzone value for the action.
  70. ----
  71. .. _class_InputMap_method_add_action:
  72. - void **add_action** **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone=0.5 **)**
  73. Adds an empty action to the ``InputMap`` with a configurable ``deadzone``.
  74. An :ref:`InputEvent<class_InputEvent>` can then be added to this action with :ref:`action_add_event<class_InputMap_method_action_add_event>`.
  75. ----
  76. .. _class_InputMap_method_erase_action:
  77. - void **erase_action** **(** :ref:`String<class_String>` action **)**
  78. Removes an action from the ``InputMap``.
  79. ----
  80. .. _class_InputMap_method_event_is_action:
  81. - :ref:`bool<class_bool>` **event_is_action** **(** :ref:`InputEvent<class_InputEvent>` event, :ref:`String<class_String>` action, :ref:`bool<class_bool>` exact_match=false **)** |const|
  82. Returns ``true`` if the given event is part of an existing action. This method ignores keyboard modifiers if the given :ref:`InputEvent<class_InputEvent>` is not pressed (for proper release detection). See :ref:`action_has_event<class_InputMap_method_action_has_event>` if you don't want this behavior.
  83. If ``exact_match`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
  84. ----
  85. .. _class_InputMap_method_get_action_list:
  86. - :ref:`Array<class_Array>` **get_action_list** **(** :ref:`String<class_String>` action **)**
  87. Returns an array of :ref:`InputEvent<class_InputEvent>`\ s associated with a given action.
  88. **Note:** When used in the editor (e.g. a tool script or :ref:`EditorPlugin<class_EditorPlugin>`), this method will return events for the editor action. If you want to access your project's input binds from the editor, read the ``input/*`` settings from :ref:`ProjectSettings<class_ProjectSettings>`.
  89. ----
  90. .. _class_InputMap_method_get_actions:
  91. - :ref:`Array<class_Array>` **get_actions** **(** **)**
  92. Returns an array of all actions in the ``InputMap``.
  93. ----
  94. .. _class_InputMap_method_has_action:
  95. - :ref:`bool<class_bool>` **has_action** **(** :ref:`String<class_String>` action **)** |const|
  96. Returns ``true`` if the ``InputMap`` has a registered action with the given name.
  97. ----
  98. .. _class_InputMap_method_load_from_globals:
  99. - void **load_from_globals** **(** **)**
  100. Clears all :ref:`InputEventAction<class_InputEventAction>` in the ``InputMap`` and load it anew from :ref:`ProjectSettings<class_ProjectSettings>`.
  101. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  102. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  103. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`