Commit Graph

184 Commits

Author SHA1 Message Date
Andreas Haas 3bea3256f5
InputDefault: Fix joypad actions when axis quickly changes direction.
The fix (inserting a fake event so actions get released properly) was already there but disregarded the case when the hardware sends values in the [0;1] range.
2017-08-12 20:46:36 +02:00
Juan Linietsky 539fbad919 Restored black bars and custom images instead of black bars, closes #1571 2017-08-07 18:09:13 -03:00
Corruptinator a6b519fe71 OUYA Controller for Version 3.0 input_default.cpp
OUYA Game Controller for the Godot Game Engine version 3.0, allows the
controller to be implemented in the if (ANDROID) part within
input_default.cpp, hopefully fixing the problem that originated from
#9390 on version 2.1.4 BETA as well.
2017-07-11 19:17:28 -07:00
Marcelo Fernandez 2419a4e4ff Fix possible crash in joy_axis (fixes #4944). 2017-06-22 11:52:11 -03:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas 9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Andreas Haas 3204befd1e
Fix InputEvent actions.
The `InputEvent::is_action(pressed|released)` methods weren't implemented yet.
Also fixed a typo in `InputDefault` that prevented `Input.is_action(pressed|released)` from working.
2017-05-27 10:52:57 +02:00
Andreas Haas dbba433b69
Fix echo key event handling. 2017-05-25 23:01:45 +02:00
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
darkoff9 200c84b6b2 Fix joystick crash when mapping is -1 2017-04-10 23:41:47 +02:00
Andreas Haas 31a80ded89
Re-add ouya gamepad mapping.
Also adds yet another type of ps4 controller.
2017-04-10 16:35:12 +02:00
Sergey Pusnei 8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
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-10 08:27:34 +02:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Pedro J. Estébanez 58cd4461d1 Fix warped mouse panning on Linux
Fix/improve it also on certain edge cases for any platform
2017-04-03 02:56:14 +02:00
Andreas Haas b9d606af71
Input: Update Gamepad mappings. 2017-04-02 09:43:37 +02:00
Jordan Patterson 86de80db89
Initialize hat values for mapping and revert X360 mappings. 2017-03-31 13:27:02 +02:00
Andreas Haas c0b6756875
Input: Remove usage of platform dependent event IDs.
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-26 15:59:32 +02:00
Rémi Verschelde 4911555f6c Merge pull request #8137 from Hinsbart/mbutton_pos
Input: Update mouse position on mouse-button events.
2017-03-24 22:53:27 +01:00
Andreas Haas 468719c480
Input: Update mouse position on mouse-button events. 2017-03-24 21:56:39 +01:00
Pedro J. Estébanez f5004b78d0 Implement warped mouse panning for 2D & 3D editors
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-22 21:36:52 +01:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
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-03-05 16:44:50 +01:00
Andreas Haas a175ac7032
Better handling of joypad device IDs.
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-02-26 21:01:31 +01:00
Fabio Alessandrelli 9100db7b94 Keyboard Input modifiers do not block actions.
This means, if you press "F" while holding "shift" and there is and
action registered for "F" that action should be pressed.
This commit restore this behaviour, lost when implementing
is_action_just_pressed.
If you want "blocking modifiers" you should code it via script.

Fixes 6826
2017-01-25 21:21:19 +01:00
Juan Linietsky 3b019bf644 Ability to delete, drag and drop audio buses! 2017-01-23 23:12:41 -03:00
Rémi Verschelde 40323407df Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
2017-01-16 08:48:24 +01:00
Rémi Verschelde d4eb8ec884 Merge pull request #7127 from BastiaanOlij/ios_meters
Core motion implementation for iPhone (Accelerometer/Gyro/Magnetometer support)
2017-01-15 00:08:46 +01:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky a97551902e rename Input.get_mouse_speed() to Input.get_last_mouse_speed() 2017-01-13 19:24:28 -03:00
Juan Linietsky e53c247cb1 Created new Engine singleton, and moved engine related OS functions to it. 2017-01-13 12:51:14 -03:00
BastiaanOlij 5e4dcb3b7f Added support for getting gravity vector from iOS 2017-01-12 16:37:27 +11:00
Andreas Haas d963fa9a01
More fixes to Joypad renaming.
Windows did not compile anymore because DI8DEVTYPE_JOYPAD obviously isn't defined in the directx headers ^^
I also did the same renaming as in #7473 for the windows platform and reverted the changes in the gamepad
mappings.
2017-01-08 23:52:49 +01:00
Juan Linietsky 547a57777b renamed joystick to joypad everywhere around source code! 2017-01-08 17:06:33 -03:00
Rémi Verschelde c7bc44d5ad Welcome in 2017, dear changelog reader!
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!
2017-01-01 22:03:33 +01:00
Rémi Verschelde f0f04d5082 Merge pull request #6862 from Faless/fix_6388
Fix Keyboard Input Hangs when using modifiers
2016-11-11 10:47:10 +01:00
George Marques 411faaa6f4
Rename remaining WinRT references to UWP 2016-11-03 14:51:08 -02:00
George Marques b113c7b7a3
Rename WINRT_ENABLED to UWP_ENABLED 2016-11-03 14:51:08 -02:00
Fabio Alessandrelli 17d7e6a142 Fix Keyboard Input Hangs when using modifiers
Main input parsing loop only update actions for keyboard if the state has changed.
`InputMap::event_is_action` now ignores keyboard modifiers if the event is not pressed.
Clarify difference between `InputMap::action_has_event` and `InputMap::event_is_action` in docs.

Fixes #6388.
2016-10-19 17:52:49 +02:00
Andreas Haas fa502b7ccc
Allow whitespace in Gamepad mappings.
Previously, mappings that contained whitespace (most likely after a comma seperator) would not parse
correctly.
Consider the following mapping as an example:

"_test_guid_, test controller, a:b0, b:b1, leftx:a0 ,"
2016-10-15 17:55:15 +02:00
Rémi Verschelde 73a7b91459 Merge pull request #6568 from Hinsbart/joy_names
Add functions to get readable names for joystick events
2016-09-26 12:45:31 +02:00
Andreas Haas e0fcd9331a
Add function to get readable names for joystick events
Closes #6476
2016-09-20 23:36:09 +02:00
Andreas Haas 84783fe77b
Fix input action pressed state not changing for quick joystick movements.
fixes #6488
Also removes a bunch of dead code related to checking if a joystick axis is pressed.
2016-09-15 19:30:35 +02:00
Juan Linietsky 7a27d5d9e7 Merge pull request #6363 from vnen/winrt
Fix the support for WinRT/UWP
2016-09-10 11:47:42 -03:00
George Marques 365f3d7a6e Merge pull request #6442 from RandomShaper/fix-action-release
Fix Input.action_release() marking action as pressed
2016-09-10 11:12:59 -03:00
Pedro J. Estébanez fae6dbc7f3 Fix Input.action_release() marking action as pressed 2016-09-10 04:57:21 +02:00
Andreas Haas 20bad652ef
x11: fix x360 wireless gamepad mapping.
Uses hat values instead of buttons for the dpad now.
Fixes #6419
2016-09-08 13:54:41 +02:00
George Marques e21702f764
Implement missing WinRT functions
- Fix buildsystem for WinRT/UWP platform.
- Add audio driver and joystick mapping for WinRT.
- Enable thread class for WinRT.
- Refactor MSVC compiler architecture detection to methods.py, so it can
  be used by Windows and WinRT.
2016-09-03 19:28:49 -03:00
Andreas Haas 808bd53934
Update gamepad mappings from community db. 2016-09-02 23:02:57 +02:00
Juan Linietsky 5b96c3a552 -Modified Input and added is_action_just_pressed() as well as is_action_just_released() 2016-09-01 18:59:46 -03:00
Andreas Haas 02a8604906
Fix crash when trying to access the guid of an unavailable Gamepad.
Throws an error now.
2016-08-28 17:14:40 +02:00
Andreas Haas e52567bd29
Fix steam controller gamepad mapping
The left stick click was missing
2016-08-05 15:47:41 +02:00
Andreas Haas ccf6b3151d Add gamepad mapping for the steam controller userspace driver. 2016-07-26 11:54:59 +02:00
Jamil Halabi 370ae3512d Added gyroscope support to Godot and Android 2016-07-16 01:43:32 +08:00
punto- bba89aef3b Merge pull request #5559 from Hinsbart/connected_joysticks
Input: add get_connected_joysticks() method.
2016-07-10 14:00:27 -03:00
Andreas Haas 45cfd199a4
Input: add get_connected_joysticks() method.
fixes #5465
2016-07-05 14:08:02 +02:00
Andreas Haas 91add16300 Can use AtlasTextures as custom mouse cursor.
fixes #3957
2016-07-03 19:36:12 +02:00
Wilhem Barbier 913e3206db Fix the joystick vibration timestamp 2016-06-20 09:57:23 +02:00
Rémi Verschelde 57e1387199 Merge pull request #5225 from Hinsbart/x_rumble
Windows: Support gamepad vibration using XInput.
2016-06-19 12:59:18 +02:00
Rémi Verschelde a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Andreas Haas 0e8b860048 Windows: Support gamepad vibration using XInput. 2016-06-15 14:40:57 +02:00
Wilhem Barbier f665200df7 Add joystick vibration support on Linux (#5043) 2016-06-15 07:25:35 +02:00
Andreas Haas 3d0b390457 Update gamepad mappings.
Merge mappings from https://github.com/gabomdq/SDL_GameControllerDB
2016-06-14 02:32:30 +02:00
fluffrabbit 4877b714b3
Add magnetometer sensor support for Android 2016-05-27 14:36:55 -03:00
Hinsbart d6cd5108e3 Fix ds3 gamepad mapping 2016-05-04 00:21:32 +02:00
hinsbart 0022af9647 use joystick name from mapping-db if available 2016-02-29 16:48:19 +01:00
Krzysztof Jankowski 6b6ce35e78 OUYA gamepad mappings fix
Fix gamepad mappings for OUYA revision 4
2016-02-25 17:24:57 +01:00
Dana Olson 7efb45e0db added more Android gamepad mappings 2016-02-24 00:40:27 -05:00
Dana Olson 862c56c004 added a couple more Linux mappings, tweaked Ouya Linux mapping 2016-02-23 11:37:32 -05:00
hondres 9134ec942e fix is_joy_mapped return value 2016-02-16 23:23:06 +01:00
hondres 04f7c32847 fix joystick axis handling for Input.is_action_pressed() 2016-02-15 22:26:20 +01:00
hondres 8e359963b6 x11: analog triggers for ps4 gamepad 2016-02-14 00:03:53 +01:00
punto- b6b33e8886 Merge pull request #3428 from Hinsbart/android-gamepad
support gamepad remapping on android
2016-02-08 20:09:02 -03:00
Dana Olson d1aacb8f33 added more gamepad mappings 2016-02-01 12:24:19 -05:00
Hondres e7b6e3f20b use fallback mapping from list 2016-01-27 12:18:34 +01:00
hondres 4d17eca504 clear joystick state on disconnection 2016-01-26 04:40:04 +01:00
hondres 285bcac224 can use fallback mapping on all platforms 2016-01-24 18:01:37 +01:00
hondres e7c920fdba support gamepad remapping on android 2016-01-24 05:29:09 +01:00
hondres 1ad6ca0a81 add mappings and increase max number of buttons 2016-01-22 22:56:05 +01:00
Hinsbart 77858b66d3 html5 gamepad support 2016-01-21 02:30:24 +01:00
hondres c632c13c66 Add some joystick functions to input. Enables manipulation of mappings at runtime 2016-01-08 00:40:41 +01:00
hondres 117ae93cf1 Analog values for gamepad triggers, using axes 6 & 7 2016-01-02 03:34:32 +01:00
Ariel Manzur 5f1ae5eac2 fix debouncing in axis buttons 2015-12-20 11:33:29 -03:00
hondres 87dab29f4b Use tabs instead of spaces for new gamepad code 2015-12-18 19:15:32 +01:00
hondres af633c7941 Better gamepad support 2015-12-18 06:12:53 +01:00
Juan Linietsky 82a3304458 Added ability to set custom mouse cursors. Not hardware accelerated yet. 2015-09-24 18:06:15 -03:00