Commit graph

484 commits

Author SHA1 Message Date
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