summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/controllers (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-24Use different timing for motiongerman3-73/+137
2020-09-18hid: Implement Get/SetNpadHandheldActivationModeMorph2-0/+18
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-05configure_input: Hook up the motion button and checkboxMorph1-1/+1
This allows toggling motion on or off, and allows access to the motion configuration. Also changes the [waiting] text for motion buttons to Shake! as this is how motion is connected to a player.
2020-09-05Add cemu hook changes related to PR #4609german1-2/+1
2020-09-05Remove RealMotionDevicegerman2-7/+8
2020-09-05controllers/npad: Simplify motion entry assignmentMorph1-29/+18
Simplifies the motion assignment in the Dual Joycon entry and assigns index 1 of the motion entry (Motion 2) for the right joycon.
2020-09-05Include HID and configuration changes related to motiongerman2-9/+162
2020-09-04hid: Implement MergeSingleJoyasDualJoyMorph2-0/+17
- Used in multiple games such as Super Mario Odyssey.
2020-09-04applets/controller: Implement fallback applet for the SDL frontendMorph2-89/+0
Implement the fallback applet for the SDL frontend, connecting only the minimum amount of players required.
2020-09-04Project Mjölnir: Part 2 - Controller AppletMorph2-11/+23
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-29yuzu: Add motion and touch configurationFearlessTobi2-1/+12
2020-08-26controllers/npad: Fix inconsistencies with controller connection statusesMorph1-1/+7
2020-08-26controllers/npad: Fix LibNX controller connection statusesMorph1-1/+9
This allows homebrew applications to be able to properly detect connected controllers.
2020-08-26controllers/npad: Fix LedPattern for P1-4Morph1-3/+3
2020-08-26Project Mjölnir: Part 1Morph2-118/+106
Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-14core: Resolve several -Wextra-semi warningsLioncash1-2/+2
We can amend one of the cascade macros to require semicolons in order to compile. In other cases, we can just remove the superfluous semicolons.
2020-07-16hid: Only update keyboard & debug pad inputs if enabledDavid Marcec2-33/+37
Previously we would ignore this setting and would update the states regardless of the user setting
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow8-9/+9
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-06-21hid: Implement Get/ResetGyroscopeZeroDriftModeMorph2-1/+17
- Used by Captain Toad Treasure Tracker
2020-06-21Clang FormattingAmeer1-26/+16
2020-06-21GC Adapter ImplementationAmeer1-16/+26
2020-05-12hid: Clear keyboard states & fix logic issueDavid Marcec1-3/+4
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
2020-04-20npad: Lower log level for VibrateController to DebugFearlessTobi1-1/+1
2020-04-18service: hid: npad: Fix implicit fallthrough errors.bunnei1-0/+2
2020-02-18analog_from_button get direction implementationCJBok1-5/+5
2020-01-15Moved analog direction logic to sdl_implCJBok1-9/+22
2020-01-14Corrected directional states sensitivityCJBok1-9/+9
2020-01-09hid: Fix analog sticks directional statesCJBok1-12/+12
2019-11-25kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2-3/+2
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei1-1/+1
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
2019-10-18hid/npad: Fix incorrect connection boolean value in ConnectAllDisconnectedControllers()Lioncash1-1/+1
We should be setting the connection state to true, otherwise we aren't actually making the controllers connected like the function name indicates.
2019-10-18hid/npad: Add missing break in default caseLioncash1-0/+1
While not an issue, it does prevent fallthrough from occurring if anything is ever added after this case (unlikely to occur, but this turns a trivial "should not cause issues" into a definite "won't cause issues).
2019-10-18hid/npad: Replace std::for_each with ranged for loopsLioncash1-13/+12
Performs the same behavior, but is built into the core language itself. No functional change.
2019-10-18hid/npad: Remove redundant non-const variant of IsControllerSupported()Lioncash2-34/+5
The const qualified variant can also be called in non-const contexts, so we can remove the non-const variant to eliminate a bit of code duplication.
2019-10-18hid/npad: Move function declarationsLioncash1-5/+6
Clearly separate these from the variable declarations to make them more visible.
2019-10-05service/hid: Silence -Wunused and -WswitchReinUsesLisp14-21/+14
2019-10-05service/hid: Remove unused system referenceReinUsesLisp2-2/+1
2019-09-24Signal styleset changes at a better timeDavid Marcec1-8/+2
We should signal when a net controller is added and our event should be manual, not automatic.
2019-09-22removed commentDavid Marcec1-1/+0
2019-09-22RebasedDavid Marcec2-10/+18
2019-09-22removed unneeded semicolonDavid Marcec1-1/+1
2019-09-22marked controller constructors as explicitDavid Marcec8-8/+8
2019-09-22RebaseDavid Marcec18-38/+53
2019-09-22Deglobalize System: HidDavid Marcec18-21/+25
2019-09-04dittoMorph19841-1/+1
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2019-09-04IsVibrationEnabled() as a const member funcMorph19841-1/+1
2019-09-04Update npad.hMorph19841-0/+1
2019-09-04Update npad.cppMorph19841-0/+6
2019-07-08addressed issuesDavid Marcec1-6/+7
2019-07-01hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignmentDavid Marcec2-0/+35
StartLrAssignmentMode and StopLrAssignmentMode don't require any implementation as it's just used for showing the screen of changing the controller orientation if the user wishes to do so. Ever since #1634 this has not been needed as users can specify the controller orientation from the config and swap at any time. We store a private member just in case this gets used for anything extra in the future
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash1-1/+1
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-02-16core_timing: Convert core timing into a classLioncash17-26/+39
Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash8-9/+9
Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace.
2019-02-06remove all occurance of specifying endianness inside BitFieldWeiyi Wang3-68/+68
This commit it automatically generated by command in zsh: sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.) BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2018-12-29web_browser: Add bounds checking to applet interfaceZach Hilman2-5/+3
2018-12-28hid: Make Hid service accessible and add GetPressStateZach Hilman2-0/+14
2018-12-26npad: Remove code to invert input in horizontal mode.bunnei1-46/+0
- This was incorrect, the game appears to handle this for us. - Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
2018-12-02Fixed crash with SetNpadModeDavid Marcec1-2/+3
fixed crash due to handheld
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman2-13/+7
2018-11-29core: Port all current usages of Event to Readable/WritableEventZach Hilman2-8/+17
2018-11-28npad: Use NPadIdToIndex to prevent invalid array accessZach Hilman1-2/+2
2018-11-27npad: Fix copy/paste error with LED position assignmentsZach Hilman1-3/+3
2018-11-26Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec1-1/+2
2018-11-22debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)Zach Hilman1-2/+3
Prevents memory exceptions when the debug pad is enabled.
2018-11-19hid: Use player-defined controller type as PREFERRED_CONTROLLERZach Hilman4-174/+61
2018-11-19hid/npad: Update NPad to use player controller bindings and typeZach Hilman2-55/+108
2018-11-19hid/touchscreen: Update Touchscreen to use advanced parametersZach Hilman1-6/+6
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
2018-11-19hid: Add controller bindings for Mouse controllerZach Hilman2-4/+30
2018-11-19hid: Add keyboard bindings for Keyboard controllerZach Hilman2-2/+24
2018-11-19hid: Add controller bindings for DebugPad controllerZach Hilman2-21/+43
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
2018-11-19Added missing start/end touch attributes to touchscreenDavid Marcec2-1/+18
2018-11-19Added debugpad skeletonDavid Marcec2-2/+55
2018-11-19Added controller helper funcsDavid Marcec2-0/+35
2018-11-19Left joycon rotation button remappingDavid Marcec2-7/+21
2018-11-19Added automatic npad switch based on supported stylesetsDavid Marcec2-4/+124
2018-11-19Added multi-input support and controller assignment at any portDavid Marcec2-122/+181
2018-11-16Fixed priority switching edge case for handheld (#1675)David1-12/+46
* Fixed priority switching edge case for handheld We accidently used controller index instead of npad id * Moved NPadIdToIndex
2018-11-14hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate()Lioncash1-0/+1
2018-11-07Updated npad styles on holdtype switchesDavid Marcec1-0/+2
Fixes input for megaman
2018-11-02Fixed HID crash when launching more than 1 game & signaled syleset change eventDavid Marcec1-0/+3
This should fix crashes when launching multiple games in yuzu
2018-10-24npad: Remove unused controller variable from OnInit()Lioncash1-2/+3
This also gets rid of variable shadowing related to the lambda parameter a little bit below this code as well.
2018-10-20Added auto controller switching to supported controllers and single joycon button rotationDavid Marcec2-4/+189
This is a subset of the better-hid-2 changes, this fixes input in various games which don't support dual joycons. This pr will search for the next best controller which is supported by the current game
2018-10-18hid/controller: Remove unused header inclusionsLioncash9-9/+0
swap.h only needs to be present in the header for the type aliases and definitions, it's not actually needed in the cpp files though. input.h is just unused entirely in xpad.h
2018-10-18hid/controller/npad: Remove unused dump_idx member variableLioncash1-1/+0
Given it's unused, we may as well toss it.
2018-10-18hid/controller/npad: Remove unnecessary semicolon from the closing brace of LedPattern's constructorLioncash1-1/+1
2018-10-18hid/controller/npad: Remove #pragma once from the cpp fileLioncash1-2/+0
This is only useful in headers.
2018-10-18hid/controller/npad: Move npad_id_list into the cpp fileLioncash2-2/+10
This is just a lookup table, and since it's private, there's nothing really stateful about it, so we can just move it into the cpp file.
2018-10-18hid/controller/npad: Remove unnecessary const from void return typeLioncash2-2/+2
This literally does nothing.
2018-10-18hid/controller: Default the destructors of all controller types in the cpp fileLioncash16-0/+16
These classes are non-trivial and are definitely going to be changed in the future, so we default these to prevent issues with forward declarations, and to keep the compiler from inlining tear-down code.
2018-10-18controller_base: Default the base class constructor and destructor in the cpp fileLioncash2-2/+4
The destructor doesn't need to be a pure-virtual function.
2018-10-17Using dual joycons as the default controllerDavid Marcec2-74/+58
Reason for the change is to allow both docked and undocked mode to work
2018-10-12WipDavid Marcec1-2/+18
2018-10-11Dynamically decide handheld variant based on supported npad id priorityDavid Marcec2-19/+58
Kirby input still doesn't work, should fix a lot of other games
2018-10-10Added BeginPermitVibrationSession and EndPermitVibrationSessionDavid Marcec2-0/+8
Used by Mario Party
2018-10-10Added GetLedPattern and HandheldVariantDavid Marcec2-4/+54
HandheldVariant is for specific games which expect handheld controllers to be at position 8(kirby), however this doesn't fix all games as some games require handhelds to be at position 0(snipperclips)
2018-10-10Kirby expects handheld controllers to be at position 8David Marcec1-2/+8
2018-10-10Added the ability to "disconnect" individual npadsDavid Marcec2-15/+36
Fixes arms
2018-10-10Removed unneeded forward declarationsDavid Marcec2-13/+2
2018-10-10Addressed changes for better hidDavid Marcec18-130/+208
2018-10-10"Better Hid" rework part 1David Marcec18-0/+1289