Morph
3d13bb3105
input_common: Remove unused core include
4 years ago
Narr the Reg
2198237e42
yuzu: ui: Improve battery symbols
4 years ago
german77
e19f0654f9
input_common: Use attributes for analog range modifiers
4 years ago
german77
a2fe5dffa9
input_common: Add home and hard touch press buttons to UDP controllers
4 years ago
Narr the Reg
9ea465d958
input_common: Add DS5 to HD rumble list
4 years ago
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.
4 years ago
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
4 years ago
Lioncash
04a33bc652
input_common/input_mapping: Add missing includes
Ensures that the class always sees the types it needs.
4 years ago
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.
4 years ago
Lioncash
5f80c764b0
input_common/input_mapping: Default constructor
4 years ago
Lioncash
1bd76dcb77
input_common/main: Pass MappingData by const reference in callbacks
Avoids creating unnecessary 168 byte copies per callback invocation.
4 years ago
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.
4 years ago
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
4 years ago
german77
1fca7203d3
input_common: Add option to configure gyro threshold
4 years ago
Narr the Reg
527a74f48b
input_common: Report battery for UDP controllers
4 years ago
Valeri
ffc1f4df39
input_common: nitpick about SetHatButton usage
4 years ago
Valeri
e3ee079aa4
input_common: fix copy-paste error
Found by static analysis with PVS-Studio.
4 years ago
german77
991460cd98
input_common: Reintroduce motion from mouse and use button names
4 years ago
gidoly
3465aa5d57
Xbox controller default name nit pick
Discord User moon lacer pointed us that official name is 'Xbox' not 'XBox'
4 years ago
gidoly
ede1976820
Change default name for ps controllers
Minor nitpick
Code is from narr
4 years ago
german77
b6c23d1633
input_common: Handle errors on TAS scripts
4 years ago
german77
0e1d2581b7
input_common: Fix udp motion not automapping to both sides
4 years ago
german77
353317f31e
yuzu: Add controller hotkeys
4 years ago
german77
10439bbfff
input_common: Use accelerometer data for mapping
4 years ago
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.
4 years ago
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.
4 years ago
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.
4 years ago
Lioncash
3dbb700714
input_poller: Add missing override specifiers
4 years ago
Lioncash
46c7e48143
input_mapping: Amend specification of parameters
param tags are supposed to specify the parameter name without any
quoting.
Silences several -Wdocumentation warnings.
4 years ago
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.
4 years ago
Lioncash
f63a50ce9d
tas_input: Avoid minor copies in Read/WriteCommandButtons()
We don't need to copy the whole pair
4 years ago
Lioncash
bac72cecf9
tas_input: Remove unnecessary semicolon
Resolves a -Wextra-semi warning
4 years ago
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.
4 years ago
Lioncash
8b6137eb79
tas_input: Remove unnecessary includes
Gets rid of indirect includes and includes only what the interface
needs.
4 years ago
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.
4 years ago
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.
4 years ago
Lioncash
4dce3a6cf4
tas_input: Use u8string_view instead of u8string
Same behavior, but without the potential for extra allocations.
4 years ago
Lioncash
b2c94d8cd4
tas_input: Remove unused std::smatch variable
This also means we can get rid of the dependency on <regex>
4 years ago
Lioncash
f1ff42541a
tas_input: Amend -Wdocumentation warnings
Parameters shouldn't have the colon by their name.
4 years ago
Lioncash
a82bb17b08
tas_input: Make TasAxes enum an enum class
Prevents these values from potentially clashing with anything in other
headers.
4 years ago
Lioncash
71467b1383
input_engine: Fix typo in TriggerOnAxisChange() parameter name
4 years ago
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.
4 years ago
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.
4 years ago
Lioncash
e7c5737e2e
input_engine: Remove left-over namespace qualifiers
These types are part of the InputCommon namespace.
4 years ago
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).
4 years ago
Lioncash
190cfc5997
input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange()
Copies the BasicMotion instance once instead of twice.
4 years ago
Lioncash
e0e9f98fc6
input_engine: std::move InputIdentifier in SetCallback()
Allows avoiding std::function allocations.
4 years ago
Lioncash
cd45635f56
input_engine: Pass LedStatus by const reference
Avoids copies where reasonably applicable
4 years ago
Lioncash
f41c22d30f
input_engine: Pass VibrationStatus by const reference in SetRumble()
Avoids creating copies of the struct where not necessary.
4 years ago
Lioncash
54e164d9de
input_engine: std::move engine name where applicable
We can allow the name to be moved into, allowing allocations to be
avoided.
4 years ago