Morph
6cf076534e
Merge pull request #7774 from lioncash/mapping
...
input_common/main: Pass MappingData by const reference in callbacks
2022-01-25 16:15:45 -05:00
Lioncash
18c2bd5c12
input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state
...
The default constructor of a UUID instance doesn't initialize the
underlying array.
2022-01-24 11:57:48 -05:00
Lioncash
f02a9e4d81
input_common/input_mapping: Simplify UUID validity checks
...
Makes the checks a little more intuitive to read and doesn't construct
an extra UUID instance
2022-01-24 11:49:52 -05:00
Lioncash
04a33bc652
input_common/input_mapping: Add missing includes
...
Ensures that the class always sees the types it needs.
2022-01-24 11:49:31 -05:00
Lioncash
cec9e4ec77
input_common/input_mapping: Remove const from return value
...
Top-level const on a return by value can inhibit move semantics, and is
unnecessary.
2022-01-24 11:39:20 -05:00
Lioncash
5f80c764b0
input_common/input_mapping: Default constructor
2022-01-24 11:37:48 -05:00
Lioncash
1bd76dcb77
input_common/main: Pass MappingData by const reference in callbacks
...
Avoids creating unnecessary 168 byte copies per callback invocation.
2022-01-24 11:31:43 -05:00
Lioncash
feb5b56356
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
...
These are deprecated and make_address variants and to_uint() should be used instead.
2022-01-24 11:14:30 -05:00
Lioncash
de967b3967
input_common/udp_client: Prevent unnecessary string copies
...
We can also remove some redundant const on the return values, since
these don't do anything
2022-01-24 10:58:25 -05:00
german77
1fca7203d3
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
bunnei
3ac7342b48
Merge pull request #7735 from german77/udp_battery
...
input_common: Report battery for UDP controllers
2022-01-22 01:28:14 -08:00
bunnei
fd18ae4979
Merge pull request #7715 from gidoly/patch-4
...
Xbox controller default name nit pick
2022-01-18 21:14:30 -08:00
bunnei
94d7a0de6f
Merge pull request #7725 from german77/mouse_in_motion
...
input_common: Reintroduce motion from mouse and use button names
2022-01-18 18:16:27 -08:00
Narr the Reg
527a74f48b
input_common: Report battery for UDP controllers
2022-01-17 13:30:15 -06:00
Mai M
d3066b30ea
Merge pull request #7730 from v1993/patch-6
...
input_common: nitpick about SetHatButton usage
2022-01-17 13:43:34 -05:00
Valeri
ffc1f4df39
input_common: nitpick about SetHatButton usage
2022-01-17 12:04:38 +03:00
Valeri
e3ee079aa4
input_common: fix copy-paste error
...
Found by static analysis with PVS-Studio.
2022-01-17 11:31:38 +03:00
german77
991460cd98
input_common: Reintroduce motion from mouse and use button names
2022-01-16 20:37:34 -06:00
gidoly
3465aa5d57
Xbox controller default name nit pick
...
Discord User moon lacer pointed us that official name is 'Xbox' not 'XBox'
2022-01-16 05:59:31 +09:00
gidoly
ede1976820
Change default name for ps controllers
...
Minor nitpick
Code is from narr
2022-01-15 10:29:42 +09:00
bunnei
5d1080d2a8
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
Morph
45f4600a4e
Merge pull request #7687 from german77/tas_handle
...
input_common: Handle errors on TAS scripts
2022-01-09 16:43:06 -08:00
bunnei
7f49c22fc4
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
german77
b6c23d1633
input_common: Handle errors on TAS scripts
2022-01-08 12:27:16 -06:00
german77
0e1d2581b7
input_common: Fix udp motion not automapping to both sides
2022-01-07 16:56:36 -06:00
german77
353317f31e
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
10439bbfff
input_common: Use accelerometer data for mapping
2022-01-06 20:05:49 -06:00
bunnei
aa1ec63508
Merge pull request #7302 from VPeruS/check-deadlock
...
[input_common] Fixed thread hang
2021-12-17 23:43:19 -08:00
vperus
e1250d7303
[input_common] Move variable declaration closer to usage
...
MSVC supplied with VS2022 generates "warning C4189: 'CALIBRATION_THRESHOLD':
local variable is initialized but not referenced" which is treated as an
error.
Circumvent it by moving constexpr variable directly into body of lambda function.
2021-12-17 20:51:47 +02:00
Narr the Reg
8222f70144
Merge pull request #7581 from lioncash/input-iface
...
common/input: Avoid numerous large copies of CallbackStatus
2021-12-14 19:10:39 -06:00
Narr the Reg
a980d24a54
Merge pull request #7577 from v1993/patch-2
...
input/SDL: Update SDL hints
2021-12-14 10:12:17 -06:00
Valeri
af37388ee5
input/SDL: Update SDL hints
...
SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED is no longer needed thanks to new default in SDL 2.0.18.
SDL_HINT_JOYSTICK_HIDAPI_XBOX is reported to cause conflicts with native driver Xbox driver on Linux, and Xbox controllers don't benefit from hidapi anyways.
2021-12-14 15:02:03 +03:00
Lioncash
726de453bb
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
2021-12-13 21:22:02 -05:00
Lioncash
3dbb700714
input_poller: Add missing override specifiers
2021-12-13 20:41:17 -05:00
Lioncash
46c7e48143
input_mapping: Amend specification of parameters
...
param tags are supposed to specify the parameter name without any
quoting.
Silences several -Wdocumentation warnings.
2021-12-13 20:31:59 -05:00
Lioncash
c73ebb7d89
input_poller: Remove several unnecessary @param tags
...
Silences quite a bit of -Wdocumentation warnings, given the @param tag
is only intended to be used to identify function parameters, not what it
contains.
2021-12-13 20:28:30 -05:00
bunnei
7347d2e33f
Merge pull request #7575 from lioncash/input
...
input_engine: Minor object churn cleanup
2021-12-13 16:50:54 -08:00
Lioncash
f63a50ce9d
tas_input: Avoid minor copies in Read/WriteCommandButtons()
...
We don't need to copy the whole pair
2021-12-13 11:45:19 -05:00
Lioncash
bac72cecf9
tas_input: Remove unnecessary semicolon
...
Resolves a -Wextra-semi warning
2021-12-13 11:45:19 -05:00
Lioncash
6a9fe940d2
tas_input: Execute clear() even if empty
...
clear() when empty is simply a no-op, so we can get rid of the check
here and let the stdlib do it for us.
2021-12-13 11:45:18 -05:00
Lioncash
8b6137eb79
tas_input: Remove unnecessary includes
...
Gets rid of indirect includes and includes only what the interface
needs.
2021-12-13 11:45:18 -05:00
Lioncash
4284fe0d78
tas_input: std::move strings into vector
...
While we're in the same area, we can also avoid performing std::stoi in
a loop when it only needs to be performed once.
2021-12-13 11:45:15 -05:00
Lioncash
c12653670c
tas_input: Use istringstream over stringstream
...
This is only using the input facilities, so we don't need to use the
fully-fleged stringstream.
2021-12-13 10:57:53 -05:00
Lioncash
4dce3a6cf4
tas_input: Use u8string_view instead of u8string
...
Same behavior, but without the potential for extra allocations.
2021-12-13 10:54:43 -05:00
Lioncash
b2c94d8cd4
tas_input: Remove unused std::smatch variable
...
This also means we can get rid of the dependency on <regex>
2021-12-13 10:50:24 -05:00
Lioncash
f1ff42541a
tas_input: Amend -Wdocumentation warnings
...
Parameters shouldn't have the colon by their name.
2021-12-13 10:49:11 -05:00
Lioncash
a82bb17b08
tas_input: Make TasAxes enum an enum class
...
Prevents these values from potentially clashing with anything in other
headers.
2021-12-13 10:41:32 -05:00
Lioncash
71467b1383
input_engine: Fix typo in TriggerOnAxisChange() parameter name
2021-12-13 10:21:37 -05:00
Lioncash
e609218c0f
input_engine: Simplify PreSet* family of functions
...
We can make use of try_emplace() to insert values only if they don't
already exist.
2021-12-13 10:18:04 -05:00
Lioncash
14f7f35957
input_engine: Avoid redundant map lookups
...
We can use iterators to avoid looking up into maps twice in the getter
functions.
At the same time we can also avoid copying the ControllerData structs,
since they're 264 bytes in size.
2021-12-13 09:57:51 -05:00
Lioncash
e7c5737e2e
input_engine: Remove left-over namespace qualifiers
...
These types are part of the InputCommon namespace.
2021-12-13 09:57:51 -05:00
Lioncash
f8db0a76af
input_engine: Iterate by reference rather than by value where applicable
...
Avoids creating copies of several object instances (some of which being
over 100 bytes in size).
2021-12-13 09:57:51 -05:00
Lioncash
190cfc5997
input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange()
...
Copies the BasicMotion instance once instead of twice.
2021-12-13 09:57:39 -05:00
Lioncash
e0e9f98fc6
input_engine: std::move InputIdentifier in SetCallback()
...
Allows avoiding std::function allocations.
2021-12-13 09:23:23 -05:00
Lioncash
cd45635f56
input_engine: Pass LedStatus by const reference
...
Avoids copies where reasonably applicable
2021-12-13 09:20:58 -05:00
Lioncash
f41c22d30f
input_engine: Pass VibrationStatus by const reference in SetRumble()
...
Avoids creating copies of the struct where not necessary.
2021-12-13 09:16:10 -05:00
Lioncash
54e164d9de
input_engine: std::move engine name where applicable
...
We can allow the name to be moved into, allowing allocations to be
avoided.
2021-12-13 09:05:50 -05:00
Lioncash
d62545828a
input_engine: Remove callback clearing in constructor
...
The callback map is a member variable, so this will always be empty on
initial construction.
2021-12-13 08:54:23 -05:00
Lioncash
7e34562d34
input_engine: Remove unnecessary semi-colons
...
Silences -Wextra-semi warnings
2021-12-13 08:53:01 -05:00
Lioncash
caae5d3868
input_engine: Remove unnecessary return
...
This is a void function, so it doesn't need this.
2021-12-13 08:52:09 -05:00
Narr the Reg
48537c07cd
input_common: Fix error with thread name
2021-11-29 22:03:47 -05:00
vperus
e899505921
Revert of 1dabf6d
...
Caused worker_thread to be stuck in Stage1Completed state until job's destruction.
2021-11-29 16:37:11 +02:00
vperus
bd95c199bc
[input_common] Add completion test for CalibrationConfigurationJob
2021-11-29 16:33:12 +02:00
Narr the Reg
7b56b2cab6
input_common: Fully implement UDP controllers
2021-11-26 15:46:36 -06:00
german77
b8b849dc2e
input_common: Move button names to the frontend
2021-11-24 20:30:28 -06:00
german77
bc9641614d
input_common: Fix SDL controller with inverted axis
2021-11-24 20:30:28 -06:00
german77
30de38ee7f
kraken: Address comments from review
...
Fix compiler bug
2021-11-24 20:30:28 -06:00
german77
25521cd948
core/hid: Improve accuary of mouse implementation
2021-11-24 20:30:28 -06:00
german77
dfb63175d1
core/hid: Fully implement native mouse
2021-11-24 20:30:28 -06:00
german77
6032358402
input_common: Allow keyboard to be backwards compatible
2021-11-24 20:30:28 -06:00
german77
ebfe40dec8
core/hid: Improve accuracy of the keyboard implementation
2021-11-24 20:30:28 -06:00
german77
94c972fb36
input_common: Fix motion from 3 axis
2021-11-24 20:30:27 -06:00
german77
a4cdafed54
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
2021-11-24 20:30:27 -06:00
german77
93997b234f
core/hid: Fully emulate motion from button
2021-11-24 20:30:27 -06:00
german77
4736326a05
second commit lion review
2021-11-24 20:30:26 -06:00
german77
a8852024b6
settings: Fix Debug controller type options
2021-11-24 20:30:26 -06:00
german77
9f91335a71
kraken: Address comments from review
...
start lion review
2021-11-24 20:30:26 -06:00
german77
f63c6fce6d
input_common: Revert deleted TAS functions
2021-11-24 20:30:26 -06:00
german77
254d133be2
input_common: Fix GC adapter initialization
...
Fix GC controller
2021-11-24 20:30:26 -06:00
german77
3cd0dd4227
input_common: Fix UDP uuid
2021-11-24 20:30:26 -06:00
german77
124404e756
input_common: Add multiple vibration curves
2021-11-24 20:30:26 -06:00
german77
012691087a
core/hid: Rework battery mappings
2021-11-24 20:30:26 -06:00
german77
ae6ba2c8bd
input_common: Add manual update options to input devices
2021-11-24 20:30:26 -06:00
german77
d1bac9024d
settings: Fix mouse and keyboard mappings
2021-11-24 20:30:25 -06:00
german77
b3f59b4407
kraken: Address comments from review
...
review fixes
2021-11-24 20:30:25 -06:00
german77
8ea02d19a1
service/hid: Fix gesture input
2021-11-24 20:30:25 -06:00
german77
6774c7988b
configuration: Migrate controller settings to emulated controller
2021-11-24 20:30:25 -06:00
german77
6c7814bc9c
core/hid: Fix rumble too strong at 1%
2021-11-24 20:30:24 -06:00
german77
00f654cd22
core/hid: Only signal when needed
2021-11-24 20:30:24 -06:00
german77
0292fe0198
kraken: Fix errors from rebase and format files
2021-11-24 20:30:24 -06:00
german77
66cf94709a
core/hid: Add output devices
2021-11-24 20:30:24 -06:00
german77
547a1e6dc9
input_common: Rewrite main and add the new drivers
2021-11-24 20:30:23 -06:00
german77
4fc8607f61
input_common: Remove obsolete files
2021-11-24 20:30:23 -06:00
german77
9a108578ed
input_common: Rewrite SDL
2021-11-24 20:30:23 -06:00
german77
13413c2290
input_common: Rewrite udp client
2021-11-24 20:30:22 -06:00
german77
ec744b3b04
input_common: Rewrite tas input
2021-11-24 20:30:22 -06:00
german77
78a8ed6290
input_common: Rewrite gc_adapter
2021-11-24 20:30:22 -06:00
german77
86a57fb096
input_common: Rewrite touch
2021-11-24 20:30:22 -06:00
german77
280342cd0a
input_common: Rewrite mouse
2021-11-24 20:30:22 -06:00
german77
00d3c058c5
input_common: Rewrite keyboard
2021-11-24 20:30:22 -06:00
german77
1d0e9b62da
input_common: Move touch and analog from button. Move udp protocol
2021-11-24 20:30:22 -06:00
german77
783c01771a
input_common: Create input poller and mapping
2021-11-24 20:30:22 -06:00
german77
312dd2fb89
input_common: Create input_engine
2021-11-24 20:30:22 -06:00
Fernando S
0b63955efe
Revert "input_common: Fix data race on GC implementation"
2021-10-23 23:32:16 +02:00
Fernando S
8eda2922b2
Merge pull request #6515 from german77/gc_thread_safe
...
input_common: Fix data race on GC implementation
2021-10-23 23:28:22 +02:00
ameerj
1dabf6d025
input_common: Fix VS2022 compilation errors
2021-10-20 01:21:59 -04:00
german77
cfa3acd4a5
input_common/sdl: Fix joystick range
2021-10-11 01:03:01 -05:00
bunnei
ceafd4f92c
Merge pull request #6979 from german77/joycon_name
...
input_common: Add alternative string for joycons
2021-10-02 02:58:25 -07:00
ameerj
d7977be416
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
german77
1b060a47b2
UI: Relocate tas menu and add brief description
2021-09-18 23:23:03 +02:00
german77
d71f067db8
input_common/tas: Document the main class
2021-09-18 23:22:48 +02:00
german77
d552f84322
input_common/tas: Add swap controller
2021-09-18 23:22:42 +02:00
german77
368c9db4ee
input_common/tas: overwrite file dialog
2021-09-18 23:22:42 +02:00
MonsterDruide1
1b67085cda
input_common/tas: Fallback to simple update
2021-09-18 23:22:30 +02:00
german77
bba1ab83d6
config: Move TAS options to it's own menu
2021-09-18 23:22:30 +02:00
MonsterDruide1
cce0d58312
core: Hacky TAS syncing & load pausing
...
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.
First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.
Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
2021-09-18 23:22:20 +02:00
MonsterDruide1
31068a63a9
input_common/tas: Base playback & recording system
...
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.
The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.
Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
2021-09-18 23:22:00 +02:00
german77
0cea589993
input_common: Enable steam controllers and 8 player support
2021-09-10 00:58:12 -05:00
german77
94028da35e
input_common: Add alternative string for joycons
2021-09-06 22:20:19 -05:00
german77
134a2c23ac
input_common: Disable sdl raw input mode
2021-08-12 13:17:07 -05:00
german77
32e0572a68
input_common: Improve SDL joystick and hide toggle option
2021-08-07 23:11:23 -05:00
Rodrigo Locatti
84bdc6969f
input_common: Fix data race on GC implementation
2021-08-07 16:46:26 -05:00
bunnei
18a787b357
Merge pull request #6654 from german77/custom_threshold
...
input_common: Make button threshold customizable
2021-07-21 20:31:33 -04:00
bunnei
def3f59ed9
Merge pull request #6649 from german77/toggle_sdl
...
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
Nicolas Jallamion
d417596f27
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
40a1066bf7
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
...
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
german77
0fb8912834
input_common: Fix mouse panning behaivour
2021-07-16 18:57:29 -05:00
lat9nq
7a30ae6845
sdl_impl, emu_window: Remove clang ignore
...
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
2021-07-16 15:43:12 -04:00
german77
9e0f89e081
input_common: Make button threshold customizable
2021-07-15 23:56:57 -05:00
bunnei
24f798804c
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
f098c2163b
input_common: Support SDL toggle buttons
2021-07-15 14:31:58 -05:00
german77
77db68f9e3
input_common: Fix build with sdl disabled
2021-07-10 20:02:02 -05:00
ameerj
4e2d71a8ce
configure_input: Use u8 for mouse sensitivity
2021-07-08 23:24:31 -04:00
Ameer J
60e29dd3b0
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
d9109a708b
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
64f22684d4
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
88cb6c26f3
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
german77
cf1280874f
input_common: Add missing modifier callback to analog from button
2021-07-05 11:39:42 -05:00
lat9nq
3352742284
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
794c444285
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
1917128312
input_common: Remove #pragma warning directives for external headers
2021-06-28 14:20:25 -04:00
Morph
b6c7707fe9
input_common: Enforce C4242
2021-06-28 14:20:25 -04:00
Chloe
a9a9167009
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
Rodrigo Locatti
65df2a2ba0
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
78d9caa5df
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
65505640b9
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
21d81ee941
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
bfacb2dd28
Merge pull request #6318 from german77/dualJoycon
...
input_common: Add dual joycon support
2021-06-01 00:51:00 -07:00
german77
b398e0783e
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
bunnei
c1f4c84db4
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
e99220d321
input_common: Add dual joycon support
2021-05-22 18:40:53 -05:00
bunnei
1e4bc2cb20
Merge pull request #6310 from german77/nanMotion
...
input_common: Sanitize motion data
2021-05-19 15:47:48 -07:00
german77
b79310def9
input_common: Implement SDL motion
2021-05-15 08:56:58 -05:00
german77
2d3df5d3f4
input_common: Fix crash when controller disconnects
2021-05-15 08:27:19 -05:00
german77
b41d05a12c
input_common: Rewrite sdl analog mapping
2021-05-14 21:17:08 -05:00
german77
eac788499b
input_common: Sanitize motion data
2021-05-13 13:41:32 -05:00
german77
1562858963
input_common: Release mouse buttons on out of focus
2021-05-02 19:08:33 -05:00
bunnei
1838d41120
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
7d6d399f26
input_common: Reset GC sticks center by measuring multiple packets
2021-04-26 18:34:00 -05:00
german77
c8845b4fdf
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-23 22:12:41 -05:00
lat9nq
1e36a11626
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
c8a26a2cbf
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
f527e7a748
Merge pull request #6119 from german77/SDLMapping
...
InputCommon: Address mapping and naming issues with SDL2
2021-04-15 21:40:35 -07:00
bunnei
7a76bc30fa
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
129c89b47d
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
ad6e6210db
InputCommon: Name properly xbox 360 and one controllers, Fix mappings for Nintendo Pro controllers
2021-03-30 21:40:36 -05:00
bunnei
d0933e20e0
Merge pull request #6040 from german77/toggleKeyboard
...
Enable toggle buttons for keyboard and mouse
2021-03-11 11:00:44 -08:00
bunnei
f16c081cfd
Merge pull request #5990 from german77/mousePanningV2
...
InputCommon: Mouse fixes
2021-03-08 14:50:58 -08:00
german77
9c42c9e164
Enable mouse toggle buttons
2021-03-06 13:27:02 -06:00
german
03c81d5e1f
Enable button toggle for keyboard in the modifier button
2021-03-05 19:21:04 -06:00
german
0cb68543e2
inputCommon: Use an unique client id for each socket instance
2021-03-01 09:19:33 -06:00
german77
a380976857
inputCommon: Mouse fixes
2021-02-27 17:53:10 -06:00
Morph
ebf4986174
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
fd772cb778
Merge pull request #5929 from german77/mousePanning
...
Improve mouse panning
2021-02-16 22:52:35 +08:00
bunnei
0563f37708
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
0ff94cb0cc
Merge pull request #4940 from german77/nativeGC
...
HID: Implement GC controller in game
2021-02-15 10:32:19 -08:00
german
47f0b00c9d
Improve mouse panning
2021-02-13 22:23:32 -06:00
bunnei
152e089482
Merge pull request #5869 from german77/mousePanning
...
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
Lioncash
4681f5b60b
udp: Silence unused member variable warnings
...
Simply mark them as unused for now.
2021-02-09 17:38:45 -05:00
Lioncash
70b6d985e7
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
020c22f53d
hid: Implement GC controller
2021-02-07 22:59:46 -06:00
german
c7cae8769f
Add mouse panning
2021-02-07 20:31:58 -06:00
german
cbe925c31a
Add SL SR vectors, change dual joycon view, add missing raw data from keyboard/mouse
2021-02-06 09:43:42 -06:00
german
93ac87f29e
Make settings controller image change with controller input
2021-02-06 09:43:41 -06:00
ameerj
37e544492e
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
6b5e5ad224
sdl_impl: Set the maximum vibration duration to 1 second
2021-01-23 08:06:07 -05:00
german
b92717bec6
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
df1070a735
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
f452fbfc88
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
Morph
23413c0d44
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
bunnei
2a5e0d3d92
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
f04be5803d
Port citra-emu/citra#5509
2020-12-30 22:29:20 -06:00
bunnei
ae5e92e2fb
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
2f5fb99b94
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
german
139222d3a5
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
Morph
439488a842
Merge pull request #5020 from german77/AnalogfromButtonFix
...
Disable analog joystick from buttons by default
2020-12-08 10:30:21 +08:00
german
1a3e4518ec
Disable analog joystick from buttons by default
2020-12-07 19:34:52 -06:00
Lioncash
8e4a23e129
mouse_poller: Remove unused includes
2020-12-03 10:41:13 -05:00
Lioncash
11e20efc1d
mouse_input: Invert conditional in UpdateYuzuSettings()
...
Allows the struct to be constructed in place.
2020-12-03 10:41:13 -05:00
Lioncash
f8b5b65d6b
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
64daafbaa0
mouse_input: Resolve a -Wdocumentation warning
2020-12-03 10:26:50 -05:00
Lioncash
09b2703682
mouse_input: Remove unused includes
2020-12-03 10:26:30 -05:00
bunnei
eba344f859
Merge pull request #4937 from german77/multiUDP
...
InputCommon: Add multiple udp server support
2020-12-01 11:47:37 -08:00
LC
1ec79d0982
Merge pull request #5047 from german77/MouseInput
...
InputCommon: Fix implicit conversion in mouse input
2020-12-01 09:40:46 -05:00
german
544417cd49
Fix implicit conversion in mouse input
2020-11-30 21:48:18 -06:00
bunnei
0c0c14ca1e
Merge pull request #4939 from german77/MouseInput
...
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
german
56a8fee35a
Implement full mouse support
2020-11-25 23:59:30 -06:00
german
6708e0ec0e
Add multiple udp server support
2020-11-25 23:44:41 -06:00
Jan Beich
805312e278
input_common: ignore some Clang warnings after c8aec32f12
...
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
e4938afd40
Merge pull request #4905 from german77/AnalogFromButton
...
Allow to dial any angle with digital joystick
2020-11-24 16:04:55 -08:00
bunnei
f2bb584578
input_common: Fix typo in gc_poller.cpp with [[maybe_unused]].
2020-11-23 21:42:06 -08:00
bunnei
2382020d8d
input_common: Add more missing [[maybe_unused]] from #4927 .
2020-11-23 20:50:35 -08:00
Lioncash
c8aec32f12
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
3edd74463f
Modify rumble amplification
2020-11-19 11:30:52 -06:00
bunnei
afa4ced6e4
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
f5ee5e7f3c
sdl_impl: Pump SDL Events at 1000 Hz
2020-11-15 23:33:21 -05:00
Morph
24cfdbc7fe
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
bd42b2093c
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
ad3905fe27
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
cce389221b
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
ed9df522ec
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
b29a52982a
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
5eb160d4c6
udp/client: Reduce testing period to 5 seconds
2020-11-15 23:33:19 -05:00
Morph
ad9a909bc7
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
eccf766a39
motion_input: Mark constructor as explicit
2020-11-15 14:20:41 -05:00
Lioncash
93312282aa
motion_input: Mark member functions as [[nodiscard]] where applicable
2020-11-15 14:18:09 -05:00
german
fbab229893
fix minor clang error
2020-11-10 10:38:15 -06:00
german
b1f65683bc
Allow to dial any angle with digital joystick
2020-11-08 09:15:33 -06:00
german
2aafcc5f4b
Add hotplug, rumble and fix 3rd party adapters for the GC adapter
2020-10-28 21:12:34 -05:00
Morph
62e0851476
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
bd5383ad7e
Merge pull request #4809 from Morph1984/mjolnir-p3
...
configure_input_player: Fix modifier buttons
2020-10-20 15:00:06 -04:00
bunnei
d49a2e305e
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
6fa2144d90
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
c3c19060dd
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
3232d03657
udp/client: Take std::function by const reference with TestCommunication()
...
Avoids redundant copies.
2020-10-16 06:22:29 -04:00
Morph
7f475ec996
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
d44d662529
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
7eaad002f5
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
86a98a3137
Merge pull request #4677 from german77/ShakeFromButton
...
InputCommon: Add random motion input for buttons
2020-10-08 10:18:39 -07:00
bunnei
b3767ab3be
Merge pull request #4727 from FrogTheFrog/patch-1
...
Reduce the "shake" requirements when configuring UDP.
2020-10-06 15:29:28 -07:00
german
ec0a0a94b4
Address comments
2020-10-04 18:15:53 -05:00
german
0d4c60c3ef
Add compatibility with only accelerometer and auto calibrate for drift
2020-10-03 22:22:01 -05:00
Lukas Senionis
e237086658
Reduce the "shake" requirements when configuring UDP.
2020-09-30 10:30:33 +03:00
german
782aab6cf2
First implementation of controller rumble
2020-09-29 10:38:25 -04:00
german
ef4f095aae
Add random motion input to keyboard
2020-09-25 17:59:52 -05:00
german
db47701464
Add random motion input to SDL
2020-09-25 17:59:52 -05:00
german
9f70da1a9b
Add automap feature for GC adapter
2020-09-18 16:51:16 -05:00
bunnei
9a2553c952
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
ReinUsesLisp
67dd8466b3
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
14d5340a9d
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