:github_url: hide .. _class_Input: Input ===== **Наследует:** :ref:`Object` Синглтон для обработки входных данных. .. rst-class:: classref-introduction-group Описание ---------------- Синглтон **Input** обрабатывает нажатия клавиш, кнопки мыши и движение, геймпады и действия ввода. Действия и их события можно задать на вкладке **Input Map** в **Project > Project Settings** или с помощью класса :ref:`InputMap`. \ **Примечание:** Методы **Input** отражают глобальное состояние ввода и не зависят от :ref:`Control.accept_event()` или :ref:`Viewport.set_input_as_handled()`, поскольку эти методы имеют дело только со способом распространения ввода в :ref:`SceneTree`. .. rst-class:: classref-introduction-group Обучающие материалы -------------------------------------- - :doc:`Указатель документации ввода <../tutorials/inputs/index>` - `2D Dodge The Creeps Демо `__ - `Демоверсия 3D вокселей `__ .. rst-class:: classref-reftable-group Свойства ---------------- .. table:: :widths: auto +----------------------------------------+--------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`emulate_mouse_from_touch` | +----------------------------------------+--------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`emulate_touch_from_mouse` | +----------------------------------------+--------------------------------------------------------------------------------+ | :ref:`MouseMode` | :ref:`mouse_mode` | +----------------------------------------+--------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`use_accumulated_input` | +----------------------------------------+--------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Методы ------------ .. table:: :widths: auto +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_press`\ (\ action\: :ref:`StringName`, strength\: :ref:`float` = 1.0\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_release`\ (\ action\: :ref:`StringName`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_joy_mapping`\ (\ mapping\: :ref:`String`, update_existing\: :ref:`bool` = false\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`flush_buffered_events`\ (\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_accelerometer`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_action_raw_strength`\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_action_strength`\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_axis`\ (\ negative_action\: :ref:`StringName`, positive_action\: :ref:`StringName`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`int`\] | :ref:`get_connected_joypads`\ (\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`CursorShape` | :ref:`get_current_cursor_shape`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_gravity`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_gyroscope`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_joy_axis`\ (\ device\: :ref:`int`, axis\: :ref:`JoyAxis`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_joy_guid`\ (\ device\: :ref:`int`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_joy_info`\ (\ device\: :ref:`int`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_joy_name`\ (\ device\: :ref:`int`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_joy_vibration_duration`\ (\ device\: :ref:`int`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_joy_vibration_strength`\ (\ device\: :ref:`int`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_last_mouse_screen_velocity`\ (\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_last_mouse_velocity`\ (\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_magnetometer`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |bitfield|\[:ref:`MouseButtonMask`\] | :ref:`get_mouse_button_mask`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_vector`\ (\ negative_x\: :ref:`StringName`, positive_x\: :ref:`StringName`, negative_y\: :ref:`StringName`, positive_y\: :ref:`StringName`, deadzone\: :ref:`float` = -1.0\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_joy_light`\ (\ device\: :ref:`int`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_action_just_pressed`\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_action_just_pressed_by_event`\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_action_just_released`\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_action_just_released_by_event`\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_action_pressed`\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_anything_pressed`\ (\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_joy_button_pressed`\ (\ device\: :ref:`int`, button\: :ref:`JoyButton`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_joy_known`\ (\ device\: :ref:`int`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_key_label_pressed`\ (\ keycode\: :ref:`Key`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_key_pressed`\ (\ keycode\: :ref:`Key`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_mouse_button_pressed`\ (\ button\: :ref:`MouseButton`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_physical_key_pressed`\ (\ keycode\: :ref:`Key`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`parse_input_event`\ (\ event\: :ref:`InputEvent`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_joy_mapping`\ (\ guid\: :ref:`String`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_accelerometer`\ (\ value\: :ref:`Vector3`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_custom_mouse_cursor`\ (\ image\: :ref:`Resource`, shape\: :ref:`CursorShape` = 0, hotspot\: :ref:`Vector2` = Vector2(0, 0)\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_default_cursor_shape`\ (\ shape\: :ref:`CursorShape` = 0\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_gravity`\ (\ value\: :ref:`Vector3`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_gyroscope`\ (\ value\: :ref:`Vector3`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`set_joy_light`\ (\ device\: :ref:`int`, color\: :ref:`Color`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_magnetometer`\ (\ value\: :ref:`Vector3`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`should_ignore_device`\ (\ vendor_id\: :ref:`int`, product_id\: :ref:`int`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`start_joy_vibration`\ (\ device\: :ref:`int`, weak_magnitude\: :ref:`float`, strong_magnitude\: :ref:`float`, duration\: :ref:`float` = 0\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`stop_joy_vibration`\ (\ device\: :ref:`int`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`vibrate_handheld`\ (\ duration_ms\: :ref:`int` = 500, amplitude\: :ref:`float` = -1.0\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`warp_mouse`\ (\ position\: :ref:`Vector2`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Сигналы -------------- .. _class_Input_signal_joy_connection_changed: .. rst-class:: classref-signal **joy_connection_changed**\ (\ device\: :ref:`int`, connected\: :ref:`bool`\ ) :ref:`🔗` Издается при подключении или отключении джойстика. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Перечисления ------------------------ .. _enum_Input_MouseMode: .. rst-class:: classref-enumeration enum **MouseMode**: :ref:`🔗` .. _class_Input_constant_MOUSE_MODE_VISIBLE: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_VISIBLE** = ``0`` Делает курсор мыши видимым, если он скрыт. .. _class_Input_constant_MOUSE_MODE_HIDDEN: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_HIDDEN** = ``1`` Делает курсор мыши скрытым, если он виден. .. _class_Input_constant_MOUSE_MODE_CAPTURED: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_CAPTURED** = ``2`` Захватывает мышь. Мышь будет скрыта, а ее положение зафиксировано в центре окна менеджера окон. \ **Примечание:** Если вы хотите обрабатывать движение мыши в этом режиме, вам нужно использовать :ref:`InputEventMouseMotion.relative`. .. _class_Input_constant_MOUSE_MODE_CONFINED: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_CONFINED** = ``3`` Ограничивает курсор мыши окном игры и делает его видимым. .. _class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_CONFINED_HIDDEN** = ``4`` Ограничивает курсор мыши окном игры и делает его скрытым. .. _class_Input_constant_MOUSE_MODE_MAX: .. rst-class:: classref-enumeration-constant :ref:`MouseMode` **MOUSE_MODE_MAX** = ``5`` Максимальное значение :ref:`MouseMode`. .. rst-class:: classref-item-separator ---- .. _enum_Input_CursorShape: .. rst-class:: classref-enumeration enum **CursorShape**: :ref:`🔗` .. _class_Input_constant_CURSOR_ARROW: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_ARROW** = ``0`` Курсор-стрелка. Стандартный, указывающий курсор по умолчанию. .. _class_Input_constant_CURSOR_IBEAM: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_IBEAM** = ``1`` Курсор в виде I-образной линии. Обычно используется для указания того, где появится текстовый курсор при щелчке мыши. .. _class_Input_constant_CURSOR_POINTING_HAND: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_POINTING_HAND** = ``2`` Курсор в виде указывающей руки. Обычно используется для обозначения того, что указатель находится над ссылкой или другим интерактивным элементом. .. _class_Input_constant_CURSOR_CROSS: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_CROSS** = ``3`` Перекрестный курсор. Обычно появляется над областями, в которых можно выполнить операцию рисования или для выделения. .. _class_Input_constant_CURSOR_WAIT: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_WAIT** = ``4`` Курсор ожидания. Указывает, что приложение занято выполнением операции и что оно не может быть использовано во время операции (например, что-то блокирует его основной поток). .. _class_Input_constant_CURSOR_BUSY: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_BUSY** = ``5`` Занятый курсор. Указывает, что приложение занято выполнением операции и что оно все еще может использоваться во время операции. .. _class_Input_constant_CURSOR_DRAG: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_DRAG** = ``6`` Курсор перетаскивания. Обычно отображается при перетаскивании чего-либо. \ **Примечание:** В Windows отсутствует курсор перетаскивания, поэтому :ref:`CURSOR_DRAG` совпадает с :ref:`CURSOR_MOVE` для этой платформы. .. _class_Input_constant_CURSOR_CAN_DROP: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_CAN_DROP** = ``7`` Можно отпустить курсор. Обычно отображается при перетаскивании чего-либо, чтобы указать, что его можно отпустить в текущей позиции. .. _class_Input_constant_CURSOR_FORBIDDEN: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_FORBIDDEN** = ``8`` Запрещенный курсор. Указывает, что текущее действие запрещено (например, при перетаскивании чего-либо) или что элемент управления в позиции отключен. .. _class_Input_constant_CURSOR_VSIZE: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_VSIZE** = ``9`` Вертикальное изменение размера курсора мыши. Двунаправленная вертикальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по вертикали. .. _class_Input_constant_CURSOR_HSIZE: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_HSIZE** = ``10`` Курсор мыши для изменения размера по горизонтали. Двунаправленная горизонтальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по горизонтали. .. _class_Input_constant_CURSOR_BDIAGSIZE: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_BDIAGSIZE** = ``11`` Курсор мыши для изменения размера окна. Курсор представляет собой двунаправленную стрелку, которая идет из нижнего левого угла в верхний правый угол. Он сообщает пользователю, что он может изменять размер окна или панели как по горизонтали, так и по вертикали. .. _class_Input_constant_CURSOR_FDIAGSIZE: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_FDIAGSIZE** = ``12`` Курсор мыши для изменения размера окна. Курсор — это двунаправленная стрелка, которая идет из верхнего левого угла в нижний правый угол, противоположность :ref:`CURSOR_BDIAGSIZE`. Он сообщает пользователю, что он может изменять размер окна или панели как по горизонтали, так и по вертикали. .. _class_Input_constant_CURSOR_MOVE: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_MOVE** = ``13`` Переместить курсор. Указывает, что что-то можно переместить. .. _class_Input_constant_CURSOR_VSPLIT: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_VSPLIT** = ``14`` Вертикальный разделенный курсор мыши. В Windows это то же самое, что :ref:`CURSOR_VSIZE`. .. _class_Input_constant_CURSOR_HSPLIT: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_HSPLIT** = ``15`` Горизонтальный разделенный курсор мыши. В Windows это то же самое, что :ref:`CURSOR_HSIZE`. .. _class_Input_constant_CURSOR_HELP: .. rst-class:: classref-enumeration-constant :ref:`CursorShape` **CURSOR_HELP** = ``16`` Курсор помощи. Обычно вопросительный знак. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания свойств -------------------------------- .. _class_Input_property_emulate_mouse_from_touch: .. rst-class:: classref-property :ref:`bool` **emulate_mouse_from_touch** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_emulate_mouse_from_touch**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_emulating_mouse_from_touch**\ (\ ) Если ``true``, отправляет события ввода мыши при нажатии или пролистывании на сенсорном экране. См. также :ref:`ProjectSettings.input_devices/pointing/emulate_mouse_from_touch`. .. rst-class:: classref-item-separator ---- .. _class_Input_property_emulate_touch_from_mouse: .. rst-class:: classref-property :ref:`bool` **emulate_touch_from_mouse** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_emulate_touch_from_mouse**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_emulating_touch_from_mouse**\ (\ ) Если ``true``, отправляет события сенсорного ввода при щелчке или перетаскивании мыши. См. также :ref:`ProjectSettings.input_devices/pointing/emulate_touch_from_mouse`. .. rst-class:: classref-item-separator ---- .. _class_Input_property_mouse_mode: .. rst-class:: classref-property :ref:`MouseMode` **mouse_mode** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_mouse_mode**\ (\ value\: :ref:`MouseMode`\ ) - :ref:`MouseMode` **get_mouse_mode**\ (\ ) Управляет режимом мыши. .. rst-class:: classref-item-separator ---- .. _class_Input_property_use_accumulated_input: .. rst-class:: classref-property :ref:`bool` **use_accumulated_input** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_use_accumulated_input**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_using_accumulated_input**\ (\ ) Если ``true``, накапливаются похожие события ввода, отправленные операционной системой. Когда накопление ввода включено, все события ввода, сгенерированные во время кадра, будут объединены и отправлены, когда кадр завершит рендеринг. Таким образом, это ограничивает количество вызовов методов ввода в секунду до FPS рендеринга. Накопление ввода можно отключить, чтобы получить немного более точный/реактивный ввод за счет увеличения загрузки ЦП. В приложениях, где требуется рисовать линии от руки, накопление ввода обычно следует отключать, пока пользователь рисует линию, чтобы получить результаты, которые точно соответствуют фактическому вводу. \ **Примечание:** Накопление ввода *включено* по умолчанию. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания метода ------------------------------ .. _class_Input_method_action_press: .. rst-class:: classref-method |void| **action_press**\ (\ action\: :ref:`StringName`, strength\: :ref:`float` = 1.0\ ) :ref:`🔗` Это сымитирует нажатие указанного действия. Силу можно использовать для небулевых действий, она находится в диапазоне от 0 до 1, представляя интенсивность данного действия. \ **Примечание:** Этот метод не вызовет никаких вызовов :ref:`Node._input()`. Он предназначен для использования с :ref:`is_action_pressed()` и :ref:`is_action_just_pressed()`. Если вы хотите симулировать ``_input``, используйте вместо этого :ref:`parse_input_event()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_action_release: .. rst-class:: classref-method |void| **action_release**\ (\ action\: :ref:`StringName`\ ) :ref:`🔗` Если указанное действие уже нажато, это отменит его. .. rst-class:: classref-item-separator ---- .. _class_Input_method_add_joy_mapping: .. rst-class:: classref-method |void| **add_joy_mapping**\ (\ mapping\: :ref:`String`, update_existing\: :ref:`bool` = false\ ) :ref:`🔗` Добавляет новую запись сопоставления (в формате SDL2) в базу данных сопоставления. При желании можно обновить уже подключенные устройства. .. rst-class:: classref-item-separator ---- .. _class_Input_method_flush_buffered_events: .. rst-class:: classref-method |void| **flush_buffered_events**\ (\ ) :ref:`🔗` Отправляет все события ввода, которые находятся в текущем буфере, в игровой цикл. Эти события могли быть буферизованы в результате накопленного ввода (:ref:`use_accumulated_input`) или гибкой очистки ввода (:ref:`ProjectSettings.input_devices/buffering/agile_event_flushing`). Движок уже сделает это сам в ключевых точках выполнения (по крайней мере один раз за кадр). Однако это может быть полезно в сложных случаях, когда вам нужен точный контроль над временем обработки событий. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_accelerometer: .. rst-class:: classref-method :ref:`Vector3` **get_accelerometer**\ (\ ) |const| :ref:`🔗` Возвращает ускорение в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO`. Обратите внимание, что этот метод возвращает пустой :ref:`Vector3` при запуске из редактора, даже если на вашем устройстве есть акселерометр. Вам необходимо экспортировать свой проект на поддерживаемое устройство, чтобы считать значения с акселерометра. \ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_accelerometer`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_action_raw_strength: .. rst-class:: classref-method :ref:`float` **get_action_raw_strength**\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает значение от 0 до 1, представляющее собой необработанную интенсивность данного действия, игнорируя мертвую зону действия. В большинстве случаев вместо этого следует использовать :ref:`get_action_strength()`. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_action_strength: .. rst-class:: classref-method :ref:`float` **get_action_strength**\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает значение от 0 до 1, представляющее интенсивность данного действия. Например, в джойстике, чем дальше ось (аналоговые джойстики или триггеры L2, R2) от мертвой зоны, тем ближе значение будет к 1. Если действие сопоставлено с элементом управления, не имеющим оси, например клавиатурой, возвращаемое значение будет равно 0 или 1. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_axis: .. rst-class:: classref-method :ref:`float` **get_axis**\ (\ negative_action\: :ref:`StringName`, positive_action\: :ref:`StringName`\ ) |const| :ref:`🔗` Получите входные данные оси, указав два действия, одно отрицательное и одно положительное. Это сокращение для записи ``Input.get_action_strength("positive_action") - Input.get_action_strength("negative_action")``. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_connected_joypads: .. rst-class:: classref-method :ref:`Array`\[:ref:`int`\] **get_connected_joypads**\ (\ ) :ref:`🔗` Возвращает :ref:`Array`, содержащий идентификаторы устройств всех подключенных в данный момент джойстиков. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_current_cursor_shape: .. rst-class:: classref-method :ref:`CursorShape` **get_current_cursor_shape**\ (\ ) |const| :ref:`🔗` Возвращает текущую назначенную форму курсора. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_gravity: .. rst-class:: classref-method :ref:`Vector3` **get_gravity**\ (\ ) |const| :ref:`🔗` Возвращает силу тяжести (gravity) в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_gravity`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_gyroscope: .. rst-class:: classref-method :ref:`Vector3` **get_gyroscope**\ (\ ) |const| :ref:`🔗` Возвращает скорость вращения в рад/с вокруг осей X, Y и Z устройства датчика гироскопа, если устройство имеет таковой. В противном случае метод возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Для Android :ref:`ProjectSettings.input_devices/sensors/enable_gyroscope` должен быть включен. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_axis: .. rst-class:: classref-method :ref:`float` **get_joy_axis**\ (\ device\: :ref:`int`, axis\: :ref:`JoyAxis`\ ) |const| :ref:`🔗` Возвращает текущее значение оси джойстика по индексу ``axis``. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_guid: .. rst-class:: classref-method :ref:`String` **get_joy_guid**\ (\ device\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает совместимый с SDL2 GUID устройства на платформах, использующих переназначение геймпада, например, ``030000004c050000c405000000010000``. Возвращает пустую строку, если не может быть найдена. Godot использует `базу данных игровых контроллеров SDL2 `__ для определения имен геймпадов и сопоставлений на основе этого GUID. В Windows все GUID джойстиков XInput будут переопределены Godot на ``__XINPUT_DEVICE__``, поскольку их сопоставления одинаковы. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_info: .. rst-class:: classref-method :ref:`Dictionary` **get_joy_info**\ (\ device\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает словарь с дополнительной платформенно-специфичной информацией об устройстве, например, исходное имя геймпада из ОС или индекс Steam Input. В Windows, Linux и macOS словарь содержит следующие поля: \ ``raw_name``: Имя контроллера, полученное из ОС до переименования базой данных контроллеров. \ ``vendor_id``: Идентификатор поставщика USB-устройства. \ ``product_id``: Идентификатор продукта USB-устройства. \ ``steam_input_index``: Индекс геймпада Steam Input. Если устройство не является устройством Steam Input, этот ключ отсутствует. В Windows словарь может содержать дополнительное поле: \ ``xinput_index``: Индекс контроллера в системе XInput. Этот ключ отсутствует для устройств, не поддерживаемых XInput. \ **Примечание:** Возвращаемый словарь всегда пуст на Android, iOS, visionOS и Web. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_name: .. rst-class:: classref-method :ref:`String` **get_joy_name**\ (\ device\: :ref:`int`\ ) :ref:`🔗` Возвращает имя джойстика по указанному индексу устройства, например, ``PS4 Controller``. Godot использует `Базу данных игровых контроллеров SDL2 `__ для определения имен геймпадов. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_vibration_duration: .. rst-class:: classref-method :ref:`float` **get_joy_vibration_duration**\ (\ device\: :ref:`int`\ ) :ref:`🔗` Возвращает длительность текущего эффекта вибрации в секундах. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_joy_vibration_strength: .. rst-class:: classref-method :ref:`Vector2` **get_joy_vibration_strength**\ (\ device\: :ref:`int`\ ) :ref:`🔗` Возвращает силу вибрации джойстика: x — сила слабого мотора, y — сила сильного мотора. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_last_mouse_screen_velocity: .. rst-class:: classref-method :ref:`Vector2` **get_last_mouse_screen_velocity**\ (\ ) :ref:`🔗` Возвращает последнюю скорость мыши в координатах экрана. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_last_mouse_velocity: .. rst-class:: classref-method :ref:`Vector2` **get_last_mouse_velocity**\ (\ ) :ref:`🔗` Возвращает последнюю скорость мыши. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_magnetometer: .. rst-class:: classref-method :ref:`Vector3` **get_magnetometer**\ (\ ) |const| :ref:`🔗` Возвращает напряженность магнитного поля в микротеслах для всех осей датчика магнитометра устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO`. \ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_magnetometer`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_mouse_button_mask: .. rst-class:: classref-method |bitfield|\[:ref:`MouseButtonMask`\] **get_mouse_button_mask**\ (\ ) |const| :ref:`🔗` Возвращает кнопки мыши как битовую маску. Если одновременно нажато несколько кнопок мыши, биты суммируются. Эквивалентно :ref:`DisplayServer.mouse_get_button_state()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_get_vector: .. rst-class:: classref-method :ref:`Vector2` **get_vector**\ (\ negative_x\: :ref:`StringName`, positive_x\: :ref:`StringName`, negative_y\: :ref:`StringName`, positive_y\: :ref:`StringName`, deadzone\: :ref:`float` = -1.0\ ) |const| :ref:`🔗` Получает входной вектор, указывая четыре действия для положительных и отрицательных осей X и Y. Этот метод полезен при получении векторного ввода, например, с джойстика, навигационной панели, стрелок или WASD. Длина вектора ограничена 1, и он имеет круговую мертвую зону, что полезно для использования векторного ввода в качестве движения. По умолчанию мертвая зона автоматически рассчитывается из среднего значения мертвых зон действий. Однако вы можете переопределить мертвую зону, чтобы она была любой, которую вы хотите (в диапазоне от 0 до 1). .. rst-class:: classref-item-separator ---- .. _class_Input_method_has_joy_light: .. rst-class:: classref-method :ref:`bool` **has_joy_light**\ (\ device\: :ref:`int`\ ) |const| :ref:`🔗` Returns ``true`` if the joypad has an LED light that can change colors and/or brightness. See also :ref:`set_joy_light()`. \ **Note:** This feature is only supported on Windows, Linux, and macOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_action_just_pressed: .. rst-class:: classref-method :ref:`bool` **is_action_just_pressed**\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, когда пользователь *начал* нажатие кнопки действия в текущем кадре или тике физики. Возвращает ``true`` только в том кадре или тике, когда пользователь нажал кнопку. Это полезно для кода, который должен выполняться только один раз при нажатии кнопки действия, а не каждый кадр, пока она нажата. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. \ **Примечание:** Возврат ``true`` не означает, что действие *всё ещё* нажато. Действие можно быстро нажать и отпустить, и ``true`` всё равно будет возвращён, чтобы не пропустить ввод. \ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры, :ref:`is_action_just_pressed()` может возвращать ``false``, даже если нажата одна из клавиш действия. Подробнее см. в разделе `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации. \ **Примечание:** При обработке ввода (например, :ref:`Node._input()`) используйте :ref:`InputEvent.is_action_pressed()` для запроса состояния действия текущего события. См. также :ref:`is_action_just_pressed_by_event()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_action_just_pressed_by_event: .. rst-class:: classref-method :ref:`bool` **is_action_just_pressed_by_event**\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, когда пользователь *начал* нажатие кнопки действия в текущем кадре или такте физики, и первым событием, вызвавшим нажатие кнопки действия в текущем кадре/такте физики, было ``event``. Возвращает ``true`` только в том кадре или такте, когда пользователь нажал кнопку. Это полезно для кода, который должен выполняться только один раз при нажатии кнопки действия, и действие обрабатывается во время обработки ввода (например, :ref:`Node._input()`). Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. \ **Примечание:** Возврат ``true`` не означает, что действие *всё ещё* нажато. Действие можно быстро нажать и отпустить, и при этом ``true`` всё равно будет возвращён, чтобы не пропустить ввод. \ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры :ref:`is_action_just_pressed()` может возвращать ``false``, даже если нажата одна из клавиш действия. Подробнее см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_action_just_released: .. rst-class:: classref-method :ref:`bool` **is_action_just_released**\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, когда пользователь *прекращает* нажатие на событие действия в текущем кадре или такте физики. Возвращает ``true`` только в том кадре или такте, когда пользователь отпускает кнопку. \ **Примечание:** Возвращение ``true`` не означает, что действие *ещё* не нажато. Действие можно быстро отпустить и снова нажать, и ``true`` всё равно будет возвращено, чтобы не пропустить ввод. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. \ **Примечание:** Во время обработки входных данных (например, :ref:`Node._input()`) используйте :ref:`InputEvent.is_action_released()` для запроса состояния действия текущего события. См. также :ref:`is_action_just_released_by_event()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_action_just_released_by_event: .. rst-class:: classref-method :ref:`bool` **is_action_just_released_by_event**\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, когда пользователь *прекращает* нажатие кнопки действия в текущем кадре или такте физики, и первым событием, вызвавшим отпускание кнопки в текущем кадре/такте физики, было ``event``. Возвращает ``true`` только в том кадре или такте, когда пользователь отпускает кнопку. Это полезно, когда действие обрабатывается во время обработки ввода (например, :ref:`Node._input()`). \ **Примечание:** Возврат ``true`` не означает, что действие *ещё* не нажато. Действие можно быстро отпустить и снова нажать, и ``true`` всё равно будет возвращён, чтобы не пропустить ввод. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_action_pressed: .. rst-class:: classref-method :ref:`bool` **is_action_pressed**\ (\ action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете событие действия. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. \ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры :ref:`is_action_pressed()` может возвращать ``false``, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_anything_pressed: .. rst-class:: classref-method :ref:`bool` **is_anything_pressed**\ (\ ) |const| :ref:`🔗` Возвращает ``true``, если нажато какое-либо действие, клавиша, кнопка джойстика или кнопка мыши. Это также вернет ``true``, если какое-либо действие имитируется через код путем вызова :ref:`action_press()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_joy_button_pressed: .. rst-class:: classref-method :ref:`bool` **is_joy_button_pressed**\ (\ device\: :ref:`int`, button\: :ref:`JoyButton`\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете кнопку джойстика с индексом ``button``. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_joy_known: .. rst-class:: classref-method :ref:`bool` **is_joy_known**\ (\ device\: :ref:`int`\ ) :ref:`🔗` Возвращает ``true``, если система знает указанное устройство. Это означает, что она устанавливает все индексы кнопок и осей. Неизвестные джойстики не должны соответствовать этим константам, но вы все равно можете извлекать из них события. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_key_label_pressed: .. rst-class:: classref-method :ref:`bool` **is_key_label_pressed**\ (\ keycode\: :ref:`Key`\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете клавишу с напечатанным на ней ``keycode``. Вы можете передать константу :ref:`Key` или любой код символа Unicode. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_key_pressed: .. rst-class:: classref-method :ref:`bool` **is_key_pressed**\ (\ keycode\: :ref:`Key`\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете латинскую клавишу в текущей раскладке клавиатуры. Вы можете передать константу :ref:`Key`. \ :ref:`is_key_pressed()` рекомендуется только вместо :ref:`is_physical_key_pressed()` в неигровых приложениях. Это гарантирует, что сочетания клавиш ведут себя ожидаемым образом в зависимости от раскладки клавиатуры пользователя, поскольку сочетания клавиш, как правило, зависят от раскладки клавиатуры в неигровых приложениях. Если есть сомнения, используйте :ref:`is_physical_key_pressed()`. \ **Примечание:** Из-за эффекта фантомных нажатий клавиатуры :ref:`is_key_pressed()` может возвращать ``false``, даже если нажата одна из клавиш действия. См. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации для получения дополнительной информации. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_mouse_button_pressed: .. rst-class:: classref-method :ref:`bool` **is_mouse_button_pressed**\ (\ button\: :ref:`MouseButton`\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете кнопку мыши, указанную с помощью :ref:`MouseButton`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_is_physical_key_pressed: .. rst-class:: classref-method :ref:`bool` **is_physical_key_pressed**\ (\ keycode\: :ref:`Key`\ ) |const| :ref:`🔗` Возвращает ``true``, если вы нажимаете клавишу в физическом месте на 101/102-клавишной клавиатуре US QWERTY. Вы можете передать константу :ref:`Key`. \ :ref:`is_physical_key_pressed()` рекомендуется вместо :ref:`is_key_pressed()` для действий в игре, так как он заставит раскладки :kbd:`W`/:kbd:`A`/:kbd:`S`/:kbd:`D` работать независимо от раскладки клавиатуры пользователя. :ref:`is_physical_key_pressed()` также гарантирует, что клавиши с цифрами верхнего ряда будут работать на любой раскладке клавиатуры. Если вы сомневаетесь, используйте :ref:`is_physical_key_pressed()`. \ **Примечание:** Из-за фантомного нажатия клавиатуры :ref:`is_physical_key_pressed()` может возвращать ``false``, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации. .. rst-class:: classref-item-separator ---- .. _class_Input_method_parse_input_event: .. rst-class:: classref-method |void| **parse_input_event**\ (\ event\: :ref:`InputEvent`\ ) :ref:`🔗` Подает :ref:`InputEvent` в игру. Может использоваться для искусственного запуска событий ввода из кода. Также генерирует вызовы :ref:`Node._input()`. .. tabs:: .. code-tab:: gdscript var cancel_event = InputEventAction.new() cancel_event.action = "ui_cancel" cancel_event.pressed = true Input.parse_input_event(cancel_event) .. code-tab:: csharp var cancelEvent = new InputEventAction(); cancelEvent.Action = "ui_cancel"; cancelEvent.Pressed = true; Input.ParseInputEvent(cancelEvent); \ **Примечание:** Вызов этой функции не влияет на операционную систему. Так, например, отправка :ref:`InputEventMouseMotion` не переместит курсор мыши ОС в указанную позицию (используйте вместо этого :ref:`warp_mouse()`), а отправка :kbd:`Alt/Cmd + Tab` в качестве :ref:`InputEventKey` не будет переключать между активными окнами. .. rst-class:: classref-item-separator ---- .. _class_Input_method_remove_joy_mapping: .. rst-class:: classref-method |void| **remove_joy_mapping**\ (\ guid\: :ref:`String`\ ) :ref:`🔗` Удаляет все сопоставления из внутренней базы данных, которые соответствуют данному GUID. Все подключенные в данный момент джойпады, которые используют этот GUID, станут не сопоставленными. На Android Godot будет сопоставлен с внутренним резервным сопоставлением. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_accelerometer: .. rst-class:: classref-method |void| **set_accelerometer**\ (\ value\: :ref:`Vector3`\ ) :ref:`🔗` Устанавливает значение ускорения акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК. \ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_custom_mouse_cursor: .. rst-class:: classref-method |void| **set_custom_mouse_cursor**\ (\ image\: :ref:`Resource`, shape\: :ref:`CursorShape` = 0, hotspot\: :ref:`Vector2` = Vector2(0, 0)\ ) :ref:`🔗` Устанавливает пользовательское изображение курсора мыши, которое отображается только внутри игрового окна для заданной мыши ``shape``. Также можно указать горячую точку. Передача ``null`` в параметр image сбрасывает его до системного курсора. \ ``image`` может быть либо :ref:`Texture2D`, либо :ref:`Image`, а его размер должен быть меньше или равен 256×256. Чтобы избежать проблем с рендерингом, рекомендуются размеры меньше или равны 128×128. \ ``hotspot`` должен быть в пределах размера ``image``. \ **Примечание:** :ref:`AnimatedTexture` не поддерживаются в качестве пользовательских курсоров мыши. При использовании :ref:`AnimatedTexture` будет отображаться только первый кадр. \ **Примечание:** Рекомендуются режимы сжатия **Lossless**, **Lossy** или **Uncompressed**. Режим сжатия **Video RAM** может использоваться, но он будет распакован на ЦП, что означает замедление времени загрузки и отсутствие экономии памяти по сравнению с режимами без потерь. \ **Примечание:** На веб-платформе максимально допустимый размер изображения курсора составляет 128×128. Изображения курсора размером более 32×32 также будут отображаться только в том случае, если изображение курсора мыши полностью расположено на странице по `соображениям безопасности `__. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_default_cursor_shape: .. rst-class:: classref-method |void| **set_default_cursor_shape**\ (\ shape\: :ref:`CursorShape` = 0\ ) :ref:`🔗` Устанавливает форму курсора по умолчанию для использования в области просмотра вместо :ref:`CURSOR_ARROW`. \ **Примечание:** Если вы хотите изменить форму курсора по умолчанию для узлов :ref:`Control`, используйте вместо этого :ref:`Control.mouse_default_cursor_shape`. \ **Примечание:** Этот метод генерирует :ref:`InputEventMouseMotion` для немедленного обновления курсора. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_gravity: .. rst-class:: classref-method |void| **set_gravity**\ (\ value\: :ref:`Vector3`\ ) :ref:`🔗` Устанавливает значение силы тяжести (gravity) акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК. \ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_gyroscope: .. rst-class:: classref-method |void| **set_gyroscope**\ (\ value\: :ref:`Vector3`\ ) :ref:`🔗` Устанавливает значение скорости вращения датчика гироскопа. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК. \ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_joy_light: .. rst-class:: classref-method :ref:`bool` **set_joy_light**\ (\ device\: :ref:`int`, color\: :ref:`Color`\ ) :ref:`🔗` Sets the joypad's LED light, if available, to the specified color. Returns ``true`` if the operation was successful. See also :ref:`has_joy_light()`. \ **Note:** There is no way to get the color of the light from a joypad. If you need to know the assigned color, store it separately. \ **Note:** This feature is only supported on Windows, Linux, and macOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_set_magnetometer: .. rst-class:: classref-method |void| **set_magnetometer**\ (\ value\: :ref:`Vector3`\ ) :ref:`🔗` Устанавливает значение магнитного поля датчика магнитометра. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК. \ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS. .. rst-class:: classref-item-separator ---- .. _class_Input_method_should_ignore_device: .. rst-class:: classref-method :ref:`bool` **should_ignore_device**\ (\ vendor_id\: :ref:`int`, product_id\: :ref:`int`\ ) |const| :ref:`🔗` Запрашивает, следует ли игнорировать устройство ввода или нет. Устройства можно игнорировать, установив переменную среды ``SDL_GAMECONTROLLER_IGNORE_DEVICES``. Прочтите `документацию SDL `__ для получения дополнительной информации. \ **Примечание:** Некоторые сторонние инструменты могут вносить свой вклад в список игнорируемых устройств. Например, *SteamInput* создает виртуальные устройства из физических устройств для целей переназначения. Чтобы избежать обработки одного и того же устройства ввода дважды, исходное устройство добавляется в список игнорируемых. .. rst-class:: classref-item-separator ---- .. _class_Input_method_start_joy_vibration: .. rst-class:: classref-method |void| **start_joy_vibration**\ (\ device\: :ref:`int`, weak_magnitude\: :ref:`float`, strong_magnitude\: :ref:`float`, duration\: :ref:`float` = 0\ ) :ref:`🔗` Начинает вибрировать джойпад. Джойпады обычно поставляются с двумя вибрирующими моторами, сильным и слабым. ``weak_magnitude`` — это сила слабого мотора (от 0 до 1), а ``strong_magnitude`` — это сила сильного мотора (от 0 до 1). ``duration`` — это длительность эффекта в секундах (длительность 0 будет пытаться воспроизводить вибрацию бесконечно). Вибрацию можно остановить заранее, вызвав :ref:`stop_joy_vibration()`. \ **Примечание:** Не все устройства совместимо с длительными эффектами; рекомендуется перезапустить эффект, если его нужно воспроизводить более нескольких секунд. \ **Примечание:** Для macOS вибрация поддерживается только в macOS 11 и более поздних версиях. .. rst-class:: classref-item-separator ---- .. _class_Input_method_stop_joy_vibration: .. rst-class:: classref-method |void| **stop_joy_vibration**\ (\ device\: :ref:`int`\ ) :ref:`🔗` Останавливает вибрацию джойстика, запущенную с помощью :ref:`start_joy_vibration()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_vibrate_handheld: .. rst-class:: classref-method |void| **vibrate_handheld**\ (\ duration_ms\: :ref:`int` = 500, amplitude\: :ref:`float` = -1.0\ ) :ref:`🔗` Вибрировать портативное устройство в течение указанной продолжительности в миллисекундах. \ ``Amplitude`` — это сила вибрации, как значение между ``0.0`` и ``1.0``. Если установлено значение ``-1.0``, используется сила вибрации устройства по умолчанию. \ **Примечание:** Этот метод реализован на Android, iOS и Web. Он не влияет на другие платформы. \ **Примечание:** Для Android :ref:`vibrate_handheld()` требует включения разрешения ``VIBRATE`` в предустановке экспорта. В противном случае :ref:`vibrate_handheld()` не будет иметь никакого эффекта. \ **Примечание:** Для iOS указание продолжительности поддерживается только в iOS 13 и более поздних версиях. \ **Примечание:** Для Web амплитуду изменить нельзя. \ **Примечание:** Некоторые веб-браузеры, такие как Safari и Firefox для Android, не поддерживают :ref:`vibrate_handheld()`. .. rst-class:: classref-item-separator ---- .. _class_Input_method_warp_mouse: .. rst-class:: classref-method |void| **warp_mouse**\ (\ position\: :ref:`Vector2`\ ) :ref:`🔗` Устанавливает положение мыши на указанный вектор, указанный в пикселях и относительно начала координат в верхнем левом углу текущего окна игры диспетчера окон. Положение мыши обрезается до границ разрешения экрана или до границ окна игры, если :ref:`MouseMode` установлен на :ref:`MOUSE_MODE_CONFINED` или :ref:`MOUSE_MODE_CONFINED_HIDDEN`. \ **Примечание:** :ref:`warp_mouse()` поддерживается только в Windows, macOS и Linux. Он не действует на Android, iOS и Web. .. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)` .. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)` .. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)` .. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)` .. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)` .. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)` .. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`