Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | input_common: Add VibrationDevice and VibrationDeviceFactory | Morph | 2020-11-16 | 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. | ||||
* | configure_input: Add per-player vibration | Morph | 2020-11-16 | 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> | ||||
* | controllers/npad: Add heuristics to reduce rumble state changes | Morph | 2020-11-16 | 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. | ||||
* | configure_input_player: Change "Defaults" button behavior | Morph | 2020-11-16 | 1 | -8/+0 |
| | | | | | RestoreDefaults() now restores the selected devices' mappings using UpdateMappingWithDefaults(). This allows us to move the keyboard mapping from RestoreDefaults() to UpdateMappingWithDefaults(). | ||||
* | udp/client: Reduce testing period to 5 seconds | Morph | 2020-11-16 | 1 | -1/+1 |
| | |||||
* | configure_input_player: Implement input exclusivity and persistence | Morph | 2020-11-16 | 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". | ||||
* | Add hotplug, rumble and fix 3rd party adapters for the GC adapter | german | 2020-10-29 | 3 | -303/+433 |
| | |||||
* | sdl_impl: Fix controller reconnection issues | Morph | 2020-10-21 | 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. | ||||
* | Merge pull request #4809 from Morph1984/mjolnir-p3 | LC | 2020-10-20 | 1 | -2/+0 |
|\ | | | | | configure_input_player: Fix modifier buttons | ||||
| * | configure_input_player: Fix modifier buttons | Morph | 2020-10-20 | 1 | -2/+0 |
| | | | | | | | | Fix them for real this time, now they finally work. | ||||
* | | Merge pull request #4627 from Morph1984/fix-dinput-controller-disconnect | bunnei | 2020-10-20 | 1 | -15/+13 |
|\ \ | |/ |/| | sdl_impl: Erase the SDLJoystick entry after removing a controller | ||||
| * | sdl_impl: Erase the SDLJoystick entry after removing a controller | Morph | 2020-10-16 | 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. | ||||
* | | udp/client: Make use of designated initializers in TestCommunication() | Lioncash | 2020-10-16 | 1 | -2/+5 |
| | | | | | | | | Same behavior, but makes the callback list nicer to look at. | ||||
* | | udp/client: Take std::function by const reference with TestCommunication() | Lioncash | 2020-10-16 | 2 | -5/+5 |
|/ | | | | Avoids redundant copies. | ||||
* | input_common/CMakeLists: Make some warnings errors | Lioncash | 2020-10-16 | 16 | -191/+237 |
| | | | | | Makes the input_common code warnings consistent with the rest of the codebase. | ||||
* | Merge pull request #4757 from german77/BetterMotion | bunnei | 2020-10-10 | 2 | -8/+102 |
|\ | | | | | InputCommon: Add compatibility with only accelerometer and auto calibrate for drift | ||||
| * | Address comments | german | 2020-10-05 | 2 | -40/+40 |
| | | |||||
| * | Add compatibility with only accelerometer and auto calibrate for drift | german | 2020-10-04 | 2 | -12/+106 |
| | | |||||
* | | Merge pull request #4677 from german77/ShakeFromButton | bunnei | 2020-10-08 | 9 | -5/+295 |
|\ \ | | | | | | | InputCommon: Add random motion input for buttons | ||||
| * | | Add random motion input to keyboard | german | 2020-09-26 | 4 | -0/+65 |
| | | | |||||
| * | | Add random motion input to SDL | german | 2020-09-26 | 5 | -5/+230 |
| | | | |||||
* | | | Merge pull request #4727 from FrogTheFrog/patch-1 | bunnei | 2020-10-07 | 1 | -2/+6 |
|\ \ \ | |_|/ |/| | | Reduce the "shake" requirements when configuring UDP. | ||||
| * | | Reduce the "shake" requirements when configuring UDP. | Lukas Senionis | 2020-09-30 | 1 | -2/+6 |
| |/ | |||||
* / | First implementation of controller rumble | german | 2020-09-29 | 1 | -1/+38 |
|/ | |||||
* | Add automap feature for GC adapter | german | 2020-09-18 | 3 | -1/+103 |
| | |||||
* | Merge pull request #4594 from german77/MotionHID | bunnei | 2020-09-17 | 9 | -135/+471 |
|\ | | | | | hid/configuration: Implement motion controls to HID | ||||
| * | Minor cleanup | german | 2020-09-05 | 1 | -19/+16 |
| | | |||||
| * | Add cemu hook changes related to PR #4609 | german | 2020-09-05 | 6 | -137/+426 |
| | | |||||
| * | Remove RealMotionDevice | german | 2020-09-05 | 4 | -7/+25 |
| | | |||||
| * | Include HID and configuration changes related to motion | german | 2020-09-05 | 3 | -1/+33 |
| | | |||||
* | | gc_adapter: Disable MSVC nonstandard extension warning on libusb.h | ReinUsesLisp | 2020-09-15 | 1 | -0/+9 |
| | | | | | | | | Pragma disable zero-sized array nonstandard extension warning on MSVC. | ||||
* | | gc_adapter: Make DeviceConnected() a const member function | Lioncash | 2020-09-07 | 3 | -9/+9 |
|/ | | | | This doesn't modify instance state, so it can be made const. | ||||
* | Merge pull request #4583 from lioncash/trunc | bunnei | 2020-09-04 | 1 | -3/+5 |
|\ | | | | | gc_poller: Resolve compilation warnings on MSVC | ||||
| * | gc_poller: Resolve compilation warnings on MSVC | Lioncash | 2020-08-26 | 1 | -3/+5 |
| | | | | | | | | We just need to make our intentional implicit truncations explicit. | ||||
* | | input_common/motion_input: Make use of Common::PI constant | Morph | 2020-09-02 | 2 | -4/+9 |
| | | | | | | | | Also amend the copyright notice to yuzu's instead of Dolphin's, which was mistakenly copy-pasted from another file. | ||||
* | | Merge pull request #4570 from german77/motionInput | bunnei | 2020-09-02 | 3 | -0/+246 |
|\ \ | | | | | | | input_common: Add a basic class for motion devices | ||||
| * | | Fix orientation errors and improve drift correction | german | 2020-08-28 | 2 | -14/+31 |
| | | | |||||
| * | | Address comments | german | 2020-08-28 | 2 | -85/+65 |
| | | | |||||
| * | | Implement a basic class for motion devices | german | 2020-08-28 | 3 | -0/+249 |
| | | | |||||
* | | | Merge pull request #4382 from FearlessTobi/port-udp-config | bunnei | 2020-09-01 | 5 | -0/+89 |
|\ \ \ | | | | | | | | | yuzu: Add motion and touch configuration from Citra | ||||
| * | | | Address second batch of reviews | FearlessTobi | 2020-08-30 | 3 | -6/+2 |
| | | | | |||||
| * | | | Address review comments and fix code compilation | FearlessTobi | 2020-08-29 | 3 | -6/+11 |
| | | | | |||||
| * | | | yuzu: Add motion and touch configuration | FearlessTobi | 2020-08-29 | 5 | -0/+88 |
| | | | | |||||
* | | | | sdl_impl: Reduce allocations in GetButtonMappingForDevice() | Lioncash | 2020-08-29 | 1 | -31/+37 |
| | | | | | | | | | | | | | | | | These maps can be constexpr arrays of std::pair. | ||||
* | | | | sdl_impl: Make use of std::move on std::string where applicable | Lioncash | 2020-08-29 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | Avoids redundant copies. | ||||
* | | | | sdl_impl: Make use of insert_or_assign() where applicable | Lioncash | 2020-08-29 | 1 | -14/+18 |
| | | | | | | | | | | | | | | | | Avoids churning ParamPackage instances. | ||||
* | | | | sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() default arguments | Lioncash | 2020-08-29 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | We need to add the 'f' suffix to make the right hand side a float and not a double. | ||||
* | | | | sdl_impl: Simplify make_tuple call | Lioncash | 2020-08-29 | 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. | ||||
* | | | | sdl_impl: Mark FromEvent() as a const member function | Lioncash | 2020-08-29 | 1 | -2/+2 |
|/ / / | | | | | | | | | | This doesn't modify internal member state, so it can be marked as const. | ||||
* | | | input_common/main: Remove unnecessary headers | Lioncash | 2020-08-29 | 3 | -5/+11 |
| | | | |||||
* | | | input_common/main: Remove unimplemented prototype | Lioncash | 2020-08-29 | 1 | -3/+0 |
| | | | | | | | | | | | | | | | I forgot to remove this in the rebase when removing most of the global variables within the input common codebase. | ||||
* | | | input_common: Eliminate most global state | Lioncash | 2020-08-27 | 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. | ||||
* | | input_common/main: Add "/Mouse" to the display name | Morph | 2020-08-27 | 1 | -1/+1 |
| | | |||||
* | | input_common: Fix directional deadzone values | Morph | 2020-08-26 | 2 | -2/+2 |
| | | | | | | | | The hardware tested value is 0.5 which translates to SHRT_MAX / 2 | ||||
* | | Address feedback | Morph | 2020-08-26 | 5 | -44/+32 |
| | | |||||
* | | Project Mjölnir: Part 1 | Morph | 2020-08-26 | 11 | -102/+798 |
|/ | | | | | Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com> | ||||
* | General: Tidy up clang-format warnings part 2 | Lioncash | 2020-08-13 | 1 | -4/+2 |
| | |||||
* | Remove UI changes | ameerj | 2020-08-10 | 2 | -2/+2 |
| | | | | This PR is now only the Analog devices handling the range value defaulting at 100% | ||||
* | Add range slider functionality for gc adapter | ameerj | 2020-08-10 | 1 | -7/+7 |
| | |||||
* | undo unnecessary newlines, slider range 50-150 | Ameer | 2020-08-10 | 1 | -1/+1 |
| | |||||
* | Add range slider for analog sticks | Ameer | 2020-08-10 | 1 | -11/+14 |
| | |||||
* | GCAdapter: only join worker thread if running & joinable | Brian J. Tarricone | 2020-07-26 | 1 | -1/+3 |
| | |||||
* | Merge pull request #4418 from lioncash/udp-warn | bunnei | 2020-07-26 | 1 | -1/+0 |
|\ | | | | | udp/client: Remove unused boost include | ||||
| * | udp/client: Remove unused boost include | Lioncash | 2020-07-25 | 1 | -1/+0 |
| | | | | | | | | Also silences a deprecation warning from boost on Clang/GCC. | ||||
* | | gc_adapter: Resolve C++20 deprecation warning | Lioncash | 2020-07-25 | 1 | -1/+1 |
| | | |||||
* | | gc_poller: Resolve -Wsign-compare warning | Lioncash | 2020-07-25 | 1 | -1/+2 |
| | | |||||
* | | gc_poller: Resolve -Wredundant-move warning | Lioncash | 2020-07-25 | 1 | -2/+1 |
|/ | |||||
* | Fix axis thresholding while polling | ameerj | 2020-07-19 | 1 | -5/+2 |
| | | | | axes were very sensitive when mapping controls. | ||||
* | std::size_t where appropriate, make error message more clear if can't read | ameerj | 2020-07-17 | 1 | -3/+4 |
| | |||||
* | Refactor adapter code | Ameer | 2020-07-16 | 2 | -179/+44 |
| | |||||
* | Rebase to master | Ameer | 2020-07-14 | 7 | -31/+48 |
|\ | |||||
| * | Fix crash if gc configured but adapter not connected | Ameer | 2020-07-14 | 2 | -15/+25 |
| | | |||||
| * | Merge pull request #4314 from lioncash/input-warn | bunnei | 2020-07-14 | 4 | -11/+15 |
| |\ | | | | | | | gcadapter: Tidy up compiler warnings | ||||
| | * | gc_poller: Mark GCButtonFactory::GetNextInput() as const | Lioncash | 2020-07-12 | 2 | -2/+2 |
| | | | | | | | | | | | | This doesn't modify class instance state. | ||||
| | * | gc_poller: Get rid of undefined behavior in Create() | Lioncash | 2020-07-12 | 1 | -0/+4 |
| | | | | | | | | | | | | Ensures that the function always has returns in all control paths. | ||||
| | * | gc_poller: Silence sign conversion warnings | Lioncash | 2020-07-12 | 1 | -1/+1 |
| | | | |||||
| | * | gc_adapter: Remove deprecated usage of = in lambda captures | Lioncash | 2020-07-12 | 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. | ||||
| | * | gc_adapter: Silence sign conversion warnings | Lioncash | 2020-07-12 | 2 | -7/+7 |
| | | | |||||
| * | | Merge pull request #4315 from lioncash/udp-warn | bunnei | 2020-07-14 | 1 | -1/+1 |
| |\ \ | | | | | | | | | udp: Silence a C++20 deprecation warning | ||||
| | * | | udp: Silence a C++20 deprecation warning | Lioncash | 2020-07-12 | 1 | -1/+1 |
| | |/ | | | | | | | | | | | | | C++20 deprecates using the = lambda capture to implicitly capture the this pointer. Instead, we must specify it explicitly. | ||||
| * | | input_common: drop unused libusb.h include | Ameer | 2020-07-14 | 1 | -1/+0 |
| | | | | | | | | | | | | Remnant of an early implementation. | ||||
| * | | input_common: make libusb private to gc_adapter | Jan Beich | 2020-07-13 | 3 | -3/+7 |
| | | | |||||
| * | | cmake: pass libusb include directory as well | Jan Beich | 2020-07-09 | 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> ^~~~~~~~~~ | ||||
* | | Break out of scan loop if can't find adapter on first run | Ameer | 2020-07-10 | 1 | -0/+3 |
| | | |||||
* | | Rebase to master, fix merge conflicts | Ameer | 2020-07-09 | 2 | -10/+30 |
|\| | |||||
| * | Merge pull request #4266 from jbeich/freebsd | bunnei | 2020-07-08 | 1 | -0/+1 |
| |\ | | | | | | | gcadapter: unbreak build on FreeBSD | ||||
| | * | input_common/gcadapter: add missing C++11 header required by libc++ | Jan Beich | 2020-07-07 | 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; ~~~~~^ | ||||
| * | | Address comments for better clarity/signed dev count | Ameer | 2020-07-08 | 1 | -11/+15 |
| | | | |||||
| * | | Add more libusb error checks | Ameer | 2020-07-08 | 1 | -3/+18 |
| |/ | |||||
* | | Address PR feedback, fix axis button thresholding | Ameer | 2020-07-07 | 3 | -58/+22 |
| | | |||||
* | | Brace the code! Fix compile error due to class member construction order | Ameer | 2020-07-07 | 2 | -15/+31 |
| | | |||||
* | | Recalibrate reconnected controllers | Ameer | 2020-07-07 | 1 | -0/+5 |
| | | |||||
* | | Save origin state of GC controller analog features, compare against origin for input detection | Ameer | 2020-07-07 | 3 | -28/+72 |
|/ | |||||
* | Fix for always firing triggers on some controllers, trigger threshold more universal | Ameer | 2020-07-04 | 2 | -5/+5 |
| | |||||
* | Address lioncash feedback: Log formatting, extern const PadButtonArray, little touch ups | Ameer | 2020-07-03 | 3 | -24/+32 |
| | |||||
* | Fix unnecessary diffs | Ameer | 2020-07-02 | 3 | -3/+3 |
| | |||||
* | 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 | 2020-07-02 | 2 | -10/+34 |
| | |||||
* | Reset adapter state on init, fixes errors relating driver hang from unexpected unplug | Ameer | 2020-07-01 | 2 | -0/+9 |
| | |||||
* | Address feedback regarding increments, const vars, and general cleanup | Ameer | 2020-06-30 | 2 | -24/+21 |
| | |||||
* | fix implicit conversion of size_t type to int | Ameer | 2020-06-30 | 1 | -1/+1 |
| | |||||
* | left const auto&, comment punctuation. | Ameer J | 2020-06-27 | 1 | -2/+2 |
| | | | Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com> | ||||
* | const& to button in button array | Ameer J | 2020-06-26 | 1 | -2/+2 |
| | | | Co-authored-by: VolcaEM <63682805+VolcaEM@users.noreply.github.com> | ||||
* | Stop reading loop if error is encountered | Ameer | 2020-06-26 | 1 | -4/+4 |
| | |||||
* | padbutton enum class and struct initiailization | Ameer | 2020-06-24 | 3 | -36/+32 |
| | |||||
* | cleanup check access, read, and factory GetNextInput funcs. Use size rather than magic number | Ameer | 2020-06-23 | 4 | -151/+101 |
| | |||||
* | Fix deallocation of GC Adapter | Ameer | 2020-06-23 | 3 | -4/+10 |
| | |||||
* | std::array and const reference passing of non-trivial objects | Ameer | 2020-06-23 | 2 | -14/+13 |
| | |||||
* | Update src/input_common/main.cpp | ameerj | 2020-06-22 | 1 | -1/+1 |
| | | | | | | Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed) | ||||
* | Tidy up the pointers, use pair over tuple where appropriate | Ameer | 2020-06-22 | 4 | -24/+22 |
| | |||||
* | fix for sleep using stl | Ameer | 2020-06-22 | 1 | -1/+3 |
| | |||||
* | shared_ptr for the GC adapter class, constexpr constants | Ameer | 2020-06-22 | 5 | -66/+52 |
| | |||||
* | std::arrays where appropriate, clear q in adapter class, other touch ups | Ameer | 2020-06-22 | 5 | -27/+15 |
| | |||||
* | fix include thread | Ameer | 2020-06-22 | 1 | -0/+1 |
| | |||||
* | Singleton GC Adapter class, remove globals, fix naming convention | Ameer | 2020-06-22 | 7 | -202/+259 |
| | | | | | | | | Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command | ||||
* | Clang Formatting | Ameer | 2020-06-21 | 6 | -77/+99 |
| | |||||
* | Cleanup after linter | Ameer | 2020-06-21 | 9 | -167/+98 |
| | |||||
* | GC Adapter Implementation | Ameer | 2020-06-21 | 15 | -100/+1039 |
| | |||||
* | input_common/motion_emu: Remove redundant move | MerryMage | 2020-06-19 | 1 | -1/+1 |
| | | | | Named return value optimization automatically applies here. | ||||
* | input_common/keyboard: Remove redundant move | MerryMage | 2020-06-19 | 1 | -1/+1 |
| | | | | Named return value optimization automatically applies here. | ||||
* | input_common: fix build when SDL2 is disabled | FearlessTobi | 2020-05-02 | 1 | -0/+6 |
| | |||||
* | Merge pull request #3673 from lioncash/extra | bunnei | 2020-04-17 | 1 | -0/+1 |
|\ | | | | | CMakeLists: Specify -Wextra on linux builds | ||||
| * | CMakeLists: Specify -Wextra on linux builds | Lioncash | 2020-04-16 | 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. | ||||
* | | input_common: Use the CMake target instead of the variable. | Markus Wick | 2020-04-16 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #3525 from FearlessTobi/linux-compile-error | bunnei | 2020-03-21 | 1 | -1/+1 |
|\ | | | | | input_common/udp: Fix Linux build by using a backwards compatible way of error checking | ||||
| * | input_common/udp: Fix Linux build by using a backwards compatible way of error checking | FearlessTobi | 2020-03-17 | 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. | ||||
* | | input_common/udp: Fix clang build issues | ReinUsesLisp | 2020-03-18 | 1 | -1/+2 |
|/ | |||||
* | input/udp - Add minor error handling to prevent bad input from crashing | James Rowe | 2020-03-04 | 1 | -4/+13 |
| | |||||
* | input/udp - Dont log on invalid packet received | James Rowe | 2020-03-04 | 1 | -1/+0 |
| | |||||
* | analog_from_button get direction implementation | CJBok | 2020-02-18 | 1 | -0/+14 |
| | |||||
* | input_common/udp: Ensure that UDP is shut down within Shutdown() | Lioncash | 2020-02-03 | 1 | -0/+1 |
| | | | | Previously the UDP backend would never actually get shut down. | ||||
* | input_common/udp: Add missing override specifiers | Lioncash | 2020-02-03 | 1 | -2/+2 |
| | | | | | Prevents trivial warnings and ensures interfaces are properly maintained between the base class. | ||||
* | input_common/udp: std::move SocketCallback instances where applicable | Lioncash | 2020-02-03 | 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. | ||||
* | input_common/udp: std::move shared_ptr within Client constructor | Lioncash | 2020-02-03 | 1 | -1/+1 |
| | | | | | Gets rid of a trivially avoidable atomic reference count increment and decrement. | ||||
* | udp/client: Replace deprecated from_string() call with make_address_v4() | Lioncash | 2020-02-03 | 1 | -2/+2 |
| | | | | Future-proofs code if boost is ever updated. | ||||
* | input_common/udp: Silence -Wreorder warning for Socket | Lioncash | 2020-02-03 | 1 | -4/+3 |
| | | | | | Amends the constructor initializer list to specify the order of its elements in the same order that initialization would occur. | ||||
* | input_common/udp: Remove unnecessary inclusions | Lioncash | 2020-02-03 | 4 | -8/+4 |
| | |||||
* | input_common/udp: Add missing header guard | Lioncash | 2020-02-03 | 1 | -0/+2 |
| | |||||
* | Merge pull request #3284 from CJBok/hid-fix | bunnei | 2020-02-01 | 1 | -0/+16 |
|\ | | | | | hid: Fix analog sticks directional states | ||||
| * | Moved analog direction logic to sdl_impl | CJBok | 2020-01-15 | 1 | -0/+16 |
| | | |||||
* | | Address second part of review comments | FearlessTobi | 2020-01-23 | 3 | -13/+17 |
| | | |||||
* | | Address review comments | FearlessTobi | 2020-01-23 | 4 | -65/+72 |
| | | |||||
* | | Input: UDP Client to provide motion and touch controls | fearlessTobi | 2020-01-23 | 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> | ||||
* | input_common/sdl/sdl_impl: Correct logging string in SDLState constructor | Lioncash | 2019-06-03 | 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. | ||||
* | input_common/sdl/sdl_impl: Move documentation comments to header where applicable | Lioncash | 2019-06-03 | 2 | -7/+6 |
| | | | | | Places the documentation comments with the rest of SDLState's member function documentation. | ||||
* | input_common/sdl/sdl_impl: Amend names for axes for SDLAnalogPoller | Lioncash | 2019-06-03 | 1 | -13/+13 |
| | | | | Adds another underscore to clearly indicate the axis names. | ||||
* | input_common/sdl/sdl_impl: Mark variables const where applicable | Lioncash | 2019-06-03 | 1 | -10/+11 |
| | | | | | Make it explicit that these aren't modified elsewhere (either through functions by reference, or by other operations). | ||||
* | input_common/sdl/sdl_impl: Mark SDLEventToButtonParamPackage() as static | Lioncash | 2019-06-03 | 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. | ||||
* | input_common/sdl/sdl_impl: Convert reinterpret_cast into a static_cast | Lioncash | 2019-06-03 | 1 | -2/+4 |
| | | | | It's valid to static_cast a void pointer back into its proper type. | ||||
* | input_common/sdl/sdl_impl: Use insert_or_assign() where applicable | Lioncash | 2019-06-03 | 1 | -3/+3 |
| | | | | | Same behavior, but without a potential need to unnecessarily default construct a value. | ||||
* | input_common/sdl/sdl_impl: Simplify SDL_Joystick deleter handling | Lioncash | 2019-06-03 | 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. | ||||
* | input_common/sdl/sdl_impl: Resolve two sign conversion warnings | Lioncash | 2019-06-03 | 1 | -10/+16 |
| | | | | Silences the final two warnings in SDL code. | ||||
* | input_common/sdl: Remove unused header includes and forward declarations | Lioncash | 2019-06-03 | 3 | -11/+5 |
| | | | | | Gets rid of a few unnecessary inclusion dependencies. It also uncovered a few indirect inclusion dependencies being relied upon. | ||||
* | input_common/sdl/sdl_impl: Use nested namespace specifiers where applicable | Lioncash | 2019-06-03 | 1 | -5/+2 |
| | |||||
* | input_common/sdl/sdl_impl: Silence sign conversion warnings | Lioncash | 2019-05-31 | 1 | -3/+3 |
| | | | | Makes the conversions explicit, as opposed to implicit. | ||||
* | general: Use deducation guides for std::lock_guard and std::unique_lock | Lioncash | 2019-04-01 | 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. | ||||
* | input_common/sdl: Correct return values within implementations of GetPollers() | Lioncash | 2019-03-18 | 2 | -2/+6 |
| | | | | | In both cases, we weren't actually returning anything, which is undefined behavior. | ||||
* | input_common/sdl: Use a type alias to shorten declaration of GetPollers | Lioncash | 2019-03-18 | 3 | -11/+9 |
| | | | | Just makes the definitions a little bit more tidy. | ||||
* | input_common/sdl_impl: Make lambda capture more specific in SDLState constructor | Lioncash | 2019-03-17 | 1 | -1/+1 |
| | | | | | We don't need to universally capture by reference. We specifically just need to capture the this pointer. | ||||
* | input_common/sdl_impl: Remove unnecessary std::chrono::duration construction | Lioncash | 2019-03-17 | 1 | -1/+1 |
| | | | | Specifying the time unit itself is sufficient here. | ||||
* | input_common/sdl_impl: Remove unused variable in SDLState constructor | Lioncash | 2019-03-17 | 1 | -1/+0 |
| | |||||
* | fixup! Joystick: Allow for background events; Add deadzone to SDLAnalog | B3n30 | 2019-03-02 | 1 | -6/+17 |
| | |||||
* | input/sdl: lock map mutex after SDL call | Weiyi Wang | 2019-03-02 | 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 | ||||
* | Input: Remove global variables from SDL Input | James Rowe | 2019-03-02 | 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 | ||||
* | Input: Copy current SDL.h/cpp files to impl | James Rowe | 2019-03-02 | 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 | ||||
* | common/math_util: Move contents into the Common namespace | Lioncash | 2019-02-27 | 1 | -2/+2 |
| | | | | | These types are within the common library, so they should be within the Common namespace. | ||||
* | common/vector_math: Move Vec[x] types into the Common namespace | Lioncash | 2019-02-27 | 1 | -11/+11 |
| | | | | | These types are within the common library, so they should be using the Common namespace. | ||||
* | common/quaternion: Move Quaternion into the Common namespace | Lioncash | 2019-02-27 | 1 | -4/+4 |
| | | | | | Quaternion is within the common library, so it should be using the Common namespace. | ||||
* | Port #4141 from citra: Joystick hotplug support (#1275) | Tobias | 2018-09-11 | 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 | ||||
* | input_common: Use std::move where applicable | Lioncash | 2018-08-03 | 2 | -5/+6 |
| | | | | Avoids unnecessary atomic reference count increments and decrements | ||||
* | input_common: Add missing override specifiers | Lioncash | 2018-08-03 | 3 | -14/+2 |
| | |||||
* | Rename logging macro back to LOG_* | James Rowe | 2018-07-03 | 1 | -3/+3 |
| | |||||
* | input_common: Move old logging macros over to fmt-capable ones | Lioncash | 2018-04-27 | 1 | -3/+3 |
| | |||||
* | math_util: Remove the Clamp() function | Lioncash | 2018-04-20 | 1 | -2/+3 |
| | | | | | C++17 adds clamp() to the standard library, so we can remove ours in favor of it. | ||||
* | Format: Run the new clang format on everything | James Rowe | 2018-01-21 | 1 | -1/+2 |
| | |||||
* | Merge pull request #84 from lioncash/cmake | bunnei | 2018-01-18 | 1 | -19/+12 |
|\ | | | | | CMakeLists: Derive the source directory grouping from targets themselves | ||||
| * | CMakeLists: Derive the source directory grouping from targets themselves | Lioncash | 2018-01-18 | 1 | -19/+12 |
| | | | | | | | | | | Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases. | ||||
* | | input_common/sdl: Silence a -Wpessimizing-move warning | Lioncash | 2018-01-18 | 1 | -1/+1 |
|/ | |||||
* | Adding meumart's Citra SDL Joystick support. Citra PR #3116 | muemart | 2018-01-16 | 4 | -1/+248 |
| | |||||
* | motion_emu: fix initialization order | wwylele | 2017-08-22 | 1 | -1/+4 |
| | |||||
* | Merge pull request #2861 from wwylele/motion-refactor | James Rowe | 2017-08-20 | 5 | -2/+231 |
|\ | | | | | Refactor MotionEmu into a InputDevice | ||||
| * | motion_emu: no need to include thread in header | wwylele | 2017-08-19 | 2 | -2/+7 |
| | | |||||
| * | move MotionEmu from core/frontend to input_common as a InputDevice | wwylele | 2017-08-11 | 5 | -2/+226 |
| | | |||||
* | | Fix Spelling/English mistakes | Dave Leaver | 2017-08-13 | 1 | -1/+1 |
|/ | |||||
* | Fix some spelling mistakes | danzel | 2017-08-11 | 1 | -1/+1 |
| | |||||
* | CMake: Define an interface target for SDL2 definitions | Yuri Kunde Schlesner | 2017-05-28 | 1 | -2/+1 |
| | |||||
* | CMake: Correct inter-module dependencies and library visibility | Yuri Kunde Schlesner | 2017-05-28 | 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. | ||||
* | input_common/sdl: add support for binding button to axis | wwylele | 2017-04-17 | 1 | -4/+53 |
| | |||||
* | citra-qt: release all buttons when render window focus is lost | wwylele | 2017-03-17 | 2 | -0/+13 |
| | | | | credit to @Hawkheart for the original idea | ||||
* | InputCommon: add SDL joystick support | wwylele | 2017-03-01 | 4 | -0/+241 |
| | |||||
* | InputCommon: add AnalogFromButton | wwylele | 2017-03-01 | 5 | -0/+113 |
| | |||||
* | InputCommon: add Keyboard | wwylele | 2017-03-01 | 5 | -0/+202 |