Commit Graph

490 Commits

Author SHA1 Message Date
Thaddeus Crews de831fbe91 Merge pull request #39708 from Calinou/add-builtin-fullscreen-toggle
Toggle fullscreen mode when pressing Alt + Enter by default
2026-06-19 12:05:59 -05:00
Nintorch 7b70bd5d58 Add support for joypad touchpads
This PR adds the ability to use touchpads on supported controllers, such as DualShock 4 and DualSense.
Currently there's no InputEvent that gets fired when a finger appears/moves on a touchpad.
2026-06-05 22:29:40 +05:00
Thomas ten Cate 50114457c5 Add Shift+Enter and Shift+KpEnter as default shortcuts for newline
These conflict with `ui_text_completion_replace` (accept autocompletion), but
the latter seems to take precedence if an autocomplete popup is open, so this
still works as expected.

Fixes #119085
2026-04-29 17:36:05 +02:00
Hugo Locurcio 27ae39eedf Toggle fullscreen mode when pressing Alt + Enter by default
Alt + Enter is a widely followed convention to toggle fullscreen.
This adds support for it both in the editor and projects, as long
as the window is configured to be resizable.

The rationale for providing this feature in all projects is that
many developers don't bother about adding a fullscreen toggle,
especially for smaller/gamejam games. Yet, this convention is
followed by many popular games out there, including AAA games.

The shortcut can be modified or disabled by editing the Input Map
in the Project Settings.
2026-04-15 16:53:55 +02:00
Rémi Verschelde 01448cc202 Merge pull request #117464 from Goldenlion5648/stop-autocomplete-eating
Stop autocomplete from eating words by default
2026-03-23 22:34:43 +01:00
Rémi Verschelde 98868393cc Style: Enforce #include validation hook 2026-03-18 10:41:59 +01:00
Goldenlion5648 e6d5e532e9 stop autocomplete from eating words by default 2026-03-15 21:53:28 -04:00
Rémi Verschelde 2dd1f4ef60 Decouple node.h from scene_tree.h, minimize its other includes 2026-03-05 13:54:46 +01:00
Thaddeus Crews bb1e018314 Merge pull request #115119 from Nintorch/joypad-unfocused
Add project setting to ignore joypad events if the app is unfocused
2026-03-04 11:20:39 -06:00
Rémi Verschelde 727b06a79f Move ProcessID typedef out of OS
This allows decoupling a number of files from `os.h`.
2026-03-04 15:00:45 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Nintorch d418d692b9 Project setting to ignore joypads on unfocused app
Co-Authored-By: Christoph Taucher <4498502+chtau@users.noreply.github.com>
2026-03-03 11:03:37 +05:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Thaddeus Crews b5ff3b5e3b Merge pull request #116662 from KoBeWi/make_some_noise
Clean up `_validate_property()` implementations
2026-02-24 09:29:40 -06:00
Thaddeus Crews 811cf1728e Merge pull request #116526 from stuartcarnie/fix_legacy_input_events
Input: Fix action matching for projects saved before device ID change
2026-02-23 11:58:50 -06:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Stuart Carnie f81ee0679a Input: Fix action matching for projects saved before device ID change
Normalize legacy device=0 on keyboard/mouse events when loading
input actions from project settings. Before eadec6c605, these
events defaulted to device=0; now they use DEVICE_ID_KEYBOARD (16)
and DEVICE_ID_MOUSE (32), causing _find_event() mismatches.
2026-02-21 06:27:05 +11:00
Thaddeus Crews 5e10528397 Merge pull request #114895 from Nintorch/is-joy-vibrating
Add support for joypad vibration checking
2026-02-19 20:29:13 -06:00
Nintorch c83c672d61 Add support for joypad vibration checking 2026-02-19 21:34:06 +05:00
Thaddeus Crews ae604e73e0 Merge pull request #116274 from Nintorch/inputevent-keyboard-mouse-ids
Add device IDs to keyboard and mouse input events
2026-02-18 17:28:24 -06:00
Thaddeus Crews bcbdd73ab9 Merge pull request #116418 from oCHIKIo/master
Input: Add SDL `misc2`-`misc6` gamepad button constants
2026-02-18 17:28:16 -06:00
CHIKI Badreddine bea703ae12 Input: Add missing MISC2-MISC6 gamepad button constants
The MISC2-MISC6 button strings are recognized by SDL3 but were not
mapped in Godot's JoyButton enum, causing 'Unrecognized output string'
warnings for controllers that use these buttons.

