Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2023-05-17 | input_common: Fix pro controller amiibo support | Narr the Reg | 6 | -103/+70 | |
2023-05-14 | input_common: Make amiibo scanning less demanding | german77 | 3 | -4/+13 | |
2023-05-09 | input_common: Fix nfc detection for joycons | german77 | 4 | -19/+21 | |
2023-05-08 | core: hid: Update motion on a better place | german77 | 1 | -1/+1 | |
2023-05-07 | input_common: Revert debugging changes | german77 | 1 | -2/+0 | |
2023-05-06 | input_common: Add experimental motion to button | german77 | 1 | -0/+3 | |
2023-05-06 | input_common: Add property to invert an axis button | Narr the Reg | 2 | -0/+3 | |
2023-05-06 | input_common: Add property to invert an axis button | Narr the Reg | 1 | -0/+1 | |
2023-05-05 | Improve emulation of HD Rumble | marius david | 1 | -6/+29 | |
2023-04-14 | input_common: minor fix to mouse movement | Valeri | 1 | -1/+1 | |
2023-03-13 | input_common: sdl: Only send last vibration command | german77 | 1 | -1/+16 | |
2023-03-12 | general: fix spelling mistakes | Liam | 11 | -16/+16 | |
2023-03-08 | input_common: Minor typo issues (#9922) | Narr the Reg | 7 | -47/+47 | |
2023-03-08 | input_common: Increase mouse sensitivity range | german77 | 2 | -9/+19 | |
2023-03-05 | input_common: joycon: Add stick input from passive reports | german77 | 3 | -32/+84 | |
2023-02-28 | cmake: use correct boost imported targets | Alexandre Bouvier | 1 | -1/+1 | |
2023-02-22 | input_common: Implement dedicated motion from mouse | Narr the Reg | 3 | -24/+85 | |
2023-02-16 | input_common: Split mouse input into individual devices | Narr the Reg | 3 | -24/+85 | |
2023-02-14 | remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency | arades79 | 11 | -35/+35 | |
Signed-off-by: arades79 <scravers@protonmail.com> | |||||
2023-02-14 | add static lifetime to constexpr values to force compile time evaluation where possible | arades79 | 11 | -35/+35 | |
Signed-off-by: arades79 <scravers@protonmail.com> | |||||
2023-02-10 | input_common: Reintroduce custom pro controller support | Narr the Reg | 4 | -4/+67 | |
2023-02-02 | input_common: Simplify stick from button | Narr the Reg | 1 | -32/+13 | |
2023-02-01 | input_common: Implement turbo buttons | german77 | 1 | -12/+18 | |
2023-01-30 | input_common: joycon: Remove Magic numbers from common protocol | Narr the Reg | 9 | -154/+221 | |
2023-01-30 | input_common: joycon: Fill missing enum data | Narr the Reg | 6 | -41/+53 | |
2023-01-30 | Move to Clang Format 15 | Levi Behunin | 1 | -2/+2 | |
Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run | |||||
2023-01-28 | input_common: joycon: Replace ReadSPI vector with span | Narr the Reg | 3 | -20/+26 | |
2023-01-28 | input_common: joycon: Remove magic numbers from calibration protocol | Narr the Reg | 6 | -107/+202 | |
2023-01-26 | input_common: Implement SetLowPowerMode and TriggersElapsed for the joycon driver | Narr the Reg | 4 | -0/+21 | |
2023-01-25 | input_common: Make use of StoppableTimedWait | Morph | 2 | -5/+6 | |
2023-01-25 | input_common: add missing header for libc++ after 340f15d1fa79 | Jan Beich | 1 | -0/+1 | |
src/input_common/drivers/joycon.cpp:187:26: error: no member named 'find_if' in namespace 'std::ranges' std::ranges::find_if(left_joycons, [](auto& device) { return !device->IsConnected(); }); ~~~~~~~~~~~~~^ src/input_common/drivers/joycon.cpp:193:54: error: no member named 'find_if' in namespace 'std::ranges' const auto unconnected_device = std::ranges::find_if( ~~~~~~~~~~~~~^ src/input_common/drivers/joycon.cpp:393:51: error: no member named 'find_if' in namespace 'std::ranges' const auto matching_device = std::ranges::find_if( ~~~~~~~~~~~~~^ src/input_common/drivers/joycon.cpp:402:51: error: no member named 'find_if' in namespace 'std::ranges' const auto matching_device = std::ranges::find_if( ~~~~~~~~~~~~~^ | |||||
2023-01-25 | Revert 9617 and fix it on input_common | Narr the Reg | 1 | -2/+7 | |
2023-01-20 | input_common: Fix joycon mappings | german77 | 2 | -57/+53 | |
2023-01-20 | input_common: Address byte review | german77 | 16 | -243/+220 | |
2023-01-20 | input_common: Drop Pro controller support from custom driver | german77 | 4 | -43/+4 | |
2023-01-20 | input_common: Fix issue where ring and irs are enabled at the same time | german77 | 3 | -12/+23 | |
2023-01-20 | input_common: Implement joycon ir camera | Narr the Reg | 12 | -14/+580 | |
2023-01-20 | yuzu: Add ring controller test button | german77 | 3 | -17/+32 | |
2023-01-20 | input_common: Use DriverResult on all engines | german77 | 15 | -73/+75 | |
2023-01-20 | Address review comments | german77 | 13 | -42/+42 | |
2023-01-20 | core: hid: Fix input regressions | Narr the Reg | 2 | -4/+1 | |
2023-01-20 | input_common: Implement joycon nfc | german77 | 8 | -12/+542 | |
2023-01-20 | input_common: Add dual joycon support | Narr the Reg | 1 | -24/+101 | |
2023-01-20 | input_common: Add support for joycon ring controller | Narr the Reg | 9 | -4/+272 | |
2023-01-20 | input_common: Add support for joycon input reports | Narr the Reg | 8 | -100/+798 | |
2023-01-20 | input_common: Use calibration from joycon | Narr the Reg | 5 | -0/+231 | |
2023-01-20 | input_common: Add support for joycon generic functions | Narr the Reg | 5 | -3/+310 | |
2023-01-20 | input_common: Add joycon low level functions | Narr the Reg | 3 | -0/+434 | |
2023-01-20 | core: hid: Enable pulling color data from controllers | Narr the Reg | 5 | -1/+131 | |
2023-01-20 | input_common: Disable SDL driver with switch controllers | Narr the Reg | 2 | -3/+20 | |
2023-01-20 | input_common: Initial skeleton for custom joycon driver | Narr the Reg | 7 | -0/+1763 | |
2023-01-18 | input_common: reset sdl motion if data is invalid | german77 | 1 | -19/+35 | |
2023-01-11 | yuzu: Read mouse wheel input | Narr the Reg | 1 | -1/+1 | |
2023-01-07 | TAS: Show all script lengths for multiplayer | MonsterDruide1 | 2 | -4/+10 | |
2023-01-06 | input_common: Create an update engine | Narr the Reg | 2 | -6/+37 | |
2022-12-28 | cmake: make libusb optional | Liam | 2 | -7/+32 | |
2022-12-18 | input_common: Cleanup project | german77 | 2 | -206/+83 | |
2022-12-18 | bootmanager: Use proper camera size | german77 | 1 | -0/+1 | |
2022-12-17 | input_common: Add virtual gamepad | german77 | 5 | -0/+183 | |
2022-12-17 | camera: Use pre-allocated vector for camera data | ameerj | 2 | -2/+4 | |
And avoid an unnecessary copy | |||||
2022-12-12 | input_common: Filter SDL GUID | Narr the Reg | 1 | -0/+2 | |
2022-12-06 | cmake: prefer system libusb | Alexandre Bouvier | 1 | -3/+1 | |
2022-12-06 | cmake: use sdl2 imported target | Alexandre Bouvier | 1 | -5/+1 | |
2022-12-05 | input_common: Allow mifare files | Narr the Reg | 2 | -16/+29 | |
2022-12-01 | CMake: Consolidate common PCH headers | ameerj | 1 | -7/+1 | |
2022-11-30 | CMake: Use precompiled headers | ameerj | 2 | -0/+17 | |
2022-11-29 | CMake: Directly link to SDL2-static when appropriate | lat9nq | 1 | -1/+5 | |
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later versions of CMake. Just use the same condition to tell which one to use. | |||||
2022-11-28 | input_common/helpers: Mark analog property structs members as static constexpr | Lioncash | 2 | -2/+18 | |
These are const with no dependency on any other data members, so we can make these static constexpr to reduce the overall object size. | |||||
2022-11-28 | common/input: Add helpers functions for creating input and output devices | Lioncash | 3 | -71/+49 | |
Avoids the redundancy of needing to explictly specify the common namespace and the type. | |||||
2022-11-27 | input_common: Pump sdl events from main thread | german77 | 4 | -10/+21 | |
2022-11-27 | yuzu-cmd: Fix input callback crash on close | german77 | 1 | -0/+10 | |
2022-11-23 | general: fix compile for Apple Clang | Liam | 4 | -3/+3 | |
2022-11-19 | core: hid: Implement true multitouch support | Narr the Reg | 2 | -17/+10 | |
2022-11-14 | general: Address review comments | german77 | 2 | -2/+2 | |
2022-11-13 | input_common: Add amiibo applet functions | german77 | 3 | -1/+19 | |
2022-10-22 | CMakeLists: Remove redundant warnings | Morph | 1 | -2/+0 | |
These warnings are already included in /W3. | |||||
2022-10-22 | CMakeLists: Treat MSVC warnings as errors | Morph | 1 | -1/+0 | |
2022-10-22 | general: Enforce C4800 everywhere except in video_core | Morph | 3 | -11/+12 | |
2022-10-22 | CMakeLists: Remove all redundant warnings | Morph | 1 | -5/+0 | |
These are already explicitly or implicitly set in src/CMakeLists.txt | |||||
2022-10-21 | input_common: cache vibration tests | german77 | 6 | -13/+78 | |
2022-10-09 | input_common: have an unique vector in callback status | german77 | 1 | -2/+8 | |
2022-10-04 | common: remove "yuzu:" prefix from thread names | Liam | 3 | -5/+5 | |
2022-10-02 | service: nfp: address comments | german77 | 4 | -5/+6 | |
2022-10-02 | input_common: Enable virtual amiibo driver | german77 | 4 | -0/+102 | |
2022-10-02 | input_common: Create virtual amiibo driver | german77 | 5 | -0/+217 | |
2022-09-06 | input_common: Add support for analog toggle | Narr the Reg | 1 | -0/+1 | |
2022-09-04 | input_common: sdl: Always check for motion on reconnect | Narr the Reg | 1 | -4/+7 | |
2022-07-27 | chore: make yuzu REUSE compliant | Andrea Pappacoda | 14 | -37/+28 | |
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254 | |||||
2022-07-25 | Address first part of review comments | FearlessTobi | 1 | -1/+1 | |
2022-07-24 | input_common: Add camera driver | german77 | 9 | -4/+267 | |
2022-06-29 | input_common: sdl: lower vibration frequency and use it's own unique thread | german77 | 2 | -1/+10 | |
2022-06-14 | CMakeLists: Make variable shadowing a compile-time error | Morph | 1 | -1/+0 | |
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug. | |||||
2022-06-07 | input_common: Replace usage of string guid to common uuid | Narr the Reg | 2 | -33/+38 | |
2022-05-23 | input_common: Make vibration request async | Narr the Reg | 2 | -2/+33 | |
2022-05-23 | input_common: touch: Rewrite touch driver to support multiple touch points | german77 | 2 | -31/+110 | |
2022-05-02 | Revert "gc_adapter: fix libusb import on GCC11.2" | Morph | 1 | -4/+0 | |
This reverts commit f72f4377f4cbbe45e5a43bb67c7245737ffa135f. | |||||
2022-05-02 | gc_adapter: fix libusb import on GCC11.2 | Levi Behunin | 1 | -0/+4 | |
Just to silence an intermittent error. GCC11.2 complains cannot find 'libusb.h' during a fresh build. | |||||
2022-04-28 | chore: add missing SPDX tags | Andrea Pappacoda | 2 | -6/+4 | |
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52 | |||||
2022-04-27 | yuzu: config: Set default range to 95% | Narr the Reg | 1 | -1/+1 | |
2022-04-23 | general: Convert source file copyright comments over to SPDX | Morph | 14 | -42/+28 | |
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | |||||
2022-04-21 | input_common: Ignore boost uninitialized local variable | Narr the Reg | 1 | -0/+9 | |
2022-04-07 | input_common: Replace lock_guard with scoped_lock | Merry | 2 | -29/+29 | |
2022-03-22 | input_common: Map sticks correctly when mapped sideways | Narr the Reg | 9 | -0/+108 | |
2022-03-20 | input_common: Reduce unused includes | ameerj | 4 | -4/+0 | |
2022-02-07 | yuzu: Add auto center on right click | german77 | 2 | -4/+4 | |
2022-02-07 | input_common: Remove battery duplicated struct and update every button press | german77 | 6 | -34/+27 | |
2022-02-05 | general: Rename NewUUID to UUID, and remove the previous UUID impl | Morph | 10 | -24/+24 | |
This completes the removal of the old UUID implementation. | |||||
2022-02-05 | input/hid: Migrate to the new UUID implementation | Morph | 12 | -37/+37 | |
2022-02-04 | input_common: Remove unused core include | Morph | 1 | -1/+0 | |
2022-02-02 | yuzu: ui: Improve battery symbols | Narr the Reg | 1 | -3/+2 | |
2022-01-31 | input_common: Use attributes for analog range modifiers | german77 | 1 | -4/+26 | |
2022-01-30 | input_common: Add home and hard touch press buttons to UDP controllers | german77 | 2 | -3/+16 | |
2022-01-27 | input_common: Add DS5 to HD rumble list | Narr the Reg | 1 | -2/+3 | |
2022-01-24 | input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state | Lioncash | 1 | -1/+1 | |
The default constructor of a UUID instance doesn't initialize the underlying array. | |||||
2022-01-24 | input_common/input_mapping: Simplify UUID validity checks | Lioncash | 1 | -3/+3 | |
Makes the checks a little more intuitive to read and doesn't construct an extra UUID instance | |||||
2022-01-24 | input_common/input_mapping: Add missing includes | Lioncash | 2 | -1/+6 | |
Ensures that the class always sees the types it needs. | |||||
2022-01-24 | input_common/input_mapping: Remove const from return value | Lioncash | 4 | -4/+4 | |
Top-level const on a return by value can inhibit move semantics, and is unnecessary. | |||||
2022-01-24 | input_common/input_mapping: Default constructor | Lioncash | 1 | -1/+1 | |
2022-01-24 | input_common/main: Pass MappingData by const reference in callbacks | Lioncash | 2 | -3/+3 | |
Avoids creating unnecessary 168 byte copies per callback invocation. | |||||
2022-01-24 | input_common/udp_client: Replace deprecated from_string()/to_ulong() functions | Lioncash | 1 | -2/+2 | |
These are deprecated and make_address variants and to_uint() should be used instead. | |||||
2022-01-24 | input_common/udp_client: Prevent unnecessary string copies | Lioncash | 2 | -4/+4 | |
We can also remove some redundant const on the return values, since these don't do anything | |||||
2022-01-24 | input_common: Add option to configure gyro threshold | german77 | 1 | -4/+9 | |
2022-01-17 | input_common: Report battery for UDP controllers | Narr the Reg | 2 | -0/+25 | |
2022-01-17 | input_common: nitpick about SetHatButton usage | Valeri | 1 | -1/+1 | |
2022-01-17 | input_common: fix copy-paste error | Valeri | 1 | -1/+1 | |
Found by static analysis with PVS-Studio. | |||||
2022-01-17 | input_common: Reintroduce motion from mouse and use button names | german77 | 3 | -1/+47 | |
2022-01-15 | Xbox controller default name nit pick | gidoly | 1 | -2/+2 | |
Discord User moon lacer pointed us that official name is 'Xbox' not 'XBox' | |||||
2022-01-15 | Change default name for ps controllers | gidoly | 1 | -0/+6 | |
Minor nitpick Code is from narr | |||||
2022-01-08 | input_common: Handle errors on TAS scripts | german77 | 1 | -7/+24 | |
2022-01-07 | input_common: Fix udp motion not automapping to both sides | german77 | 1 | -8/+16 | |
2022-01-07 | yuzu: Add controller hotkeys | german77 | 3 | -4/+7 | |
2022-01-07 | input_common: Use accelerometer data for mapping | german77 | 1 | -2/+10 | |
2021-12-17 | [input_common] Move variable declaration closer to usage | vperus | 1 | -2/+2 | |
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-14 | input/SDL: Update SDL hints | Valeri | 1 | -3/+4 | |
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 | common/input: Avoid numerous large copies of CallbackStatus | Lioncash | 2 | -35/+51 | |
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-14 | input_poller: Add missing override specifiers | Lioncash | 1 | -20/+19 | |
2021-12-14 | input_mapping: Amend specification of parameters | Lioncash | 1 | -14/+14 | |
param tags are supposed to specify the parameter name without any quoting. Silences several -Wdocumentation warnings. | |||||
2021-12-14 | input_poller: Remove several unnecessary @param tags | Lioncash | 1 | -106/+106 | |
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 | tas_input: Avoid minor copies in Read/WriteCommandButtons() | Lioncash | 1 | -2/+2 | |
We don't need to copy the whole pair | |||||
2021-12-13 | tas_input: Remove unnecessary semicolon | Lioncash | 1 | -1/+1 | |
Resolves a -Wextra-semi warning | |||||
2021-12-13 | tas_input: Execute clear() even if empty | Lioncash | 1 | -3/+2 | |
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 | tas_input: Remove unnecessary includes | Lioncash | 1 | -2/+2 | |
Gets rid of indirect includes and includes only what the interface needs. | |||||
2021-12-13 | tas_input: std::move strings into vector | Lioncash | 1 | -21/+24 | |
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 | tas_input: Use istringstream over stringstream | Lioncash | 1 | -2/+2 | |
This is only using the input facilities, so we don't need to use the fully-fleged stringstream. | |||||
2021-12-13 | tas_input: Use u8string_view instead of u8string | Lioncash | 2 | -6/+7 | |
Same behavior, but without the potential for extra allocations. | |||||
2021-12-13 | tas_input: Remove unused std::smatch variable | Lioncash | 1 | -2/+0 | |
This also means we can get rid of the dependency on <regex> | |||||
2021-12-13 | tas_input: Amend -Wdocumentation warnings | Lioncash | 2 | -28/+30 | |
Parameters shouldn't have the colon by their name. | |||||
2021-12-13 | tas_input: Make TasAxes enum an enum class | Lioncash | 2 | -5/+14 | |
Prevents these values from potentially clashing with anything in other headers. | |||||
2021-12-13 | input_engine: Fix typo in TriggerOnAxisChange() parameter name | Lioncash | 1 | -1/+1 | |
2021-12-13 | input_engine: Simplify PreSet* family of functions | Lioncash | 2 | -24/+14 | |
We can make use of try_emplace() to insert values only if they don't already exist. | |||||
2021-12-13 | input_engine: Avoid redundant map lookups | Lioncash | 1 | -16/+24 | |
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 | input_engine: Remove left-over namespace qualifiers | Lioncash | 1 | -3/+3 | |
These types are part of the InputCommon namespace. | |||||
2021-12-13 | input_engine: Iterate by reference rather than by value where applicable | Lioncash | 1 | -10/+10 | |
Avoids creating copies of several object instances (some of which being over 100 bytes in size). | |||||
2021-12-13 | input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange() | Lioncash | 3 | -6/+7 | |
Copies the BasicMotion instance once instead of twice. | |||||
2021-12-13 | input_engine: std::move InputIdentifier in SetCallback() | Lioncash | 1 | -1/+1 | |
Allows avoiding std::function allocations. | |||||
2021-12-13 | input_engine: Pass LedStatus by const reference | Lioncash | 2 | -2/+2 | |
Avoids copies where reasonably applicable | |||||
2021-12-13 | input_engine: Pass VibrationStatus by const reference in SetRumble() | Lioncash | 6 | -8/+10 | |
Avoids creating copies of the struct where not necessary. | |||||
2021-12-13 | input_engine: std::move engine name where applicable | Lioncash | 15 | -29/+29 | |
We can allow the name to be moved into, allowing allocations to be avoided. | |||||
2021-12-13 | input_engine: Remove callback clearing in constructor | Lioncash | 1 | -3/+1 | |
The callback map is a member variable, so this will always be empty on initial construction. | |||||
2021-12-13 | input_engine: Remove unnecessary semi-colons | Lioncash | 1 | -6/+6 | |
Silences -Wextra-semi warnings | |||||
2021-12-13 | input_engine: Remove unnecessary return | Lioncash | 1 | -3/+1 | |
This is a void function, so it doesn't need this. | |||||
2021-11-30 | input_common: Fix error with thread name | Narr the Reg | 1 | -2/+1 | |
2021-11-29 | Revert of b01aa72 | vperus | 1 | -35/+39 | |
Caused worker_thread to be stuck in Stage1Completed state until job's destruction. | |||||
2021-11-29 | [input_common] Add completion test for CalibrationConfigurationJob | vperus | 1 | -8/+13 | |
2021-11-26 | input_common: Fully implement UDP controllers | Narr the Reg | 5 | -35/+334 | |
2021-11-25 | input_common: Move button names to the frontend | german77 | 10 | -49/+55 | |
2021-11-25 | input_common: Fix SDL controller with inverted axis | german77 | 2 | -24/+8 | |
2021-11-25 | kraken: Address comments from review | german77 | 12 | -26/+14 | |
Fix compiler bug | |||||
2021-11-25 | core/hid: Improve accuary of mouse implementation | german77 | 2 | -8/+14 | |
2021-11-25 | core/hid: Fully implement native mouse | german77 | 2 | -6/+32 | |
2021-11-25 | input_common: Allow keyboard to be backwards compatible | german77 | 6 | -26/+84 | |
2021-11-25 | core/hid: Improve accuracy of the keyboard implementation | german77 | 4 | -4/+68 | |
2021-11-25 | input_common: Fix motion from 3 axis | german77 | 1 | -0/+2 | |
2021-11-25 | core/hid: Prevent Emulated controller from flapping with multiple inputs devices | german77 | 2 | -23/+12 | |
2021-11-25 | core/hid: Fully emulate motion from button | german77 | 2 | -1/+22 | |
2021-11-25 | second commit lion review | german77 | 7 | -21/+21 | |
2021-11-25 | settings: Fix Debug controller type options | german77 | 5 | -49/+52 | |
2021-11-25 | kraken: Address comments from review | german77 | 15 | -223/+254 | |
start lion review | |||||
2021-11-25 | input_common: Revert deleted TAS functions | german77 | 2 | -18/+19 | |
2021-11-25 | input_common: Fix GC adapter initialization | german77 | 1 | -12/+12 | |
Fix GC controller | |||||
2021-11-25 | input_common: Fix UDP uuid | german77 | 2 | -1/+11 | |
2021-11-25 | input_common: Add multiple vibration curves | german77 | 1 | -14/+19 | |
2021-11-25 | core/hid: Rework battery mappings | german77 | 2 | -4/+37 | |
2021-11-25 | input_common: Add manual update options to input devices | german77 | 3 | -0/+37 | |
2021-11-25 | settings: Fix mouse and keyboard mappings | german77 | 4 | -1/+22 | |
2021-11-25 | kraken: Address comments from review | german77 | 4 | -5/+9 | |
review fixes | |||||
2021-11-25 | service/hid: Fix gesture input | german77 | 2 | -2/+29 | |
2021-11-25 | configuration: Migrate controller settings to emulated controller | german77 | 1 | -0/+10 | |
2021-11-25 | core/hid: Fix rumble too strong at 1% | german77 | 1 | -1/+19 | |
2021-11-25 | core/hid: Only signal when needed | german77 | 5 | -23/+84 | |
2021-11-25 | kraken: Fix errors from rebase and format files | german77 | 10 | -27/+24 | |
2021-11-25 | core/hid: Add output devices | german77 | 11 | -29/+117 | |
2021-11-25 | input_common: Rewrite main and add the new drivers | german77 | 2 | -49/+330 | |
2021-11-25 | input_common: Remove obsolete files | german77 | 5 | -444/+0 | |
2021-11-25 | input_common: Rewrite SDL | german77 | 6 | -1757/+950 | |
2021-11-25 | input_common: Rewrite udp client | german77 | 5 | -441/+54 | |
2021-11-25 | input_common: Rewrite tas input | german77 | 5 | -840/+2 | |
2021-11-25 | input_common: Rewrite gc_adapter | german77 | 8 | -827/+848 | |
2021-11-25 | input_common: Rewrite touch | german77 | 3 | -0/+99 | |
2021-11-25 | input_common: Rewrite mouse | german77 | 7 | -751/+217 | |
2021-11-25 | input_common: Rewrite keyboard | german77 | 6 | -488/+53 | |
2021-11-25 | input_common: Move touch and analog from button. Move udp protocol | german77 | 10 | -132/+172 | |
2021-11-25 | input_common: Create input poller and mapping | german77 | 6 | -0/+1305 | |
2021-11-25 | input_common: Create input_engine | german77 | 2 | -0/+585 | |
2021-10-23 | Revert "input_common: Fix data race on GC implementation" | Fernando S | 2 | -120/+115 | |
2021-10-20 | input_common: Fix VS2022 compilation errors | ameerj | 1 | -39/+35 | |
2021-10-11 | input_common/sdl: Fix joystick range | german77 | 1 | -3/+4 | |
2021-09-24 | general: Update style to clang-format-12 | ameerj | 1 | -2/+2 | |
2021-09-18 | UI: Relocate tas menu and add brief description | german77 | 3 | -55/+83 | |
2021-09-18 | input_common/tas: Document the main class | german77 | 3 | -3/+112 | |
2021-09-18 | input_common/tas: Add swap controller | german77 | 3 | -18/+74 | |
2021-09-18 | input_common/tas: overwrite file dialog | german77 | 2 | -19/+6 | |
2021-09-18 | input_common/tas: Fallback to simple update | MonsterDruide1 | 2 | -73/+33 | |
2021-09-18 | config: Move TAS options to it's own menu | german77 | 3 | -91/+130 | |
2021-09-18 | core: Hacky TAS syncing & load pausing | MonsterDruide1 | 2 | -93/+107 | |
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 | input_common/tas: Base playback & recording system | MonsterDruide1 | 7 | -0/+722 | |
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-10 | input_common: Enable steam controllers and 8 player support | german77 | 2 | -7/+7 | |
2021-09-07 | input_common: Add alternative string for joycons | german77 | 1 | -2/+16 | |
2021-08-12 | input_common: Disable sdl raw input mode | german77 | 1 | -0/+3 | |
2021-08-08 | input_common: Improve SDL joystick and hide toggle option | german77 | 3 | -28/+68 | |
2021-08-07 | input_common: Fix data race on GC implementation | Rodrigo Locatti | 2 | -115/+120 | |
2021-07-20 | input/sdl_impl: fix rumble support on DualSense. (#6683) | Nicolas Jallamion | 1 | -2/+2 | |
- value return can be different 0, is not error is normal, error is only -1. | |||||
2021-07-17 | input_common: Fix mouse panning behaivour | german77 | 1 | -1/+1 | |
2021-07-16 | sdl_impl, emu_window: Remove clang ignore | lat9nq | 1 | -8/+0 | |
Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd | |||||
2021-07-16 | input_common: Make button threshold customizable | german77 | 1 | -3/+3 | |
2021-07-15 | input_common: Support SDL toggle buttons | german77 | 1 | -4/+51 | |
2021-07-11 | input_common: Fix build with sdl disabled | german77 | 1 | -2/+2 | |
2021-07-09 | configure_input: Use u8 for mouse sensitivity | ameerj | 1 | -1/+1 | |
2021-07-08 | general: Code formatting improvements | lat9nq | 1 | -2/+2 | |
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-06 | CMakeLists: Treat -Wsign-compare as an error on GCC/Clang | Morph | 1 | -3/+0 | |
Treats (un)signed comparison mismatches as errors to be consistent with MSVC | |||||
2021-07-05 | input_common: Add missing modifier callback to analog from button | german77 | 1 | -0/+1 | |
2021-06-29 | core, input_common: Miscellaneous fixes | lat9nq | 1 | -1/+2 | |
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 | general: Make most settings a BasicSetting | lat9nq | 3 | -5/+5 | |
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 | input_common: Remove #pragma warning directives for external headers | Morph | 2 | -14/+0 | |
2021-06-28 | input_common: Enforce C4242 | Morph | 1 | -12/+4 | |
2021-06-24 | Add missing includes (#6521) | Chloe | 2 | -0/+3 | |
* Add missing includes * Add array | |||||
2021-06-22 | input_common/mouse_input: Fix data race | Rodrigo Locatti | 2 | -12/+10 | |
Fix data race using std::jthread and std::stop_token. | |||||
2021-06-03 | cmake: General improvements to libusb linking | lat9nq | 1 | -2/+1 | |
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-05-30 | input_common: Analog button, use time based position instead of frequent updates | german77 | 2 | -73/+123 | |
2021-05-23 | input_common: Add dual joycon support | german77 | 2 | -60/+258 | |
2021-05-15 | input_common: Implement SDL motion | german77 | 4 | -3/+159 | |
2021-05-15 | input_common: Fix crash when controller disconnects | german77 | 1 | -1/+3 | |
2021-05-15 | input_common: Rewrite sdl analog mapping | german77 | 1 | -25/+25 | |
2021-05-13 | input_common: Sanitize motion data | german77 | 1 | -0/+23 | |
2021-05-03 | input_common: Release mouse buttons on out of focus | german77 | 2 | -1/+16 | |
2021-04-27 | input_common: Reset GC sticks center by measuring multiple packets | german77 | 2 | -2/+7 | |
2021-04-24 | hid: Implement SevenSixAxis and ConsoleSixAxisSensor | german77 | 1 | -2/+8 | |
2021-04-18 | general: Ignore implicit-fallthrough for SDL.h | lat9nq | 1 | -0/+10 | |
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 | cmake: Use SDL 2.0.14 and fix CMake scope issue | lat9nq | 1 | -1/+1 | |
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-15 | common: Move settings to common from core. | bunnei | 10 | -428/+7 | |
- Removes a dependency on core and input_common from common. | |||||
2021-03-31 | Use a single connection for UDP server, make connection test longer and check all pads instead of only the first one | german77 | 2 | -95/+96 | |
2021-03-31 | InputCommon: Name properly xbox 360 and one controllers, Fix mappings for Nintendo Pro controllers | german77 | 2 | -6/+24 | |
2021-03-06 | Enable mouse toggle buttons | german77 | 4 | -10/+63 | |
2021-03-06 | Enable button toggle for keyboard in the modifier button | german | 1 | -3/+26 | |
2021-03-01 | inputCommon: Use an unique client id for each socket instance | german | 2 | -13/+19 | |
2021-02-28 | inputCommon: Mouse fixes | german77 | 2 | -8/+15 | |
2021-02-18 | Revert "Port citra-emu/citra#5123: "SDL: Disable hidapi drivers due to compatibility problems with certain controllers"" | Morph | 1 | -7/+0 | |
2021-02-14 | Improve mouse panning | german | 1 | -5/+21 | |
2021-02-09 | udp: Silence unused member variable warnings | Lioncash | 1 | -2/+2 | |
Simply mark them as unused for now. | |||||
2021-02-09 | udp/client: Define ClientData constructor/destructor in cpp file | Lioncash | 2 | -0/+7 | |
Prevents compilation errors on clang 12 due to incomplete types within a unique_ptr member. | |||||
2021-02-08 | hid: Implement GC controller | german | 1 | -0/+1 | |
2021-02-08 | Add mouse panning | german | 3 | -3/+39 | |
2021-02-06 | Add SL SR vectors, change dual joycon view, add missing raw data from keyboard/mouse | german | 2 | -0/+14 | |
2021-02-06 | Make settings controller image change with controller input | german | 2 | -0/+20 | |
2021-01-30 | analog_from_button: Fix update_thread.join exception | ameerj | 1 | -5/+9 | |
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-23 | sdl_impl: Set the maximum vibration duration to 1 second | Morph | 1 | -2/+6 | |
2021-01-15 | Always initialize keyboard input | german | 1 | -10/+8 | |
2021-01-15 | Add mutitouch support for touch screens | german | 3 | -17/+14 | |
2021-01-15 | Allow to return up to 16 touch inputs per engine | german | 5 | -92/+116 | |
2021-01-02 | general: Fix various spelling errors | Morph | 4 | -9/+9 | |
2020-12-31 | Port citra-emu/citra#5509 | german | 1 | -2/+45 | |
2020-12-27 | udp client: process packets only for the correct pad | gal20 | 1 | -0/+5 | |
2020-12-27 | Allow to invert analog axis with right click | german | 3 | -17/+62 | |
2020-12-08 | Disable analog joystick from buttons by default | german | 1 | -1/+21 | |
2020-12-03 | mouse_poller: Remove unused includes | Lioncash | 1 | -3/+1 | |
2020-12-03 | mouse_input: Invert conditional in UpdateYuzuSettings() | Lioncash | 1 | -4/+6 | |
Allows the struct to be constructed in place. | |||||
2020-12-03 | mouse_input: Remove two casts and amend some formatting | Lioncash | 1 | -11/+14 | |
Removes the use of two static casts and improves the readability of some vectors slightly. | |||||
2020-12-03 | mouse_input: Resolve a -Wdocumentation warning | Lioncash | 1 | -1/+1 | |
2020-12-03 | mouse_input: Remove unused includes | Lioncash | 2 | -7/+3 | |
2020-12-01 | Fix implicit conversion in mouse input | german | 1 | -6/+8 | |
2020-11-26 | Implement full mouse support | german | 9 | -242/+697 | |
2020-11-26 | Add multiple udp server support | german | 4 | -100/+149 | |
2020-11-26 | input_common: ignore some Clang warnings after 5c4774e8ce1d | Jan Beich | 1 | -2/+2 | |
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-24 | input_common: Fix typo in gc_poller.cpp with [[maybe_unused]]. | bunnei | 1 | -2/+2 | |
2020-11-24 | input_common: Add more missing [[maybe_unused]] from #4927. | bunnei | 3 | -4/+6 | |
2020-11-22 | input_common: Treat warnings as errors | Lioncash | 7 | -9/+22 | |
Migrates over warnings as errors for input common to match how the common library treats warnings as errors. | |||||
2020-11-19 | Modify rumble amplification | german77 | 2 | -4/+3 | |
2020-11-16 | sdl_impl: Pump SDL Events at 1000 Hz | Morph | 1 | -1/+1 | |
2020-11-16 | sdl_impl: Revert to the "old" method of mapping sticks | Morph | 1 | -32/+13 | |
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-16 | controllers/npad: Remove the old vibration filter | Morph | 1 | -15/+0 | |
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-16 | input_common: Add VibrationDevice and VibrationDeviceFactory | Morph | 9 | -46/+159 | |
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-16 | configure_input: Add per-player vibration | Morph | 1 | -0/+3 | |
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-16 | controllers/npad: Add heuristics to reduce rumble state changes | Morph | 1 | -29/+25 | |
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-16 | configure_input_player: Change "Defaults" button behavior | Morph | 1 | -8/+0 | |
RestoreDefaults() now restores the selected devices' mappings using UpdateMappingWithDefaults(). This allows us to move the keyboard mapping from RestoreDefaults() to UpdateMappingWithDefaults(). | |||||
2020-11-16 | udp/client: Reduce testing period to 5 seconds | Morph | 1 | -1/+1 | |
2020-11-16 | configure_input_player: Implement input exclusivity and persistence | Morph | 1 | -3/+3 | |
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 | motion_input: Mark constructor as explicit | Lioncash | 1 | -1/+1 | |
2020-11-15 | motion_input: Mark member functions as [[nodiscard]] where applicable | Lioncash | 1 | -10/+11 | |
2020-11-10 | fix minor clang error | german | 1 | -1/+1 | |
2020-11-08 | Allow to dial any angle with digital joystick | german | 1 | -19/+103 | |
2020-10-29 | Add hotplug, rumble and fix 3rd party adapters for the GC adapter | german | 3 | -303/+433 | |
2020-10-21 | sdl_impl: Fix controller reconnection issues | Morph | 1 | -85/+84 | |
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-20 | configure_input_player: Fix modifier buttons | Morph | 1 | -2/+0 | |
Fix them for real this time, now they finally work. | |||||
2020-10-16 | udp/client: Make use of designated initializers in TestCommunication() | Lioncash | 1 | -2/+5 | |
Same behavior, but makes the callback list nicer to look at. | |||||
2020-10-16 | udp/client: Take std::function by const reference with TestCommunication() | Lioncash | 2 | -5/+5 | |
Avoids redundant copies. | |||||
2020-10-16 | sdl_impl: Erase the SDLJoystick entry after removing a controller | Morph | 1 | -15/+13 | |
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 | input_common/CMakeLists: Make some warnings errors | Lioncash | 16 | -191/+237 | |
Makes the input_common code warnings consistent with the rest of the codebase. | |||||
2020-10-05 | Address comments | german | 2 | -40/+40 | |
2020-10-04 | Add compatibility with only accelerometer and auto calibrate for drift | german | 2 | -12/+106 | |
2020-09-30 | Reduce the "shake" requirements when configuring UDP. | Lukas Senionis | 1 | -2/+6 | |
2020-09-29 | First implementation of controller rumble | german | 1 | -1/+38 | |
2020-09-26 | Add random motion input to keyboard | german | 4 | -0/+65 | |
2020-09-26 | Add random motion input to SDL | german | 5 | -5/+230 | |
2020-09-18 | Add automap feature for GC adapter | german | 3 | -1/+103 | |
2020-09-15 | gc_adapter: Disable MSVC nonstandard extension warning on libusb.h | ReinUsesLisp | 1 | -0/+9 | |
Pragma disable zero-sized array nonstandard extension warning on MSVC. | |||||
2020-09-07 | gc_adapter: Make DeviceConnected() a const member function | Lioncash | 3 | -9/+9 | |
This doesn't modify instance state, so it can be made const. | |||||
2020-09-05 | Minor cleanup | german | 1 | -19/+16 | |
2020-09-05 | Add cemu hook changes related to PR #4609 | german | 6 | -137/+426 | |
2020-09-05 | Remove RealMotionDevice | german | 4 | -7/+25 | |
2020-09-05 | Include HID and configuration changes related to motion | german | 3 | -1/+33 | |
2020-09-02 | input_common/motion_input: Make use of Common::PI constant | Morph | 2 | -4/+9 | |
Also amend the copyright notice to yuzu's instead of Dolphin's, which was mistakenly copy-pasted from another file. | |||||
2020-08-30 | sdl_joystick: disable the use of the hidapi drivers due to many problems caused by them. | Vitor Kiguchi | 1 | -0/+7 | |
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 | Address second batch of reviews | FearlessTobi | 3 | -6/+2 | |
2020-08-29 | Address review comments and fix code compilation | FearlessTobi | 3 | -6/+11 | |
2020-08-29 | yuzu: Add motion and touch configuration | FearlessTobi | 5 | -0/+88 | |
2020-08-29 | sdl_impl: Reduce allocations in GetButtonMappingForDevice() | Lioncash | 1 | -31/+37 | |
These maps can be constexpr arrays of std::pair. | |||||
2020-08-29 | sdl_impl: Make use of std::move on std::string where applicable | Lioncash | 1 | -3/+3 | |
Avoids redundant copies. | |||||
2020-08-29 | sdl_impl: Make use of insert_or_assign() where applicable | Lioncash | 1 | -14/+18 | |
Avoids churning ParamPackage instances. | |||||
2020-08-29 | sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() default arguments | Lioncash | 1 | -1/+1 | |
We need to add the 'f' suffix to make the right hand side a float and not a double. | |||||
2020-08-29 | sdl_impl: Simplify make_tuple call | Lioncash | 1 | -1/+1 | |
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-29 | sdl_impl: Mark FromEvent() as a const member function | Lioncash | 1 | -2/+2 | |
This doesn't modify internal member state, so it can be marked as const. | |||||
2020-08-29 | input_common/main: Remove unnecessary headers | Lioncash | 3 | -5/+11 | |
2020-08-29 | input_common/main: Remove unimplemented prototype | Lioncash | 1 | -3/+0 | |
I forgot to remove this in the rebase when removing most of the global variables within the input common codebase. | |||||
2020-08-28 | Fix orientation errors and improve drift correction | german | 2 | -14/+31 | |
2020-08-28 | Address comments | german | 2 | -85/+65 | |
2020-08-28 | Implement a basic class for motion devices | german | 3 | -0/+249 | |
2020-08-27 | input_common: Eliminate most global state | Lioncash | 2 | -153/+227 | |
Abstracts most of the input mechanisms under an InputSubsystem class that is managed by the frontends, eliminating any static constructors and destructors. This gets rid of global accessor functions and also allows the frontends to have a more fine-grained control over the lifecycle of the input subsystem. This also makes it explicit which interfaces rely on the input subsystem instead of making it opaque in the interface functions. All that remains to migrate over is the factories, which can be done in a separate change. | |||||
2020-08-27 | input_common/main: Add "/Mouse" to the display name | Morph | 1 | -1/+1 | |
2020-08-26 | input_common: Fix directional deadzone values | Morph | 2 | -2/+2 | |
The hardware tested value is 0.5 which translates to SHRT_MAX / 2 | |||||
2020-08-26 | Address feedback | Morph | 5 | -44/+32 | |
2020-08-26 | Project Mjölnir: Part 1 | Morph | 11 | -102/+798 | |
Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com> | |||||
2020-08-26 | gc_poller: Resolve compilation warnings on MSVC | Lioncash | 1 | -3/+5 | |
We just need to make our intentional implicit truncations explicit. | |||||
2020-08-13 | General: Tidy up clang-format warnings part 2 | Lioncash | 1 | -4/+2 | |
2020-08-10 | Remove UI changes | ameerj | 2 | -2/+2 | |
This PR is now only the Analog devices handling the range value defaulting at 100% | |||||
2020-08-10 | Add range slider functionality for gc adapter | ameerj | 1 | -7/+7 | |
2020-08-10 | undo unnecessary newlines, slider range 50-150 | Ameer | 1 | -1/+1 | |
2020-08-10 | Add range slider for analog sticks | Ameer | 1 | -11/+14 | |
2020-07-26 | GCAdapter: only join worker thread if running & joinable | Brian J. Tarricone | 1 | -1/+3 | |
2020-07-25 | udp/client: Remove unused boost include | Lioncash | 1 | -1/+0 | |
Also silences a deprecation warning from boost on Clang/GCC. | |||||
2020-07-25 | gc_adapter: Resolve C++20 deprecation warning | Lioncash | 1 | -1/+1 | |
2020-07-25 | gc_poller: Resolve -Wsign-compare warning | Lioncash | 1 | -1/+2 | |
2020-07-25 | gc_poller: Resolve -Wredundant-move warning | Lioncash | 1 | -2/+1 | |
2020-07-19 | Fix axis thresholding while polling | ameerj | 1 | -5/+2 | |
axes were very sensitive when mapping controls. | |||||
2020-07-17 | std::size_t where appropriate, make error message more clear if can't read | ameerj | 1 | -3/+4 | |
2020-07-16 | Refactor adapter code | Ameer | 2 | -179/+44 | |
2020-07-14 | Fix crash if gc configured but adapter not connected | Ameer | 2 | -15/+25 | |
2020-07-14 | input_common: drop unused libusb.h include | Ameer | 1 | -1/+0 | |
Remnant of an early implementation. | |||||
2020-07-13 | input_common: make libusb private to gc_adapter | Jan Beich | 3 | -3/+7 | |
2020-07-12 | udp: Silence a C++20 deprecation warning | Lioncash | 1 | -1/+1 | |
C++20 deprecates using the = lambda capture to implicitly capture the this pointer. Instead, we must specify it explicitly. | |||||
2020-07-12 | gc_poller: Mark GCButtonFactory::GetNextInput() as const | Lioncash | 2 | -2/+2 | |
This doesn't modify class instance state. | |||||
2020-07-12 | gc_poller: Get rid of undefined behavior in Create() | Lioncash | 1 | -0/+4 | |
Ensures that the function always has returns in all control paths. | |||||
2020-07-12 | gc_poller: Silence sign conversion warnings | Lioncash | 1 | -1/+1 | |
2020-07-12 | gc_adapter: Remove deprecated usage of = in lambda captures | Lioncash | 1 | -1/+1 | |
It's deprecated in C++20 to use = to capture the this pointer. Instead, we can simply pass this as an argument to the thread constructor. | |||||
2020-07-12 | gc_adapter: Silence sign conversion warnings | Lioncash | 2 | -7/+7 | |
2020-07-10 | Break out of scan loop if can't find adapter on first run | Ameer | 1 | -0/+3 | |
2020-07-09 | cmake: pass libusb include directory as well | Jan Beich | 1 | -0/+1 | |
In file included from src/input_common/gcadapter/gc_adapter.cpp:8: src/./input_common/gcadapter/gc_adapter.h:11:10: fatal error: 'libusb.h' file not found #include <libusb.h> ^~~~~~~~~~ | |||||
2020-07-08 | Address comments for better clarity/signed dev count | Ameer | 1 | -11/+15 | |
2020-07-08 | Add more libusb error checks | Ameer | 1 | -3/+18 | |
2020-07-07 | Address PR feedback, fix axis button thresholding | Ameer | 3 | -58/+22 | |
2020-07-07 | input_common/gcadapter: add missing C++11 header required by libc++ | Jan Beich | 1 | -0/+1 | |
In file included from src/input_common/gcadapter/gc_adapter.cpp:8: src/./input_common/gcadapter/gc_adapter.h:77:10: error: no template named 'unordered_map' in namespace 'std' std::unordered_map<int, bool> buttons; ~~~~~^ src/./input_common/gcadapter/gc_adapter.h:78:10: error: no template named 'unordered_map' in namespace 'std' std::unordered_map<int, u16> axes; ~~~~~^ | |||||
2020-07-07 | Brace the code! Fix compile error due to class member construction order | Ameer | 2 | -15/+31 | |
2020-07-07 | Recalibrate reconnected controllers | Ameer | 1 | -0/+5 | |
2020-07-07 | Save origin state of GC controller analog features, compare against origin for input detection | Ameer | 3 | -28/+72 | |
2020-07-04 | Fix for always firing triggers on some controllers, trigger threshold more universal | Ameer | 2 | -5/+5 | |
2020-07-03 | Address lioncash feedback: Log formatting, extern const PadButtonArray, little touch ups | Ameer | 3 | -24/+32 | |
2020-07-02 | Fix unnecessary diffs | Ameer | 3 | -3/+3 | |
2020-07-02 | Add LR triggers as axes, half press to initiate a press, add GC axis id in config, clarify some code blocks for better readability | Ameer | 2 | -10/+34 | |
2020-07-01 | Reset adapter state on init, fixes errors relating driver hang from unexpected unplug | Ameer | 2 | -0/+9 | |
2020-06-30 | Address feedback regarding increments, const vars, and general cleanup | Ameer | 2 | -24/+21 | |
2020-06-30 | fix implicit conversion of size_t type to int | Ameer | 1 | -1/+1 | |
2020-06-27 | left const auto&, comment punctuation. | Ameer J | 1 | -2/+2 | |
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com> | |||||
2020-06-26 | const& to button in button array | Ameer J | 1 | -2/+2 | |
Co-authored-by: VolcaEM <63682805+VolcaEM@users.noreply.github.com> | |||||
2020-06-26 | Stop reading loop if error is encountered | Ameer | 1 | -4/+4 | |
2020-06-24 | padbutton enum class and struct initiailization | Ameer | 3 | -36/+32 | |
2020-06-23 | cleanup check access, read, and factory GetNextInput funcs. Use size rather than magic number | Ameer | 4 | -151/+101 | |
2020-06-23 | Fix deallocation of GC Adapter | Ameer | 3 | -4/+10 | |
2020-06-23 | std::array and const reference passing of non-trivial objects | Ameer | 2 | -14/+13 | |
2020-06-22 | Update src/input_common/main.cpp | ameerj | 1 | -1/+1 | |
Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed) | |||||
2020-06-22 | Tidy up the pointers, use pair over tuple where appropriate | Ameer | 4 | -24/+22 | |
2020-06-22 | fix for sleep using stl | Ameer | 1 | -1/+3 | |
2020-06-22 | shared_ptr for the GC adapter class, constexpr constants | Ameer | 5 | -66/+52 | |
2020-06-22 | std::arrays where appropriate, clear q in adapter class, other touch ups | Ameer | 5 | -27/+15 | |
2020-06-22 | fix include thread | Ameer | 1 | -0/+1 | |
2020-06-22 | Singleton GC Adapter class, remove globals, fix naming convention | Ameer | 7 | -202/+259 | |
Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command | |||||
2020-06-21 | Clang Formatting | Ameer | 6 | -77/+99 | |
2020-06-21 | Cleanup after linter | Ameer | 9 | -167/+98 | |
2020-06-21 | GC Adapter Implementation | Ameer | 15 | -100/+1039 | |
2020-06-19 | input_common/motion_emu: Remove redundant move | MerryMage | 1 | -1/+1 | |
Named return value optimization automatically applies here. | |||||
2020-06-19 | input_common/keyboard: Remove redundant move | MerryMage | 1 | -1/+1 | |
Named return value optimization automatically applies here. | |||||
2020-05-02 | input_common: fix build when SDL2 is disabled | FearlessTobi | 1 | -0/+6 | |
2020-04-16 | input_common: Use the CMake target instead of the variable. | Markus Wick | 1 | -1/+1 | |
2020-04-16 | CMakeLists: Specify -Wextra on linux builds | Lioncash | 1 | -0/+1 | |
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well. | |||||
2020-03-18 | input_common/udp: Fix clang build issues | ReinUsesLisp | 1 | -1/+2 | |
2020-03-17 | input_common/udp: Fix Linux build by using a backwards compatible way of error checking | FearlessTobi | 1 | -1/+1 | |
Should fix https://github.com/yuzu-emu/yuzu/issues/3487. error_code::failed is a function which has been introduced in Boost 1.69. This version of boost hasn't landed in most major distros yet. | |||||
2020-03-04 | input/udp - Add minor error handling to prevent bad input from crashing | James Rowe | 1 | -4/+13 | |
2020-03-04 | input/udp - Dont log on invalid packet received | James Rowe | 1 | -1/+0 | |
2020-02-18 | analog_from_button get direction implementation | CJBok | 1 | -0/+14 | |
2020-02-03 | input_common/udp: Ensure that UDP is shut down within Shutdown() | Lioncash | 1 | -0/+1 | |
Previously the UDP backend would never actually get shut down. | |||||
2020-02-03 | input_common/udp: Add missing override specifiers | Lioncash | 1 | -2/+2 | |
Prevents trivial warnings and ensures interfaces are properly maintained between the base class. | |||||
2020-02-03 | input_common/udp: std::move SocketCallback instances where applicable | Lioncash | 1 | -2/+2 | |
std::function is allowed to heap allocate if the size of the captures associated with each lambda exceed a certain threshold. This prevents potentially unnecessary reallocations from occurring. | |||||
2020-02-03 | input_common/udp: std::move shared_ptr within Client constructor | Lioncash | 1 | -1/+1 | |
Gets rid of a trivially avoidable atomic reference count increment and decrement. | |||||
2020-02-03 | udp/client: Replace deprecated from_string() call with make_address_v4() | Lioncash | 1 | -2/+2 | |
Future-proofs code if boost is ever updated. | |||||
2020-02-03 | input_common/udp: Silence -Wreorder warning for Socket | Lioncash | 1 | -4/+3 | |
Amends the constructor initializer list to specify the order of its elements in the same order that initialization would occur. | |||||
2020-02-03 | input_common/udp: Remove unnecessary inclusions | Lioncash | 4 | -8/+4 | |
2020-02-03 | input_common/udp: Add missing header guard | Lioncash | 1 | -0/+2 | |
2020-01-23 | Address second part of review comments | FearlessTobi | 3 | -13/+17 | |
2020-01-23 | Address review comments | FearlessTobi | 4 | -65/+72 | |
2020-01-23 | Input: UDP Client to provide motion and touch controls | fearlessTobi | 8 | -4/+846 | |
An implementation of the cemuhook motion/touch protocol, this adds the ability for users to connect several different devices to citra to send direct motion and touch data to citra. Co-Authored-By: jroweboy <jroweboy@gmail.com> | |||||
2020-01-15 | Moved analog direction logic to sdl_impl | CJBok | 1 | -0/+16 | |
2019-06-03 | input_common/sdl/sdl_impl: Correct logging string in SDLState constructor | Lioncash | 1 | -1/+1 | |
If this path was ever taken, a runtime exception would occur due to the lack of a formatting specifier to insert the error code into the format string. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Move documentation comments to header where applicable | Lioncash | 2 | -7/+6 | |
Places the documentation comments with the rest of SDLState's member function documentation. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Amend names for axes for SDLAnalogPoller | Lioncash | 1 | -13/+13 | |
Adds another underscore to clearly indicate the axis names. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Mark variables const where applicable | Lioncash | 1 | -10/+11 | |
Make it explicit that these aren't modified elsewhere (either through functions by reference, or by other operations). | |||||
2019-06-03 | input_common/sdl/sdl_impl: Mark SDLEventToButtonParamPackage() as static | Lioncash | 1 | -1/+1 | |
Its prototype declared at the top of the translation unit contains the static qualifier, so the function itself should also contain it to make it a proper internally linked function. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Convert reinterpret_cast into a static_cast | Lioncash | 1 | -2/+4 | |
It's valid to static_cast a void pointer back into its proper type. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Use insert_or_assign() where applicable | Lioncash | 1 | -3/+3 | |
Same behavior, but without a potential need to unnecessarily default construct a value. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Simplify SDL_Joystick deleter handling | Lioncash | 1 | -15/+14 | |
The deleter can just be set in the constructor and maintained throughout the lifetime of the object. If a contained pointer is null, then the deleter won't execute, so this is safe to do. We don't need to swap it out with a version of a deleter that does nothing. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Resolve two sign conversion warnings | Lioncash | 1 | -10/+16 | |
Silences the final two warnings in SDL code. | |||||
2019-06-03 | input_common/sdl: Remove unused header includes and forward declarations | Lioncash | 3 | -11/+5 | |
Gets rid of a few unnecessary inclusion dependencies. It also uncovered a few indirect inclusion dependencies being relied upon. | |||||
2019-06-03 | input_common/sdl/sdl_impl: Use nested namespace specifiers where applicable | Lioncash | 1 | -5/+2 | |
2019-05-31 | input_common/sdl/sdl_impl: Silence sign conversion warnings | Lioncash | 1 | -3/+3 | |
Makes the conversions explicit, as opposed to implicit. | |||||
2019-04-01 | general: Use deducation guides for std::lock_guard and std::unique_lock | Lioncash | 3 | -21/+23 | |
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future. | |||||
2019-03-18 | input_common/sdl: Correct return values within implementations of GetPollers() | Lioncash | 2 | -2/+6 | |
In both cases, we weren't actually returning anything, which is undefined behavior. | |||||
2019-03-18 | input_common/sdl: Use a type alias to shorten declaration of GetPollers | Lioncash | 3 | -11/+9 | |
Just makes the definitions a little bit more tidy. | |||||
2019-03-17 | input_common/sdl_impl: Make lambda capture more specific in SDLState constructor | Lioncash | 1 | -1/+1 | |
We don't need to universally capture by reference. We specifically just need to capture the this pointer. | |||||
2019-03-17 | input_common/sdl_impl: Remove unnecessary std::chrono::duration construction | Lioncash | 1 | -1/+1 | |
Specifying the time unit itself is sufficient here. | |||||
2019-03-17 | input_common/sdl_impl: Remove unused variable in SDLState constructor | Lioncash | 1 | -1/+0 | |
2019-03-02 | fixup! Joystick: Allow for background events; Add deadzone to SDLAnalog | B3n30 | 1 | -6/+17 | |
2019-03-02 | input/sdl: lock map mutex after SDL call | Weiyi Wang | 1 | -11/+17 | |
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked | |||||
2019-03-02 | Input: Remove global variables from SDL Input | James Rowe | 7 | -800/+201 | |
Changes the interface as well to remove any unique methods that frontends needed to call such as StartJoystickEventHandler by conditionally starting the polling thread only if the frontend hasn't started it already. Additionally, moves all global state into a single SDLState class in order to guarantee that the destructors are called in the proper order | |||||
2019-03-02 | Input: Copy current SDL.h/cpp files to impl | James Rowe | 2 | -0/+680 | |
This should make reviewing much easier as you can then see what changed happened between the old file and the new one | |||||
2019-02-27 | common/math_util: Move contents into the Common namespace | Lioncash | 1 | -2/+2 | |
These types are within the common library, so they should be within the Common namespace. | |||||
2019-02-27 | common/vector_math: Move Vec[x] types into the Common namespace | Lioncash | 1 | -11/+11 | |
These types are within the common library, so they should be using the Common namespace. | |||||
2019-02-27 | common/quaternion: Move Quaternion into the Common namespace | Lioncash | 1 | -4/+4 | |
Quaternion is within the common library, so it should be using the Common namespace. | |||||
2018-09-11 | Port #4141 from citra: Joystick hotplug support (#1275) | Tobias | 4 | -88/+322 | |
* Joystick hotplug support (#4141) * use SDL_PollEvent instead of SDL_JoystickUpdate Register hot plugged controller by GUID if they were configured in a previous session * Move SDL_PollEvent into its own thread * Don't store SDLJoystick pointer in Input Device; Get pointer on each GetStatus call * Fix that joystick_list gets cleared after SDL_Quit * Add VirtualJoystick for InputDevices thats never nullptr * fixup! Add VirtualJoystick for InputDevices thats never nullptr * fixup! fixup! Add VirtualJoystick for InputDevices thats never nullptr * Remove SDL_GameController, make SDL_Joystick* unique_ptr * fixup! Remove SDL_GameController, make SDL_Joystick* unique_ptr * Adressed feedback; fixed handling of same guid reconnects * fixup! Adressed feedback; fixed handling of same guid reconnects * merge the two joystick_lists into one * make SDLJoystick a member of VirtualJoystick * fixup! make SDLJoystick a member of VirtualJoystick * fixup! make SDLJoystick a member of VirtualJoystick * fixup! fixup! make SDLJoystick a member of VirtualJoystick * SDLJoystick: Addressed review comments * Address one missed review comment | |||||
2018-08-03 | input_common: Use std::move where applicable | Lioncash | 2 | -5/+6 | |
Avoids unnecessary atomic reference count increments and decrements | |||||
2018-08-03 | input_common: Add missing override specifiers | Lioncash | 3 | -14/+2 | |
2018-07-03 | Rename logging macro back to LOG_* | James Rowe | 1 | -3/+3 | |
2018-04-27 | input_common: Move old logging macros over to fmt-capable ones | Lioncash | 1 | -3/+3 | |
2018-04-20 | math_util: Remove the Clamp() function | Lioncash | 1 | -2/+3 | |
C++17 adds clamp() to the standard library, so we can remove ours in favor of it. | |||||
2018-01-21 | Format: Run the new clang format on everything | James Rowe | 1 | -1/+2 | |
2018-01-18 | CMakeLists: Derive the source directory grouping from targets themselves | Lioncash | 1 | -19/+12 | |
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases. | |||||
2018-01-18 | input_common/sdl: Silence a -Wpessimizing-move warning | Lioncash | 1 | -1/+1 | |
2018-01-16 | Adding meumart's Citra SDL Joystick support. Citra PR #3116 | muemart | 4 | -1/+248 | |
2017-08-22 | motion_emu: fix initialization order | wwylele | 1 | -1/+4 | |
2017-08-19 | motion_emu: no need to include thread in header | wwylele | 2 | -2/+7 | |
2017-08-13 | Fix Spelling/English mistakes | Dave Leaver | 1 | -1/+1 | |
2017-08-11 | move MotionEmu from core/frontend to input_common as a InputDevice | wwylele | 5 | -2/+226 | |
2017-08-11 | Fix some spelling mistakes | danzel | 1 | -1/+1 | |
2017-05-28 | CMake: Define an interface target for SDL2 definitions | Yuri Kunde Schlesner | 1 | -2/+1 | |
2017-05-28 | CMake: Correct inter-module dependencies and library visibility | Yuri Kunde Schlesner | 1 | -3/+3 | |
Modules didn't correctly define their dependencies before, which relied on the frontends implicitly including every module for linking to succeed. Also changed every target_link_libraries call to specify visibility of dependencies to avoid leaking definitions to dependents when not necessary. | |||||
2017-04-17 | input_common/sdl: add support for binding button to axis | wwylele | 1 | -4/+53 | |
2017-03-17 | citra-qt: release all buttons when render window focus is lost | wwylele | 2 | -0/+13 | |
credit to @Hawkheart for the original idea | |||||
2017-03-01 | InputCommon: add SDL joystick support | wwylele | 4 | -0/+241 | |
2017-03-01 | InputCommon: add AnalogFromButton | wwylele | 5 | -0/+113 | |
2017-03-01 | InputCommon: add Keyboard | wwylele | 5 | -0/+202 | |