summaryrefslogtreecommitdiffstats
path: root/src/input_common/main.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-02input_common: Enable virtual amiibo drivergerman771-0/+21
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda1-3/+2
[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-24input_common: Add camera drivergerman771-0/+21
2022-03-22input_common: Map sticks correctly when mapped sidewaysNarr the Reg1-0/+29
2022-03-20input_common: Reduce unused includesameerj1-1/+0
2022-01-24input_common/input_mapping: Remove const from return valueLioncash1-1/+1
Top-level const on a return by value can inhibit move semantics, and is unnecessary.
2022-01-24input_common/main: Pass MappingData by const reference in callbacksLioncash1-2/+2
Avoids creating unnecessary 168 byte copies per callback invocation.
2021-11-26input_common: Fully implement UDP controllersNarr the Reg1-5/+21
2021-11-25input_common: Move button names to the frontendgerman771-12/+5
2021-11-25input_common: Allow keyboard to be backwards compatiblegerman771-9/+0
2021-11-25core/hid: Improve accuracy of the keyboard implementationgerman771-0/+9
2021-11-25kraken: Address comments from reviewgerman771-34/+42
start lion review
2021-11-25settings: Fix mouse and keyboard mappingsgerman771-0/+3
2021-11-25kraken: Address comments from reviewgerman771-2/+5
review fixes
2021-11-25configuration: Migrate controller settings to emulated controllergerman771-0/+10
2021-11-25kraken: Fix errors from rebase and format filesgerman771-2/+4
2021-11-25core/hid: Add output devicesgerman771-10/+20
2021-11-25input_common: Rewrite main and add the new driversgerman771-11/+279
2021-11-25input_common: Rewrite keyboardgerman771-260/+3
2021-11-25input_common: Move touch and analog from button. Move udp protocolgerman771-8/+0
2021-09-24general: Update style to clang-format-12ameerj1-2/+2
2021-09-18UI: Relocate tas menu and add brief descriptiongerman771-1/+1
2021-09-18config: Move TAS options to it's own menugerman771-1/+5
2021-09-18input_common/tas: Base playback & recording systemMonsterDruide11-0/+48
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-08-08input_common: Improve SDL joystick and hide toggle optiongerman771-4/+4
2021-07-11input_common: Fix build with sdl disabledgerman771-2/+2
2021-05-15input_common: Implement SDL motiongerman771-0/+5
2020-11-26Implement full mouse supportgerman1-10/+63
2020-11-26Add multiple udp server supportgerman1-1/+1
2020-11-16input_common: Add VibrationDevice and VibrationDeviceFactoryMorph1-0/+5
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-16configure_input_player: Change "Defaults" button behaviorMorph1-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-16configure_input_player: Implement input exclusivity and persistenceMorph1-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-10-16input_common/CMakeLists: Make some warnings errorsLioncash1-0/+4
Makes the input_common code warnings consistent with the rest of the codebase.
2020-09-26Add random motion input to keyboardgerman1-0/+4
2020-09-18Add automap feature for GC adaptergerman1-1/+10
2020-09-05Add cemu hook changes related to PR #4609german1-3/+43
2020-08-29Address review comments and fix code compilationFearlessTobi1-3/+5
2020-08-29yuzu: Add motion and touch configurationFearlessTobi1-0/+9
2020-08-27input_common: Eliminate most global stateLioncash1-107/+143
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-27input_common/main: Add "/Mouse" to the display nameMorph1-1/+1
2020-08-26Address feedbackMorph1-7/+8
2020-08-26Project Mjölnir: Part 1Morph1-1/+49
Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-07-14input_common: drop unused libusb.h includeAmeer1-1/+0
Remnant of an early implementation.
2020-07-02Fix unnecessary diffsAmeer1-0/+2
2020-06-23Fix deallocation of GC AdapterAmeer1-0/+3
2020-06-22Update src/input_common/main.cppameerj1-1/+1
Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed)
2020-06-22Tidy up the pointers, use pair over tuple where appropriateAmeer1-2/+1
2020-06-22shared_ptr for the GC adapter class, constexpr constantsAmeer1-2/+4
2020-06-22std::arrays where appropriate, clear q in adapter class, other touch upsAmeer1-1/+0
2020-06-22Singleton GC Adapter class, remove globals, fix naming conventionAmeer1-0/+2
Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command
2020-06-21Cleanup after linterAmeer1-4/+0
2020-06-21GC Adapter ImplementationAmeer1-1/+22
2020-05-02input_common: fix build when SDL2 is disabledFearlessTobi1-0/+6
2020-02-03input_common/udp: Ensure that UDP is shut down within Shutdown()Lioncash1-0/+1
Previously the UDP backend would never actually get shut down.
2020-01-23Input: UDP Client to provide motion and touch controlsfearlessTobi1-3/+9
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>
2019-03-02Input: Remove global variables from SDL InputJames Rowe1-19/+4
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
2018-09-11Port #4141 from citra: Joystick hotplug support (#1275)Tobias1-0/+12
* 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-01-21Format: Run the new clang format on everythingJames Rowe1-1/+2
2018-01-16Adding meumart's Citra SDL Joystick support. Citra PR #3116muemart1-0/+11
2017-08-11move MotionEmu from core/frontend to input_common as a InputDevicewwylele1-2/+13
2017-03-01InputCommon: add SDL joystick supportwwylele1-0/+10
2017-03-01InputCommon: add AnalogFromButtonwwylele1-0/+18
2017-03-01InputCommon: add Keyboardwwylele1-0/+35