summaryrefslogtreecommitdiff
path: root/main/input_default.h
AgeCommit message (Collapse)Author
2019-03-03Add support for event accumlation (off by default, on for editor), fixes #26536Juan Linietsky
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-10Allow to specify a custom strength when calling Input.action_press(), this ↵Davide Baldo
allows virtual axis, mainly for mobile.
2018-10-14Track screen drag speedPedro J. Estébanez
Following the universal input handling effort, this works the same for every platform, as long as the touch move event coming from it contains the relative movement. The same tracking algorithm used to track the mouse speed is used here, but tracking separately each touch index. Fixes #3623.
2018-09-27Fix warnings on non-static data member initializers (C++11 feature)Rémi Verschelde
We're not formally using C++11 yet so those trigger compilation warnings (at least with GCC 5): ./main/input_default.h:122:30: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 CursorShape default_shape = CURSOR_ARROW; ^ Note: We may allow those eventually (especially for non-int static const), but most of current occurrences were inconsistent with all other classes. See also http://www.stroustrup.com/C++11FAQ.html#member-init
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-05-02Merge pull request #17196 from RandomShaper/improve-gui-touchRémi Verschelde
Implement universal translation of touch to mouse (3.1)
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-19Fix Coverity reports of uninitialized scalar variableRémi Verschelde
Fixes most current reports on Coverity Scan of uninitialized scalar variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html These happen most of the time (in our code) when instanciating structs without a constructor (or with an incomplete one), and later returning the instance. This is sometimes intended though, as some parameters are only used in some situations and should not be double-initialized for performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-18Merge pull request #16902 from groud/analog_action_systemJuan Linietsky
Allow actions to provide an analog value
2018-04-16Allow actions to provide an analog valueGilles Roudiere
2018-04-10Implement Input.set_default_cursor_shape to change the default shapeGuilherme Felipe
Closes #18043
2018-04-09Allow set_custom_mouse_cursor use same cursor(image) with different shapes.Guilherme Felipe
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-03Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursorRémi Verschelde
Custom hardware-accelerated mouse cursor
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-17Add implementation for custom hardware cursorGuilherme Silva
2017-09-30Renamed fixed_process to physics_processAndreaCatania
2017-09-20Rename pos to position in user facing methods and variablesletheed
Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-16Synchronize parameter names in definition and declarationTwistedTwigleg
Fixes #10244.
2017-05-20Removal of InputEvent as built-in Variant type..Juan Linietsky
this might cause bugs I haven't found yet..
2017-04-10Rename [gs]et_pos to [gs]et_position for ControlsSergey Pusnei
Control set_pos -> set_position Control set_global_pos -> set_global_position [gs]et_mouse_pos -> [gs]et_mouse_position [gs]et_global_mouse_pos -> [gs]et_global_mouse_position fixes #8005
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-26Input: Remove usage of platform dependent event IDs.Andreas Haas
The ID property for InputEvents is set by `SceneTree` when sending the event down the tree. So there's no need for the platform specific code to set this value when it will later be overriden anyway...
2017-03-22Implement warped mouse panning for 2D & 3D editorsPedro J. Estébanez
Enabled by default as in Blender, but can be disabled separately for 2D & 3D; the core functionality is in Input so this could be reused or even exposed to scripts in the future
2017-03-19Input: bind parse_input_event()Andreas Haas
When using get_tree().input_event(ev), the engine will JUST send the event down the SceneTree. However, you won't get any of the benefits of the Input singleton: - No InputMap actions will be emitted - The internal input state won't be modified, so methods like `Input.get_mouse_pos()` or `Input.is_joy_button_pressed` won't return the expected output after sending the event. This is fixed by using `Input.parse_input_event(ev)` instead. I guess we'll also have to update the docs to reflect that this is the preferred method of sending custom InputEvents.
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-26Better handling of joypad device IDs.Andreas Haas
Now InputDefault is responsible for giving out joypad device IDs to the platform, instead of each platform handling this itself. This makes it possible for c++ modules to add their own "custom" gamepad devices, without the risk of messing up events in case the user also has regular gamepads attached (using the OS code). For now, it's implemented for the main desktop platforms. Possible targets for future work: android, uwp, javascript
2017-01-15Merge pull request #7127 from BastiaanOlij/ios_metersRémi Verschelde
Core motion implementation for iPhone (Accelerometer/Gyro/Magnetometer support)
2017-01-13rename Input.get_mouse_speed() to Input.get_last_mouse_speed()Juan Linietsky
2017-01-12Added support for getting gravity vector from iOSBastiaanOlij
2017-01-08renamed joystick to joypad everywhere around source code!Juan Linietsky
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-09-20Add function to get readable names for joystick eventsAndreas Haas
Closes #6476
2016-09-01-Modified Input and added is_action_just_pressed() as well as ↵Juan Linietsky
is_action_just_released()
2016-07-16Added gyroscope support to Godot and AndroidJamil Halabi
2016-07-05Input: add get_connected_joysticks() method.Andreas Haas
fixes #5465
2016-06-21Set default duration parameter of joystick vibration to 0.Andreas Haas
2016-06-18Add missing license headers in our source files (#5255)Rémi Verschelde
Also removes a couple wrong Godot headers from third-party source files.
2016-06-15Add joystick vibration support on Linux (#5043)Wilhem Barbier
2016-05-27Add magnetometer sensor support for Androidfluffrabbit
2016-02-29use joystick name from mapping-db if availablehinsbart
2016-01-27use fallback mapping from listHondres
2016-01-24can use fallback mapping on all platformshondres
2016-01-24support gamepad remapping on androidhondres
2016-01-22add mappings and increase max number of buttonshondres
2016-01-08Add some joystick functions to input. Enables manipulation of mappings at ↵hondres
runtime
2015-12-18Use tabs instead of spaces for new gamepad codehondres