Commit Graph

25 Commits (6e376c27a327d8e123efafe49370a304cec20221)

Author SHA1 Message Date
german77 e6c4bf52f0 input_common/tas: Add swap controller 4 years ago
MonsterDruide1 b42c3ce21d input_common/tas: Base playback & recording system
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>
4 years ago
german e46f0e084c Implement full mouse support 4 years ago
german 6ee8eab670 Add cemu hook changes related to PR #4609 5 years ago
german ff679f3d17 Include HID and configuration changes related to motion 5 years ago
FearlessTobi d1e1ea0fef Address second batch of reviews 5 years ago
FearlessTobi d176feffad Address review comments and fix code compilation 5 years ago
FearlessTobi e6bd1fd1b8 yuzu: Add motion and touch configuration 5 years ago
Lioncash 98f5d8a713 input_common/main: Remove unnecessary headers 5 years ago
Lioncash 4b9b203c09 input_common/main: Remove unimplemented prototype
I forgot to remove this in the rebase when removing most of the global
variables within the input common codebase.
5 years ago
Lioncash 9e1b0af259 input_common: Eliminate most global state
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.
5 years ago
Morph efa0b7a056 Address feedback 5 years ago
Morph f0fac0c7fb Project Mjölnir: Part 1
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
5 years ago
Ameer 28046ae3a9 Tidy up the pointers, use pair over tuple where appropriate 5 years ago
Ameer 121af3646d Singleton GC Adapter class, remove globals, fix naming convention
Fix clang formatting

Manual fix for configure_input_player formatting

Add missing lib usb cmake command
5 years ago
Ameer c94583d867 Clang Formatting 5 years ago
Ameer 0248614add GC Adapter Implementation 5 years ago
James Rowe 09ac66388c Input: Remove global variables from SDL Input
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
6 years ago
Tobias 804115b2a4 Port #4141 from citra: Joystick hotplug support (#1275)
* 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
7 years ago
muemart eaff98dbb3 Adding meumart's Citra SDL Joystick support. Citra PR #3116 7 years ago
James Rowe bbfa9d0635 Merge pull request #2861 from wwylele/motion-refactor
Refactor MotionEmu into a InputDevice
8 years ago
Dave Leaver bf71fc0342 Fix Spelling/English mistakes 8 years ago
wwylele 188194908c move MotionEmu from core/frontend to input_common as a InputDevice 8 years ago
wwylele a6bd7917cb InputCommon: add AnalogFromButton 8 years ago
wwylele 38e800f70d InputCommon: add Keyboard 8 years ago