Morph
1c550ff954
Revert "Port citra-emu/citra#5123 : "SDL: Disable hidapi drivers due to compatibility problems with certain controllers""
2021-02-18 11:16:14 -05:00
Morph
723e038dba
Merge pull request #5929 from german77/mousePanning
...
Improve mouse panning
2021-02-16 22:52:35 +08:00
bunnei
86212d4bcd
Merge pull request #3603 from FearlessTobi/port-5123
...
Port citra-emu/citra#5123 : "SDL: Disable hidapi drivers due to compatibility problems with certain controllers"
2021-02-15 16:25:53 -08:00
bunnei
b53b50adec
Merge pull request #4940 from german77/nativeGC
...
HID: Implement GC controller in game
2021-02-15 10:32:19 -08:00
german
594973bdd2
Improve mouse panning
2021-02-13 22:23:32 -06:00
bunnei
e53b6ecc76
Merge pull request #5869 from german77/mousePanning
...
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
Lioncash
a352f34462
udp: Silence unused member variable warnings
...
Simply mark them as unused for now.
2021-02-09 17:38:45 -05:00
Lioncash
cda24b8eb1
udp/client: Define ClientData constructor/destructor in cpp file
...
Prevents compilation errors on clang 12 due to incomplete types within a
unique_ptr member.
2021-02-09 17:36:32 -05:00
german
a994a40467
hid: Implement GC controller
2021-02-07 22:59:46 -06:00
german
52b79ac009
Add mouse panning
2021-02-07 20:31:58 -06:00
german
c9597af39d
Add SL SR vectors, change dual joycon view, add missing raw data from keyboard/mouse
2021-02-06 09:43:42 -06:00
german
481cd86722
Make settings controller image change with controller input
2021-02-06 09:43:41 -06:00
ameerj
ef8b3623f5
analog_from_button: Fix update_thread.join exception
...
This commit aims to address an exception that occurs when trying to join the Analog object's update_thread.
By using an atomic bool for the status of the update thread, we ensure its value is consistent across the threads accessing it.
2021-01-29 18:41:22 -05:00
Morph
5942d206c2
sdl_impl: Set the maximum vibration duration to 1 second
2021-01-23 08:06:07 -05:00
german
b483f2d010
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
8495e1bd83
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
d8df9a16bd
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
Morph
a745d87971
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
bunnei
fb41c82aaa
Merge pull request #5265 from german77/port5509
...
Port citra-emu/citra#5509 "Look at direction of analog axis travel instead of instantaneous sample"
2020-12-30 22:24:30 -08:00
german
aa4c7687ee
Port citra-emu/citra#5509
2020-12-30 22:29:20 -06:00
bunnei
22ba437aa4
Merge pull request #5236 from gal20/udp_client_patch
...
input_common: process udp packets only for the correct pad
2020-12-29 02:51:40 -08:00
gal20
1defd0847a
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
german
80fece4e08
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
Morph
607bb8d14b
Merge pull request #5020 from german77/AnalogfromButtonFix
...
Disable analog joystick from buttons by default
2020-12-08 10:30:21 +08:00
german
b57ba7bfb6
Disable analog joystick from buttons by default
2020-12-07 19:34:52 -06:00
Lioncash
424bffcd3f
mouse_poller: Remove unused includes
2020-12-03 10:41:13 -05:00
Lioncash
16aadcc354
mouse_input: Invert conditional in UpdateYuzuSettings()
...
Allows the struct to be constructed in place.
2020-12-03 10:41:13 -05:00
Lioncash
395997178b
mouse_input: Remove two casts and amend some formatting
...
Removes the use of two static casts and improves the readability of some
vectors slightly.
2020-12-03 10:41:09 -05:00
Lioncash
5842a767a9
mouse_input: Resolve a -Wdocumentation warning
2020-12-03 10:26:50 -05:00
Lioncash
774d7eab64
mouse_input: Remove unused includes
2020-12-03 10:26:30 -05:00
bunnei
25f650e075
Merge pull request #4937 from german77/multiUDP
...
InputCommon: Add multiple udp server support
2020-12-01 11:47:37 -08:00
LC
d39dfdf45c
Merge pull request #5047 from german77/MouseInput
...
InputCommon: Fix implicit conversion in mouse input
2020-12-01 09:40:46 -05:00
german
ece0ae2bfb
Fix implicit conversion in mouse input
2020-11-30 21:48:18 -06:00
bunnei
7bc3e80399
Merge pull request #4939 from german77/MouseInput
...
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
german
e46f0e084c
Implement full mouse support
2020-11-25 23:59:30 -06:00
german
2c2b586d86
Add multiple udp server support
2020-11-25 23:44:41 -06:00
Jan Beich
e48e9a406c
input_common: ignore some Clang warnings after 5c4774e8ce
...
error: unknown warning option '-Werror=unused-but-set-parameter'; did you mean '-Werror=unused-parameter'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Werror=unused-but-set-variable'; did you mean '-Werror=unused-const-variable'? [-Werror,-Wunknown-warning-option]
2020-11-25 23:57:11 +00:00
bunnei
d1da7eb119
Merge pull request #4905 from german77/AnalogFromButton
...
Allow to dial any angle with digital joystick
2020-11-24 16:04:55 -08:00
bunnei
6694e11303
input_common: Fix typo in gc_poller.cpp with [[maybe_unused]].
2020-11-23 21:42:06 -08:00
bunnei
7fb7540d69
input_common: Add more missing [[maybe_unused]] from #4927 .
2020-11-23 20:50:35 -08:00
Lioncash
5c4774e8ce
input_common: Treat warnings as errors
...
Migrates over warnings as errors for input common to match how the
common library treats warnings as errors.
2020-11-22 04:50:03 -05:00
german77
5b6545b141
Modify rumble amplification
2020-11-19 11:30:52 -06:00
bunnei
abda366362
Merge pull request #4866 from Morph1984/mjolnir-p3-prod
...
Project Mjölnir: Part 3 - Controller Profiles and Vibration Rework
2020-11-17 20:02:27 -08:00
Morph
e7e8a87927
sdl_impl: Pump SDL Events at 1000 Hz
2020-11-15 23:33:21 -05:00
Morph
117bdc71e0
sdl_impl: Revert to the "old" method of mapping sticks
...
Not all controllers have a SDL_GameController binding. This caused controllers not present in the SDL GameController database to have buttons mapped instead of axes.
Furthermore, it was not possible to invert the axes when it could be useful such as emulating a horizontal single joycon or other potential cases. This allows us to invert the axes by reversing the order of mapping (vertical, then horizontal).
2020-11-15 23:33:21 -05:00
Morph
30e0d1c973
controllers/npad: Remove the old vibration filter
...
Previously we used a vibration filter that filters out amplitudes close to each other. It turns out there are cases where this results into vibrations that are too inaccurate. Remove this and move the 100Hz vibration filter (Only allowing a maximum of 100 vibrations per second) from sdl_impl to npad when enable_accurate_vibrations is set to false.
2020-11-15 23:33:21 -05:00
Morph
e9e1876e82
input_common: Add VibrationDevice and VibrationDeviceFactory
...
A vibration device is an input device that returns an unsigned byte as status.
It represents whether the vibration device supports vibration or not.
If the status returns 1, it supports vibration. Otherwise, it does not support vibration.
2020-11-15 23:33:20 -05:00
Morph
38110dd485
configure_input: Add per-player vibration
...
Allows for enabling and modifying vibration and vibration strength per player.
Also adds a toggle for enabling/disabling accurate vibrations.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-11-15 23:33:20 -05:00
Morph
9b501af8e3
controllers/npad: Add heuristics to reduce rumble state changes
...
Sending too many state changes in a short period of time can cause massive performance issues.
As a result, we have to use several heuristics to reduce the number of state changes to minimize/eliminate this performance impact while maintaining the quality of these vibrations as much as possible.
2020-11-15 23:33:20 -05:00
Morph
ceb7b11f16
configure_input_player: Change "Defaults" button behavior
...
RestoreDefaults() now restores the selected devices' mappings using UpdateMappingWithDefaults().
This allows us to move the keyboard mapping from RestoreDefaults() to UpdateMappingWithDefaults().
2020-11-15 23:33:20 -05:00
Morph
8ead176639
udp/client: Reduce testing period to 5 seconds
2020-11-15 23:33:19 -05:00
Morph
75eaab2e0f
configure_input_player: Implement input exclusivity and persistence
...
With this, the "Input Devices" combobox should accurately reflect the input device being used and disallows inputs from other input devices unless the input device is set to "Any".
2020-11-15 23:33:19 -05:00
Lioncash
0a50ba3bd1
motion_input: Mark constructor as explicit
2020-11-15 14:20:41 -05:00
Lioncash
cb826bcee7
motion_input: Mark member functions as [[nodiscard]] where applicable
2020-11-15 14:18:09 -05:00
german
f5110340e6
fix minor clang error
2020-11-10 10:38:15 -06:00
german
70df449d0a
Allow to dial any angle with digital joystick
2020-11-08 09:15:33 -06:00
german
5333db91c1
Add hotplug, rumble and fix 3rd party adapters for the GC adapter
2020-10-28 21:12:34 -05:00
Morph
2f852f182a
sdl_impl: Fix controller reconnection issues
...
It turns out that after a controller is disconnected, there is a chance that events from the previous controller are sent/processed after it has been disconnected.
This causes the previously disconnected controller to reappear as connected due to GetSDLJoystickBySDLID() emplacing this controller back to the map.
Fix this by only returning an SDLJoystick if and only if it exists in the map.
2020-10-21 09:41:30 -04:00
LC
ea8345cdcd
Merge pull request #4809 from Morph1984/mjolnir-p3
...
configure_input_player: Fix modifier buttons
2020-10-20 15:00:06 -04:00
bunnei
e03dc4d569
Merge pull request #4627 from Morph1984/fix-dinput-controller-disconnect
...
sdl_impl: Erase the SDLJoystick entry after removing a controller
2020-10-20 11:40:06 -07:00
Morph
ff82f3894a
configure_input_player: Fix modifier buttons
...
Fix them for real this time, now they finally work.
2020-10-20 14:23:25 -04:00
Lioncash
30b1e71066
udp/client: Make use of designated initializers in TestCommunication()
...
Same behavior, but makes the callback list nicer to look at.
2020-10-16 06:23:51 -04:00
Lioncash
36cfb234d5
udp/client: Take std::function by const reference with TestCommunication()
...
Avoids redundant copies.
2020-10-16 06:22:29 -04:00
Morph
7b3f5845d2
sdl_impl: Erase the SDLJoystick entry after removing a controller
...
Previously, disconnecting a controller still leaves a null SDLJoystick entry within the vector of SDLJoysticks mapped by GUID.
When a DirectInput device of the same GUID is reconnected, it adds that device to a new port causing non-detectable input.
Furthermore, opening the "Configure" menu would cause yuzu to crash since it first tries to resolve the name of a null SDLJoystick entry that was not removed.
Resolve this by properly erasing the SDLJoystick entry from the vector.
2020-10-16 00:04:59 -04:00
Lioncash
046c0c91a3
input_common/CMakeLists: Make some warnings errors
...
Makes the input_common code warnings consistent with the rest of the
codebase.
2020-10-15 19:37:51 -04:00
bunnei
f250011ba0
Merge pull request #4757 from german77/BetterMotion
...
InputCommon: Add compatibility with only accelerometer and auto calibrate for drift
2020-10-09 23:37:08 -07:00
bunnei
06e65de93c
Merge pull request #4677 from german77/ShakeFromButton
...
InputCommon: Add random motion input for buttons
2020-10-08 10:18:39 -07:00
bunnei
e9b81e9f01
Merge pull request #4727 from FrogTheFrog/patch-1
...
Reduce the "shake" requirements when configuring UDP.
2020-10-06 15:29:28 -07:00
german
a54aee290f
Address comments
2020-10-04 18:15:53 -05:00
german
a220d8799e
Add compatibility with only accelerometer and auto calibrate for drift
2020-10-03 22:22:01 -05:00
Lukas Senionis
6ee1a784b8
Reduce the "shake" requirements when configuring UDP.
2020-09-30 10:30:33 +03:00
german
ab88c2f611
First implementation of controller rumble
2020-09-29 10:38:25 -04:00
german
2978232390
Add random motion input to keyboard
2020-09-25 17:59:52 -05:00
german
03b574ae22
Add random motion input to SDL
2020-09-25 17:59:52 -05:00
german
c5e257017f
Add automap feature for GC adapter
2020-09-18 16:51:16 -05:00
bunnei
3f6d83b27c
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
ReinUsesLisp
bc8ace9917
gc_adapter: Disable MSVC nonstandard extension warning on libusb.h
...
Pragma disable zero-sized array nonstandard extension warning on MSVC.
2020-09-14 19:38:08 -03:00
Lioncash
c715fc4c5e
gc_adapter: Make DeviceConnected() a const member function
...
This doesn't modify instance state, so it can be made const.
2020-09-07 02:49:13 -04:00
german
797564599f
Minor cleanup
2020-09-05 09:42:21 -04:00
german
6ee8eab670
Add cemu hook changes related to PR #4609
2020-09-04 21:48:13 -05:00
german
0774b17846
Remove RealMotionDevice
2020-09-04 21:48:13 -05:00
german
ff679f3d17
Include HID and configuration changes related to motion
2020-09-04 21:48:03 -05:00
bunnei
3b0fe38e86
Merge pull request #4583 from lioncash/trunc
...
gc_poller: Resolve compilation warnings on MSVC
2020-09-03 20:23:33 -04:00
Morph
45ecd601be
input_common/motion_input: Make use of Common::PI constant
...
Also amend the copyright notice to yuzu's instead of Dolphin's, which was mistakenly copy-pasted from another file.
2020-09-02 11:58:15 -04:00
bunnei
f64917a852
Merge pull request #4570 from german77/motionInput
...
input_common: Add a basic class for motion devices
2020-09-02 11:09:18 -04:00
bunnei
3dcccabd1d
Merge pull request #4382 from FearlessTobi/port-udp-config
...
yuzu: Add motion and touch configuration from Citra
2020-09-01 13:56:37 -04:00
Vitor Kiguchi
e6f9fe1f60
sdl_joystick: disable the use of the hidapi drivers due to many problems caused by them.
...
The main problem is the loss of compatibility with some controllers, but there are also
unwanted changes to the behaviour of PS4 controllers (hardcoded lightbar color).
2020-08-30 05:06:49 +02:00
FearlessTobi
d1e1ea0fef
Address second batch of reviews
2020-08-30 00:43:25 +02:00
FearlessTobi
d176feffad
Address review comments and fix code compilation
2020-08-29 20:56:51 +02:00
FearlessTobi
e6bd1fd1b8
yuzu: Add motion and touch configuration
2020-08-29 18:56:34 +02:00
Lioncash
69fa6b4906
sdl_impl: Reduce allocations in GetButtonMappingForDevice()
...
These maps can be constexpr arrays of std::pair.
2020-08-28 21:24:17 -04:00
Lioncash
f2a680ca89
sdl_impl: Make use of std::move on std::string where applicable
...
Avoids redundant copies.
2020-08-28 21:14:54 -04:00
Lioncash
e92164e6a0
sdl_impl: Make use of insert_or_assign() where applicable
...
Avoids churning ParamPackage instances.
2020-08-28 21:13:26 -04:00
Lioncash
f3ac088345
sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() default arguments
...
We need to add the 'f' suffix to make the right hand side a float and
not a double.
2020-08-28 21:08:08 -04:00
Lioncash
2e2dde2f95
sdl_impl: Simplify make_tuple call
...
The purpose of make_tuple is that you don't need to explicitly type out
the types of the things that comprise said tuple.
Given this just returns default values, we can simplify this a bit.
2020-08-28 21:04:18 -04:00
Lioncash
2680526e6b
sdl_impl: Mark FromEvent() as a const member function
...
This doesn't modify internal member state, so it can be marked as const.
2020-08-28 20:58:49 -04:00
Lioncash
98f5d8a713
input_common/main: Remove unnecessary headers
2020-08-28 19:23:19 -04:00
Lioncash
4b9b203c09
input_common/main: Remove unimplemented prototype
...
I forgot to remove this in the rebase when removing most of the global
variables within the input common codebase.
2020-08-28 19:11:17 -04:00
german
1be18dc110
Fix orientation errors and improve drift correction
2020-08-27 17:19:21 -05:00
german
e6fc3b5662
Address comments
2020-08-27 17:19:21 -05:00