This adds:
- JoyButton::MISC2-MISC6 enum values (21-25)
- 'misc2'-'misc6' string mappings in _joy_buttons array
- GDScript bindings for JOY_BUTTON_MISC2 through JOY_BUTTON_MISC6
- Documentation entries in @GlobalScope.xml
- Updates JoyButton::SDL_MAX from 21 to 26
2026-02-17 21:12:23 +00:00
Thaddeus Crews 7eedf1846f Merge pull request #105045 from ryevdokimov/fix-load-from-project-settings
Fix issues with `InputMap::load_from_project_settings()` when called in tool script
2026-02-16 15:02:43 -06:00
Rémi Verschelde ed9c865e9b Sync controller mappings DB with SDL community repo
Synced with: https://github.com/mdqinc/SDL_GameControllerDB/commit/c9e695ef7709d9f2e5d8e44e36e27b56b881366f

Clarify that Godot contributors should not interact with the upstream project.
2026-02-16 18:07:03 +01:00
Nintorch eadec6c605 Add device IDs to keyboard and mouse events 2026-02-14 11:28:44 +05:00
Thaddeus Crews 72aeb54f9f Merge pull request #115633 from AThousandShips/fix_invalid_event
[Input] Handle invalid `input/` settings correctly
2026-02-04 11:04:18 -06:00
A Thousand Ships d3924468a4 [Input] Handle invalid input/ settings correctly
This prefix is reserved for events
2026-02-03 15:38:09 +01:00
Thaddeus Crews f3d72eb13a Merge pull request #115266 from Nintorch/fix-joypad-editor-tooltips
Fix editor tooltips disappearing with joypad button presses
2026-02-02 12:57:23 -06:00
Rémi Verschelde 63c78e684b Merge pull request #114165 from KoBeWi/static
Use actual class names in resource type hints
2026-02-02 10:10:24 +01:00
Rémi Verschelde 429750f60b Merge pull request #115093 from Ivorforce/hashmap-explicit-copy
Change copy constructors of `HashMap` and `AHashMap` from implicit to explicit
2026-01-31 22:50:51 +01:00
Robert Yevdokimov bb3c8a0682 Fix issues with InputMap::load_from_project_settings() when called in tool script 2026-01-30 11:13:54 -05:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
Nintorch a3eb202b25 Add support for joypad motion sensors 2026-01-26 15:49:55 +05:00
Nintorch 008266c4fe Fix editor tooltips disappearing with joypads 2026-01-22 18:51:55 +05:00
Lukas Tenbrink 1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
Nintorch 22a4f9fd9c Refactor Input.set_joy_light() 2026-01-11 22:52:40 +05:00
Nintorch d78fdeac13 Fix Android joypad triggers range 2025-12-27 13:35:55 +05:00
carsonuderitz@gmail.com 2fc6e11e31 Fix not releasing action when actions are erased 2025-12-12 16:27:47 +01:00
Rémi Verschelde 40c5b2110e Merge pull request #112995 from zedzee37/touch_window_fix
Fix emulated touch events using the incorrect window ID
2025-12-09 17:16:54 +01:00
Pāvels Nadtočajevs 36521091aa Do not show Physical in the special key names. 2025-12-04 11:30:57 +02:00
Thaddeus Crews 825d0fe94a Merge pull request #113418 from Calinou/inputevent-shortcut-physical-unicode-avoid-nested-parentheses
Avoid nested parentheses in physical/Unicode InputEventKey text conversion
2025-12-03 11:42:22 -06:00
David Snopek 308f23f21d Synchronize the names for RequiredParam<T> arguments in header files 2025-12-03 04:14:52 -06:00
Thaddeus Crews 9f76aa3df5 Merge pull request #113282 from dsnopek/required-ptr-get-out-there
Use `RequiredParam`/`RequiredResult` in some high value places
2025-12-02 20:42:53 -06:00
David Snopek fc92ce3e7f Use RequiredParam/RequiredResult in some high value places 2025-12-02 10:44:12 -06:00
Hugo Locurcio e483d2e2d1 Avoid nested parentheses in physical/Unicode InputEventKey text conversion
This was visible in tooltips displayed in shortcuts, including in the editor itself.

For example, "Forward (W (Physical))" is now displayed as "Forward (W - Physical)".
2025-12-02 16:58:24 +01:00
Rémi Verschelde 3d585df89f Merge pull request #112762 from Benjamin-Dobell/fix/android/dpad-support
Android: Improve D-pad support for Default Android Gamepad.
2025-12-02 14:16:12 +01:00
madsbangh 3fee7c2464 Fix assertions related to buffer overruns in input_event_codec.cpp 2025-11-21 22:55:52 +01:00
carsonuderitz@gmail.com ca45ce91b7 fix emulated touch events using the incorrect window id 2025-11-20 15:26:53 -05:00