| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084)
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
|
|\
| |
| |
| | |
Fix physics tick count in `Input.action_press` and `Input.action_release`
|
| |
| |
| |
| | |
The physics tick count was not yet updated there.
|
|\ \
| |/
|/|
| | |
Cleanup Android input on render thread settings
|
| |
| |
| |
| |
| |
| |
| | |
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.
Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
|
|/
|
|
|
|
| |
The counter is now incremented at the start of a physics tick rather than at the end.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
|
|
|
|
|
|
|
| |
uninitialized scalar variable
- Fixes #88630.
- Fixes #92578.
|
|\
| |
| |
| | |
Clean `Input::frame_parsed_events` before de-initialising scripting languages to ensure no script created events exist at the exit.
|
| |
| |
| |
| | |
to ensure no script created events exist at the exit.
|
|/ |
|
|\
| |
| |
| | |
Handle warped mouse motion as floating point
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes certain issues where sub-pixel motions would get discarded while
the mouse is captured, such as when free look is enabled in the editor
(at least when turned on while holding right click).
Very slightly compat breaking, as actual public APIs are changed,
although with "compatible" types (Point2i->Point2).
|
| |
| |
| |
| |
| | |
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| | |
Changed Input.action_press() treatment of strength parameter to match
behavior of InputEventAction and documentation, by clamping between 0
and 1. Fixes Input.get_action_strength() returning values over 1 when
large values are passed to Input.action_press().
|
| | |
|
|/ |
|
| |
|
| |
|
|\
| |
| |
| | |
Add const references detected by clang-tidy
|
| | |
|
|/ |
|
|
|
|
| |
from mouse in input
|
| |
|
| |
|
|\
| |
| |
| | |
Android: Fix joypad trigger value range
|
| |
| |
| |
| |
| |
| | |
`Input::joy_axis` converts trigger values to be between 0.0f to 1.0f by default. This is not needed for Android, as values are already within that range, as per Android documentation: https://developer.android.com/reference/android/view/MotionEvent#AXIS_RTRIGGER
This patch prevents this conversion on Android, which caused L2 and R2 triggers to get stuck pressed. https://github.com/godotengine/godot/issues/79263
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pressed tick assignments were in the wrong scope, resulting in updating
`pressed_frame` even when it shouldn't and therefore the `just_pressed`
would return true every time that the strength changes and not only when
there's a new valid press.
Fixes #81975.
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.
This PR also includes a rebased version of #76045, this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During GDC and general testing on Steam Deck units, we found that single
gamepads would often register inputs twice under certain circumstances.
This was caused by SteamInput creating a new virtual device, which Godot
registers as a second gamepad. This resulted in two gamepad devices
reporting the same button presses, often leading to buggy input response
on games with no multi-device logic and other-wise could cause intended
Steam rebindings to not work as intended (for example, swapping o and x
on a playstation pad if that feature isn't supported by the game.)
SDL gets around this by taking in a list of devices that are to be
ignored. When valve sees a controller that wants to be rebound via
SteamInput, they push a new VID/PID entry onto the environment
variable `SDL_GAMECONTROLLER_IGNORE_DEVICES` for the original gamepad
so that all game inputs can be read from the virtual gamepad instead.
This leverages the same logic as we are already using SDL gamepad
related HID mappings.
|
|
|
|
| |
And ignore some false positives introduced by recent versions of codespell.
|
|\
| |
| |
| | |
Input - fix just pressed and released with short presses
|
| |
| |
| |
| |
| |
| | |
Previously if an action was both pressed and released on the same tick or frame, `is_action_just_pressed()` would return false, resulting in missed input.
This PR separately the timestamp for pressing and releasing so each can be tested independently.
|
|/ |
|
|\
| |
| |
| | |
Augment the `InputEvent` class with a `CANCELED` state
|
| |
| |
| |
| |
| |
| | |
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
|
|/
|
|
| |
ANR in the Godot Android editor
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Some internally created emulated/instantiated events didn't have a
device id. This PR sets for these cases a device id.
Also rename `DEVICE_ID_TOUCH_MOUSE` to the more generic
`DEVICE_ID_EMULATION`.
|
|
|
|
| |
Finally do the childs -> children rename too.
|
|\
| |
| |
| | |
Warn users about unsafe usage of `InputEvent`
|
| | |
|
|\ \
| | |
| | |
| | | |
Make `Input.get_vector()` check for plain `strength` instead of the raw one
|