godot/core/os
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
..
dir_access.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
dir_access.h Add symlink API to the DirAccess (on macOS and Linux). 2021-05-22 17:36:16 +03:00
file_access.cpp FileAccess: Don't err in store_buffer with buffer of size 0 2021-06-07 22:36:07 +02:00
file_access.h Make all file access 64-bit (uint64_t) 2021-05-16 17:52:31 +02:00
input.cpp Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
input.h Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
input_event.cpp Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
input_event.h Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
keyboard.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
keyboard.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
main_loop.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
main_loop.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
memory.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
memory.h Fix memfree parameter name 2021-07-13 10:20:03 +02:00
midi_driver.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
midi_driver.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
mutex.cpp Modernize Mutex 2021-02-18 11:58:08 +01:00
mutex.h Modernize Mutex 2021-02-18 11:58:08 +01:00
os.cpp Add frame delta smoothing option 2021-07-14 08:44:31 +01:00
os.h Add frame delta smoothing option 2021-07-14 08:44:31 +01:00
rw_lock.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
semaphore.h Modernize Semaphore 2021-02-18 11:58:08 +01:00
spin_lock.h Replace QuickHull with Bullet's convex hull computer. 2021-05-22 08:16:43 +02:00
thread.cpp Fix thread_local, tls, ASLR, and DEP with MingW 2021-03-25 23:20:12 +01:00
thread.h Fix thread_local, tls, ASLR, and DEP with MingW 2021-03-25 23:20:12 +01:00
thread_safe.h Modernize Mutex 2021-02-18 11:58:08 +01:00
threaded_array_processor.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00