summaryrefslogtreecommitdiff
path: root/core/input
AgeCommit message (Collapse)Author
2021-08-16Fix input methods returning zero strength when pressed status not requestedMai Lavelle
Fixes behavior of these methods: `InputMap::event_get_action_status` `InputEvent*::action_match` Previously when `p_pressed` was `nullptr`, `p_strength` would be set to `0.0f` regardless of event strength. This affected `InputEventAction` events processed by `Input.parse_input_event` for example. Regression found in afa89c9eea5c99
2021-08-13Style: Cleanup code using `text_editor/completion/use_single_quotes`Rémi Verschelde
2021-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13Improve input event accumulationPedro J. Estébanez
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag. - Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes). - Touch drag events now support accumulation.
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-08-07Fix action_get_events returning booleans instead of InputKey entriesJulien Nguyen
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-22Fix Input get_action_raw_strengthAaron Franke
2021-07-20Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@241fed0a4425d1b7679e3d3d7abdd2a2cd7fa57c.
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-17[HTML5] Add 2 controllers to the godot database.Fabio Alessandrelli
Sony PlayStation DualShock 4 (054c:05c4 first gen). Unofficial Switch controller.
2021-07-06Added EditorInspectorPlugin to aid in editing InputEvents in resources and ↵Eric M
shortcuts
2021-07-02Add `get_dead_zone()` method to `InputMap`Nick H
This commit adds a new method to the `InputMap`, allowing the user to get the value of an action's dead zone as a float.
2021-06-20Use mouse and joypad enums instead of plain integersAaron Franke
Also MIDIMessage
2021-06-20Move many input enums to their own fileAaron Franke
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #48696 from madmiraal/fix-48692Rémi Verschelde
Fix `InputMap.action_erase_event()` failing to erase events correctly.
2021-06-16Documentation search fixesGregory Basile
Updates rich_text_label so that the built-in documentation can be searched Previously, it would only find the first result and would not select other results Renames "_entered" functions to "_submitted"
2021-06-15Added Input_Map entry for backspacing using Shift+BackspaceSpaghettiCoder01
2021-06-13Fix `InputEventJoypadButton::as_text` crash for invalid button indexHaoyu Qiu
2021-06-03Add MOUSE_MODE_CONFINED_HIDDENAaron Franke
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-01Move and expose AutoComplete in CodeEditPaulb23
2021-05-22Add a keyboard shortcut to select the word under cursor in TextEditHugo Locurcio
This also acts as a general-purpose "deselect" shortcut since pressing it a second time will deselect text. This is available both in the script editor and in TextEdit fields in use, both in the editor and projects. The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D since it conflicts with the new shortcut (Ctrl + D). The rationale for doing so is that Duplicate Line is a less commonly used action, and its behavior can be replicated by copying and pasting the current line anyway. (With no selection active, the whole line will be copied.)
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-19Fix InputMap.action_erase_event() failing to erase events correctly.Marcel Admiraal
2021-05-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-17Fix typo in InputEventMIDI stringfox
2021-05-15Make printing of InputEvents consistentMarcel Admiraal
- Removes the undesired spaces before the colon - Adds missing commas between parameters - Adds quotes or brackets to strings - Removes brackets around single values
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-04Rename `doubleclick` to `double_click`Aaron Franke
2021-05-03Add Enter as alternate key to complete codekobewi
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-18Merge pull request #35666 from Calinou/inputmap-nonexistent-suggestionsRémi Verschelde
Print suggestions when requesting a nonexistent InputMap action
2021-04-18Print suggestions when requesting a nonexistent InputMap actionHugo Locurcio
Co-authored-by: Marc Gilleron <marc.gilleron@gmail.com>
2021-04-17Avoid creating joy_names map entries when using Map operator[]Marcel Admiraal
2021-04-06Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@01dce71403e93eb699cc156f3237725863f0105a.
2021-03-23Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@807ac1fbf9352da30ecbef869eced4a5bbf3c13e.
2021-03-23Rename some more global enums (Key, Joy, MIDI)Aaron Franke
2021-03-23Rename ButtonList enum and members to MouseButtonAaron Franke
2021-03-21[HTML5] Logitech Dual Action Gamepad FF/LinuxFabio Alessandrelli
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-02-24Merge pull request #46371 from EricEzaM/PR/fix-osx-inputmap-spammed-errorsRémi Verschelde
Fixed 'nonexistent action' errors spammed at startup on OSX
2021-02-24Fixed 'nonexistent action' errors spammed at startup on OSXEric M
2021-02-24Input: Throw error if action doesn't existLiz Haas
Thow errors if requesting an unexisting InputMap action. Makes `Input.is_action_*` methods consistents with `Event.is_action_*` which already throw errors. fixes #33303
2021-02-22Input: Swap events for ui_redo to favor Shift+Ctrl+Z over Ctrl+YRémi Verschelde
That's the most common one we've been using for the general editor, and while the script editor also supports Ctrl+Y, it should have lower priority. In theory this code should make both be supported the same but for some reason the general editor only seems to use the first entry (the script editor does support both).
2021-02-19doc: Sync classref with current sourceRémi Verschelde
And fix various bogus bindings following previous PRs.
2021-02-18Removed hardcoded shortcuts from /scene and converted to input actionsEric M
This removes hardcoded actions from things like LineEdit and TextEdit. Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.