Rodrigo Locatti
d4cab35533
input_common: Fix data race on GC implementation
2021-08-07 16:46:26 -05:00
bunnei
dff438e219
Merge pull request #6654 from german77/custom_threshold
...
input_common: Make button threshold customizable
2021-07-21 20:31:33 -04:00
bunnei
29fb110049
Merge pull request #6649 from german77/toggle_sdl
...
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
Nicolas Jallamion
6573ff64b4
input/sdl_impl: fix rumble support on DualSense. ( #6683 )
...
- value return can be different 0, is not error is normal, error is only -1.
2021-07-20 04:00:07 -04:00
bunnei
ffc78ce9c1
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
...
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
german77
14d5202da6
input_common: Fix mouse panning behaivour
2021-07-16 18:57:29 -05:00
lat9nq
f785933125
sdl_impl, emu_window: Remove clang ignore
...
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
2021-07-16 15:43:12 -04:00
german77
240019feca
input_common: Make button threshold customizable
2021-07-15 23:56:57 -05:00
bunnei
3cd3230295
Merge pull request #6579 from ameerj/float-settings
...
settings: Eliminate usage of float-point setting values
2021-07-15 18:03:11 -04:00
german77
c7478642a6
input_common: Support SDL toggle buttons
2021-07-15 14:31:58 -05:00
german77
289f59dabd
input_common: Fix build with sdl disabled
2021-07-10 20:02:02 -05:00
ameerj
0ed1077763
configure_input: Use u8 for mouse sensitivity
2021-07-08 23:24:31 -04:00
Ameer J
5edc96f4a4
Merge pull request #6539 from lat9nq/default-setting
...
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
lat9nq
a949ee0410
general: Code formatting improvements
...
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-07-08 14:07:10 -04:00
Morph
ebb82b0b83
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
...
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
bunnei
bf50345d4c
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
german77
c19ec2edd9
input_common: Add missing modifier callback to analog from button
2021-07-05 11:39:42 -05:00
lat9nq
0e5c74bc9e
core, input_common: Miscellaneous fixes
...
bcat: Fix settings access
telemetry_session: Fix settings accesses
So this is what I get for testing with the web service disabled.
touch_from_button: Fix settings access for clang
2021-06-28 20:56:17 -04:00
lat9nq
b91b76df4f
general: Make most settings a BasicSetting
...
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
954259312e
input_common: Remove #pragma warning directives for external headers
2021-06-28 14:20:25 -04:00
Morph
58550cfcdc
input_common: Enforce C4242
2021-06-28 14:20:25 -04:00
Chloe
f216a9432b
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
Rodrigo Locatti
0a39163a90
input_common/mouse_input: Fix data race
...
Fix data race using std::jthread and std::stop_token.
2021-06-22 02:31:39 -03:00
bunnei
c1b8e59ea0
Merge pull request #6407 from lat9nq/fix-libusb-2
...
cmake: Use autotools for libusb linking generally on GNU, and cleanup
2021-06-10 23:35:30 -07:00
bunnei
1d1f616063
Merge pull request #6389 from german77/Analog_button_fix
...
input_common: Analog button, use time based position
2021-06-03 21:06:38 -07:00
lat9nq
ddc47e6df8
cmake: General improvements to libusb linking
...
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
2021-06-03 03:49:35 -04:00
bunnei
348ca07e0d
Merge pull request #6318 from german77/dualJoycon
...
input_common: Add dual joycon support
2021-06-01 00:51:00 -07:00
german77
a323bc5af8
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
bunnei
aee3b57c44
Merge pull request #6312 from german77/analogMapping
...
input_common: Rewrite sdl analog mapping and fix controller disconnection crash
2021-05-24 12:02:37 -07:00
german77
ea4b7226a6
input_common: Add dual joycon support
2021-05-22 18:40:53 -05:00
bunnei
41b1f8d616
Merge pull request #6310 from german77/nanMotion
...
input_common: Sanitize motion data
2021-05-19 15:47:48 -07:00
german77
f20f4587e6
input_common: Implement SDL motion
2021-05-15 08:56:58 -05:00
german77
edd498f6e0
input_common: Fix crash when controller disconnects
2021-05-15 08:27:19 -05:00
german77
85eeae7aad
input_common: Rewrite sdl analog mapping
2021-05-14 21:17:08 -05:00
german77
fd7c273fab
input_common: Sanitize motion data
2021-05-13 13:41:32 -05:00
german77
6e81473574
input_common: Release mouse buttons on out of focus
2021-05-02 19:08:33 -05:00
bunnei
aab57b7975
Merge pull request #6243 from german77/GCresetOrigin
...
input_common: Reset GC sticks center by measuring multiple packets
2021-04-30 12:02:05 -07:00
german77
729545a946
input_common: Reset GC sticks center by measuring multiple packets
2021-04-26 18:34:00 -05:00
german77
c19ad21ae8
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-23 22:12:41 -05:00
lat9nq
f973274b99
general: Ignore implicit-fallthrough for SDL.h
...
SDL 2.0.14 introduces an incompatibility with Clang, causing it to
trigger -Wimplicit-fallthrough even though it is marked. Ignore it for
now, with a comment mentioning why this is needed.
2021-04-18 01:31:26 -04:00
lat9nq
de69a5266f
cmake: Use SDL 2.0.14 and fix CMake scope issue
...
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds
a message when switching to the external.
Fixes an error where input_common only links to SDL when SDL2_FOUND is
set, but externals/CMakeLists cannot set that variable to the required
scope. Switch to using ENABLE_SDL2, which we can use since we now
include the SDL source.
2021-04-17 23:42:57 -04:00
bunnei
0a5bc8ec14
Merge pull request #6119 from german77/SDLMapping
...
InputCommon: Address mapping and naming issues with SDL2
2021-04-15 21:40:35 -07:00
bunnei
a4c6712a4b
common: Move settings to common from core.
...
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
german77
bb3dce9363
Use a single connection for UDP server, make connection test longer and check all pads instead of only the first one
2021-03-30 22:17:08 -05:00
german77
d9db1d125e
InputCommon: Name properly xbox 360 and one controllers, Fix mappings for Nintendo Pro controllers
2021-03-30 21:40:36 -05:00
bunnei
827dcad26e
Merge pull request #6040 from german77/toggleKeyboard
...
Enable toggle buttons for keyboard and mouse
2021-03-11 11:00:44 -08:00
bunnei
9c4c9f1e7d
Merge pull request #5990 from german77/mousePanningV2
...
InputCommon: Mouse fixes
2021-03-08 14:50:58 -08:00
german77
41e94b7b99
Enable mouse toggle buttons
2021-03-06 13:27:02 -06:00
german
1f228c51ca
Enable button toggle for keyboard in the modifier button
2021-03-05 19:21:04 -06:00
german
9b3af0027b
inputCommon: Use an unique client id for each socket instance
2021-03-01 09:19:33 -06:00
german77
4738e14cb0
inputCommon: Mouse fixes
2021-02-27 17:53:10 -06:00
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