Commit Graph

45 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio 94d6c3dcc6 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.
2023-05-12 15:22:54 -07:00
Rémi Verschelde 0a8d5d7098 Bump version to 3.6-beta 2022-08-05 18:51:38 +02:00
Marcel Admiraal 88c723c33c Ensure minimum modifiers are pressed when matching actions 2022-03-20 08:08:40 +00:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Hugo Locurcio 8d3e16676d
Document keyboard ghosting caveats in Input and InputEvent
This also adds recommendations for choosing between
`is_physical_key_pressed()` and `is_key_pressed()`.

(cherry picked from commit d01e22f187)
2022-01-06 00:21:37 +01:00
Rémi Verschelde 3ac2999f22
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 17:22:47 +01:00
Rémi Verschelde 14c366ddd7
Bump version to 3.5-beta 2021-11-05 16:10:17 +01:00
Álex Román Núñez 43bc8830f1 Fix InputMap.action_erase_event() failing to erase events correctly.
Fixes #52733

(3.x backport of 7104229a85)
2021-09-17 03:08:21 +02:00
Rémi Verschelde f0b37b1519
doc: Point URLs to 3.4 version of the online docs 2021-08-12 17:08:10 +02:00
Rémi Verschelde f5836b40d4
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:20:19 +02:00
EricEzaM 0e5c6e0d55 Allow checking for exact matches with Action events.
Added additional param to action related methods to test for exactness.
If "p_exact_match" is true, then the action will only be "matched" if the provided input event *exactly* matches with the action event.

Before:
* Action Event = KEY_S
* Input Event = KEY_CONTROL + KEY_S
* Is Action Pressed = True

Now:
You can still do the above, however you can optionally check that the input is exactly what the action event is:
* Action Event = KEY_S
* Input Event = KEY_CONTROL + KEY_S
* p_exact_match = True
* Is Action Pressed = False
* If the Input Event was only KEY_S, then the result would be true.

Usage:

```gdscript
Input.is_action_pressed(action_name: String, exact_match: bool)
Input.is_action_pressed("my_action", true)

InputMap.event_is_action(p_event, "my_action", true)

func _input(event: InputEvent):
  event.is_action_pressed("my_action", false, true) # false = "allow_echo", true = "exact_match"
  event.is_action("my_action", true)
```

Co-authored-by: Eric M <itsjusteza@gmail.com>
2021-07-30 15:35:39 +02:00
Rémi Verschelde c3272997cd
doc: Update classref headers with 3.4 version 2021-04-26 13:15:29 +02:00
Rémi Verschelde 015973df04
doc: Make all tutorial links point to 3.3 branch of docs 2021-03-26 10:43:43 +01:00
Rémi Verschelde 1aba997d75
doc: Sync classref with 3.3 version bump 2021-03-23 13:40:34 +01:00
Rémi Verschelde 4287af5148
doc: Make docs.godotengine.org links point to 3.2 branch 2020-10-19 16:10:01 +02:00
Aaron Franke 069ed4ec63
Link to demos from within the class reference
(cherry picked from commit 439be614f4)
2020-10-19 16:10:01 +02:00
Rémi Verschelde 2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Rémi Verschelde ba177ccaec doc: Misc updates for AnimationNode* and others
- Add some missing descriptions.
- Add links to tutorials for ARVR and AnimationTree.
- Style fixes.
- Engine changes:
  * Make `AnimationNodeTransition.input_<number>` properties internal
    so that they don't appear in the docs. They still appear in the
    inspector based on the actual number of inputs requested.
  * Drop unimplemented `CPUParticles.flatness`. It's only used for 3D
    particles in `ParticlesMaterial`, and thus only relevant for
    `CPUParticles3D`.
2020-01-23 12:37:33 +01:00
Hugo Locurcio 9ae73f7bb5
Document how to distinguish emulated mouse events from physical ones
Mouse events emulated from a touchscreen will always have a device ID
of -1.
2019-12-30 15:30:34 +01:00
Rémi Verschelde 9d4e596c69 doc: Sync classref with current source
Fix incomplete binding.
2019-11-08 16:00:01 +01:00
FlamyAT 2046d7b87a
Added missing InputEvent documentation 2019-07-18 12:03:28 +02:00
Rémi Verschelde c6cea6e9b3 doc: Add default values to all properties
Thanks to @bojidar-bg's impressive work in #29380.
2019-06-30 13:58:07 +02:00
Rémi Verschelde bc82781f7d doc: Replace all [code]CONSTANT[/code] by new [constant CONSTANT] hyperlinks 2019-06-27 13:49:36 +02:00
Rémi Verschelde 6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
Rémi Verschelde 63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Rémi Verschelde 39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Ignacio Etcheverry d80bc5cbba ClassRef: Replace [code]CurrentClass[/code] with [CurrentClass]
Modified makerst to generate code tags for these to avoid hyperlinks to the same class.
2019-03-29 23:47:35 +01:00
Rémi Verschelde 8f5d9b6391 doc: Sync classref with current source 2019-03-07 10:54:42 +01:00
Rémi Verschelde 5f8af252e8 doc: Use HTTPS for docs.godotengine.org and point to latest branch
Fixes #23509.
2018-11-05 08:46:27 +01:00
robojumper 98b59cf2a3 Add support for tutorial links to makerst.py
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12 17:40:24 +02:00
Rémi Verschelde 3d9deda8b3 Sync classref with current source 2018-05-12 09:38:00 +02:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
Rémi Verschelde f2e3825616 doc: Fix references to online tutorials after godotengine/godot-docs#1015 2018-01-25 09:03:59 +01:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Juan Linietsky 03475ba197 Filled tutorial field in most relevent classes.
Added tutorial display in doc.
2018-01-15 18:41:13 -03:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Rémi Verschelde 8d03cafd7c doc: Sync classref with current source 2018-01-03 13:45:03 +01:00
Rémi Verschelde 92f07fefcd doc: Remove setters and getters now exposed via properties/members 2017-11-24 18:10:32 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Martin Capitanio 7c3ba6f72b Fix the class docs for the rst-syntax errors.
- Generate a correkt rst-syntax for the [/code] inline markup.
  (http://www.sphinx-doc.org/en/1.6.5/rest.html#inline-markup)
- Fix xml souce bugs

for the sphinx's rst syntax werrors:

class_area.rst:319: WARNING: Inline literal start-string without end-string.
class_area2d.rst:287: WARNING: Inline literal start-string without end-string.
class_audioserver.rst:287: WARNING: Inline literal start-string without end-string.
class_control.rst:509: WARNING: Inline literal start-string without end-string.
class_image.rst:422: WARNING: Inline literal start-string without end-string.
class_image.rst:434: WARNING: Inline literal start-string without end-string.
class_inputevent.rst:74: WARNING: Inline literal start-string without end-string.
class_inputeventaction.rst:45: WARNING: Inline literal start-string without end-string.
class_inputmap.rst:47: WARNING: Inline literal start-string without end-string.
class_kinematicbody.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_kinematicbody2d.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_line2d.rst:182: WARNING: Inline literal start-string without end-string.
class_thread.rst:51: WARNING: Inline literal start-string without end-string.
class_treeitem.rst:160: WARNING: Inline literal start-string without end-string.
2017-11-19 20:47:36 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Jerome67000 0a89b0f767 [DOCS] InputEvent* 2017-10-21 10:04:43 +02:00
Rémi Verschelde a4005221f5 doc: Sync classref with current source
[ci skip]
2017-09-13 08:53:01 +02:00
Juan Linietsky 4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00