summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/hid.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-02-08service: hid: Migrate hidbus to new interfaceNarr the Reg1-1/+1
2024-01-29service: hid: Fully implement touch resourceNarr the Reg1-2/+3
2024-01-26service: set: Implement more settings functions for QlaunchNarr the Reg1-1/+1
2024-01-16service: set: Implement stubbed functionsNarr the Reg1-1/+1
2024-01-16service: hid: Fully implement abstract vibrationNarr the Reg1-0/+1
2024-01-13kernel: fix debugger and process list lifetimeLiam1-6/+4
2024-01-08Fix typos in src/core (#12625)Viktor Szépe1-6/+6
* Fix typos in src/core * Fix typo correction * Fix indentation of MemoryStateNames * Fix indent
2024-01-05hid_core: Move hid to it's own subprojectNarr the Reg1-2/+2
2024-01-04service: hid: Implement NpadResource and NpadDataNarr the Reg1-0/+1
2023-12-07service: hid: Introduce proper AppletResource emulationNarr the Reg1-0/+8
2023-11-17service: hid: Introduce firmware settings and update activate controller callsNarr the Reg1-2/+5
2023-11-15service: hid: Split hid.cpp into individual interfacesNarr the Reg1-2841/+15
2023-11-04service: hid: Silence EnableUnintendedHomeButtonInputProtectiongerman771-7/+5
2023-10-29core: Close all KEventsgerman771-0/+4
2023-09-16service: hid: Implement ApplyNpadSystemCommonPolicygerman771-7/+24
2023-09-16hid: service: Implement Last active Npadgerman771-1/+1
2023-08-11service: hid: Implement functions needed by QLaunchNarr the Reg1-8/+60
2023-05-15service: hid: Use span instead of vector referencegerman771-10/+10
2023-03-30service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestinationgerman771-4/+37
Used by Let's Get Fit
2023-03-12general: fix spelling mistakesLiam1-1/+1
2023-03-01service: move hle_ipc from kernelLiam1-114/+114
2023-02-25core: Update service function tables to 16.0.0+Narr the Reg1-0/+6
2023-02-24hid: avoid direct pointer access of transfer memory objectsLiam1-3/+2
2023-02-21service: refactor server architectureLiam1-8/+13
Converts services to have their own processes
2023-02-14service: remove deleted servicesLiam1-14/+0
2023-02-14general: rename CurrentProcess to ApplicationProcessLiam1-4/+4
2023-02-10core: hid: Use gyro thresholds modes set by the gameNarr the Reg1-3/+3
2023-02-08service: hid: Return error if arguments of SetSupportedNpadIdType is invalidNarr the Reg1-3/+3
2023-02-03Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"ameerj1-2/+2
This reverts commit 25fc5c0e1158cb8e81cbc769b24ad84032a1fbfd, reversing changes made to af20e25081f97d55b451606c87922e2b49f0d363.
2023-02-02Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"liamwhite1-2/+2
2022-12-29hle_ipc: Rename ReadBufferSpan to ReadBufferameerj1-4/+4
2022-12-29hidbus: Use ReadBufferSpanameerj1-1/+1
2022-12-25service: Use ReadBufferSpan where it is trivial to do soameerj1-4/+4
2022-11-19service: hid: Only overclock npad controllersgerman771-5/+27
2022-10-16general: Fix spelling of "unknown"Morph1-1/+1
2022-09-25service: hid: Partially implement palma controllerNarr the Reg1-32/+412
2022-09-10yuzu: Multiple room UI improvementsgerman771-1/+2
2022-09-01Demote services from warning/info to debug to reduce log spam:Kelebek11-7/+7
GetCurrentFocusState SetClockSpeed EnableSixAxisSensorUnalteredPassthrough IsSixAxisSensorUnalteredPassthroughEnabled Get, GetOld SetAndWait, SetAndWaitOld IocParam IocFree
2022-08-22hid: core: Add missing function table namesgerman771-0/+6
2022-07-24service: irs: Move to IRS namespace and minor fixesgerman771-2/+2
2022-07-10PRKelebek11-4/+3
2022-07-10Rework CoreTimingKelebek11-27/+15
2022-06-29service: hid: Correct some mistakes and add more validationsNarr the Reg1-31/+44
2022-06-14common: Change semantics of UNREACHABLE to unconditionally crashLiam1-1/+1
2022-05-27service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssignedgerman771-1/+26
Needed by Nintendo Switch Sports
2022-05-27service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformationgerman771-2/+62
Needed by Nintendo Switch Sports
2022-05-27service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabledgerman771-2/+55
Needed by Nintendo Switch Sports
2022-05-27service: hid: Implement MergeSingleJoyAsDualJoy according to REgerman771-3/+3
2022-05-27service: hid: Add error handling to setNpadAssignment and variantsgerman771-11/+13
2022-05-27service: hid: Quick RE fixes and commentsgerman771-28/+30
2022-05-06service: hid: Fix motion refresh rateNarr the Reg1-2/+1
2022-04-27service: hid: Stub IsFirmwareUpdateNeededForNotificationgerman771-1/+20
Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
2022-04-23service: hid: Access shared memory directlyNarr the Reg1-23/+18
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
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-18service: hid: Improve accuracy of sixaxis functionsNarr the Reg1-37/+92
2022-04-16hidbus: Implement hidbus and ringcongerman771-26/+1
2022-04-06service: hid: Partially revert #8123german771-0/+4
2022-03-31service: hid: Remove inaccurate behavior on initializationgerman771-4/+0
2022-03-31service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandleNarr the Reg1-0/+4
2022-02-12hid: Stub IsUsbFullKeyControllerEnabledlat9nq1-1/+11
Used by Splatoon 2, when opening the inventory from a LAN battle lobby. Reference: https://switchbrew.org/wiki/HID_services
2022-01-19service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClampgerman771-1/+2
2022-01-13service/hid: Decrease motion update rateNarr the Reg1-1/+2
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2021-12-16core/hid: Cancel any vibration after the testNarr the Reg1-1/+1
2021-12-06service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignmentgerman771-2/+33
Used by ring fit adventure 1.2.0
2021-12-05service/hid: Implement SetNpadJoyAssignmentModegerman771-13/+13
2021-11-27core/hid: Stub GetUniquePadsFromNpadNarr the Reg1-1/+13
Used in checkpoint homebrew
2021-11-25core/hid: Improve accuary of mouse implementationgerman771-11/+18
2021-11-25core/hid: Improve accuracy of the keyboard implementationgerman771-4/+31
2021-11-25core/hid: Remove usage of native types, fix a couple of errors with motiongerman771-130/+159
2021-11-25service/hid: Remove includes of core.h and settings.hgerman771-0/+1
2021-11-25core/hid: Rename NpadType to NpadStyleIndexgerman771-7/+7
2021-11-25kraken: Address comments from reviewgerman771-2/+1
review fixes
2021-11-25kraken: Fix errors from rebase and format filesgerman771-1/+0
2021-11-25service/hid: Use remove duplicated code, update namesgerman771-37/+30
2021-11-25settings: Cleanup settingsgerman771-2/+1
2021-11-04core: Remove unused includesameerj1-2/+0
2021-10-07service: Reduce header include overheadMorph1-4/+0
2021-09-29style: Remove extra space preceding the :: operatorMorph1-1/+1
2021-09-27service/hid: Update to 13.0.0german771-0/+9
2021-09-10hid: Stub SetTouchScreenConfigurationgerman771-1/+13
2021-07-21hle: service: Add a helper module for managing kernel objects.bunnei1-6/+8
2021-06-11hid: Stub IsFirmwareUpdateAvailableForSixAxisSensorgerman771-1/+22
2021-06-02general: Replace RESULT_UNKNOWN with ResultUnknownMorph1-2/+2
Transition to PascalCase for result names.
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph1-72/+72
Transition to PascalCase for result names.
2021-05-24hid: ApplyNpadSystemCommonPolicyChloe Marcec1-1/+10
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-06hle: kernel: Migrate KClientPort to KAutoObject.bunnei1-1/+1
2021-05-06hle: kernel: Migrate KTransferMemory to KAutoObject.bunnei1-8/+9
2021-05-06hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.bunnei1-1/+0
2021-05-06hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei1-6/+4
2021-05-06hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei1-1/+1
2021-04-24hid: Implement SevenSixAxis and ConsoleSixAxisSensorgerman771-10/+20
2021-04-22service: hid: Get transfer memory for InitializeSevenSixAxisSensorMorph1-1/+38
2021-04-15common: Move settings to common from core.bunnei1-1/+1
- Removes a dependency on core and input_common from common.
2021-04-08service: hid: Stub SetAnalogStickUseCenterClampMorph1-1/+22
- Used by eBASEBALLパワフルプロ野球2020
2021-04-07hid: Update service function tablesgerman771-0/+83
2021-02-21hid: Implement GameCube Controller VibrationsMorph1-3/+120
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
2021-02-19hle: kernel: Rename SharedMemory to KSharedMemory.bunnei1-1/+1
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei1-1/+1
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei1-1/+1
2021-02-04Adds missing controller types and propertiesgerman1-7/+13
2021-02-02Prevent over scheduling audio events and terminate properly the motion update eventgerman1-0/+1
2021-02-01Only update motion for npad and prevent over scheduling eventsgerman1-2/+11
2021-01-28hid: Add static_assert for Parameter sizeMorph1-15/+19
2021-01-27npad: Remove unused device handle parameterMorph1-4/+3
2021-01-24Stub Set/Get/Reset SixaxisSensorFusionParametersgerman1-3/+78
2021-01-15core: Silence Wclass-memaccess warningsReinUsesLisp1-74/+74
This requires making several types trivial and properly initialize them whenever they are called.
2020-12-29hle: service: Acquire and release a lock on requests.bunnei1-0/+2
- This makes it such that we can safely access service members from CoreTiming thread.
2020-11-27Stub set and get NpadCommunicationModegerman1-2/+30
2020-11-27service: Eliminate usages of the global system instanceLioncash1-16/+18
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-11-25hid: Check if applet_resource exists in InitializeVibrationDeviceMorph1-2/+4
2020-11-16hid: Reimplement Begin/EndPermitVibrationSessionMorph1-3/+8
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.
2020-11-16controllers/npad: Remove the old vibration filterMorph1-1/+1
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-16hid: Implement InitializeVibrationDevice and IsVibrationDeviceMountedMorph1-11/+18
2020-11-16input_common: Add VibrationDevice and VibrationDeviceFactoryMorph1-0/+1
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-16hid: Mark Begin/EndPermitVibrationSession as stubsMorph1-6/+3
The implementation of these commands seem incomplete and causes rumble in Super Mario Party to stop working since only EndPermitVibrationSession is called. Thus, these are better off being marked as a stub until this can be investigated more thoroughly.
2020-11-16controllers/npad: Send an empty vibration on destruction/deactivationMorph1-2/+2
This stops all controllers from continuously vibrating when emulation is stopped.
2020-11-16hid: Stub IsVibrationDeviceMountedMorph1-1/+22
- Used in Super Mario Odyssey
2020-11-16hid: Fix controller rumble based on new researchMorph1-19/+36
This fixes the issue where rumble is only sent to the first controller. Now, individual controllers can receive their own rumble commands.
2020-11-16hid: Pop a struct of parameters instead of popping individual parametersMorph1-103/+237
Some parameters need to be doubleword aligned due to the presence of the applet_resource_user_id. Previously, this value was invalid in many commands where it was not doubleword aligned when popped.
2020-11-16hid: Reorder all HID commandsMorph1-181/+196
Reorders all HID commands in command id order.
2020-11-16hid: Implement GetVibrationDeviceInfoMorph1-3/+23
The first u32 describes the vibration device type which is a Linear Resonant Actuator used in Nintendo Switch controller hardware. The second u32 describes the vibration device position, in this case distinguishing between left and right vibration actuators. Pro Controllers have 2 LRAs each that can vibrate independently of each other, which means they have 2 distinct vibration device handles to distinguish between the two actuators. Similarly for joycons, the left joycon can be distinguished from the right joycon through the vibration device handle since each joycon has 1 LRA.
2020-11-16hid: Stub InitializeVibrationDeviceMorph1-3/+11
2020-11-16settings: Preparation for per-game input settingsMorph1-2/+2
2020-10-28service: Update function tablesLioncash1-1/+1
Updates function tables according to info on SwitchBrew.
2020-10-13core/CMakeLists: Make some warnings errorsLioncash1-1/+1
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-30Stubbed EnableSixAxisSensorFusiongerman1-1/+14
2020-09-30hid: Stub HomeButtonInputProtection service commandsMorph1-2/+36
- Used in 1-2 Switch. Given that we do not emulate the functionality of the home button yet, we can stub this for now.
2020-09-29First implementation of controller rumblegerman1-5/+3
2020-09-24Use different timing for motiongerman1-3/+18
2020-09-18hid: Implement Get/SetNpadHandheldActivationModeMorph1-5/+10
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-10Test: Decrease pad_update_nsFearlessTobi1-1/+1
There have been reports of quite heavy input lag in the past. Compared to Citra for example, our pad_update_ns value is very high. So let's decrease it and see if it helps with this problem.
2020-09-05Include HID and configuration changes related to motiongerman1-6/+31
2020-09-04hid: Implement MergeSingleJoyasDualJoyMorph1-5/+7
- Used in multiple games such as Super Mario Odyssey.
2020-08-26Project Mjölnir: Part 1Morph1-9/+5
Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-07-28core_timing: Make use of uintptr_t to represent user_dataLioncash1-3/+5
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-16core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash1-5/+4
Enforces our desired time units directly with a concrete type.
2020-07-16core_timing: Make use of std::chrono with ScheduleEventLioncash1-5/+7
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-9/+7
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-24hid: Stub a series of "SevenSixAxisSensor" service commandsMorph1-17/+76
- Used by Captain Toad: Treasure Tracker Update 1.3.0 While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
2020-06-21hid: Implement Get/ResetGyroscopeZeroDriftModeMorph1-5/+37
- Used by Captain Toad Treasure Tracker
2020-06-01Clang-formatVolcaEM1-2/+1
2020-06-01hid: Stub GetXpadIDsVolcaEM1-1/+13
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
2020-05-11Stub SendKeyboardLockKeyEventDavid Marcec1-1/+10
Needed for Puchikon 4 SmileBASIC 1.0.0
2020-04-26services: hid: Stub StopSevenSixAxisSensor.M&M1-1/+12
- Used by The Legend of Zelda: Breath of the Wild v1.6.0
2020-04-20service: Update function tablesLioncash1-1/+36
Keeps the service function tables up to date. Updated based off information on SwitchBrew.
2020-04-17service: hid: Update for new shared memory layout.bunnei1-3/+2
2020-03-27services: hid: Stub InitializeSevenSixAxisSensor.bunnei1-1/+8
- Used by Super Smash Bros. Ultimate v7.0.0.
2020-02-12Core: Set all hardware emulation constants in a single file.Fernando Sahmkow1-3/+4
2019-11-27core_timing: Use better reference tracking for EventType. (#3159)bunnei1-3/+2
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-11-12service: Update function tablesLioncash1-0/+24
Keeps the function tables up to date. Updated based off information from Switchbrew.
2019-10-07hid: Implement DeactivateNpadMorph1-1/+12
Makes use of the already existing DeactivateController function.
2019-10-07hid: Stub SetNpadJoyAssignmentModeSingle and reorganize service commandsMorph1-86/+118
2019-10-05service/hid: Silence -Wunused and -WswitchReinUsesLisp1-2/+4
2019-09-22RebasedDavid Marcec1-1/+1
2019-09-22RebaseDavid Marcec1-3/+3
2019-09-22Deglobalize System: IRSDavid Marcec1-1/+1
2019-09-22Deglobalize System: HidDavid Marcec1-13/+14
2019-09-04clang-formatMorph19841-2/+2
2019-09-04Update hid.cppMorph19841-2/+23
2019-07-01hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignmentDavid Marcec1-3/+47
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-04-11service: Update service function tablesLioncash1-0/+15
Updates function tables based off information from SwitchBrew.
2019-03-24core/core_timing: Make callback parameters consistentLioncash1-5/+5
In some cases, our callbacks were using s64 as a parameter, and in other cases, they were using an int, which is inconsistent. To make all callbacks consistent, we can just use an s64 as the type for late cycles, given it gets rid of the need to cast internally. While we're at it, also resolve some signed/unsigned conversions that were occurring related to the callback registration.
2019-02-16core_timing: Convert core timing into a classLioncash1-7/+11
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::TimingLioncash1-10/+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.
2018-12-29web_browser: Add bounds checking to applet interfaceZach Hilman1-120/+124
2018-12-28hid: Make Hid service accessible and add GetPressStateZach Hilman1-459/+416
2018-12-21hid: Fix SetNpadJoyHoldType and improve logging.bunnei1-44/+163
2018-11-29core: Port all current usages of Event to Readable/WritableEventZach Hilman1-1/+2
2018-11-26Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec1-40/+76
2018-11-19Changed polling rate of hid and Right joycon rotationDavid Marcec1-2/+2
2018-11-16Added SetIsPalmaAllConnectable, SetPalmaBoostModeDavid Marcec1-2/+14
Currently unclear what these do yet, will be researched at a later time when we want to implement palma.
2018-11-02Fixed HID crash when launching more than 1 game & signaled syleset change eventDavid Marcec1-0/+2
This should fix crashes when launching multiple games in yuzu
2018-10-21hid: Update service function table for hidbusLioncash1-0/+1
Updated based off information provided by Switchbrew.
2018-10-19hid: Update service function tablesLioncash1-6/+45
Updated based off information provided by Switchbrew.
2018-10-17Using dual joycons as the default controllerDavid Marcec1-3/+1
Reason for the change is to allow both docked and undocked mode to work
2018-10-12WipDavid Marcec1-1/+5
2018-10-11Dynamically decide handheld variant based on supported npad id priorityDavid Marcec1-0/+4
Kirby input still doesn't work, should fix a lot of other games
2018-10-10Added BeginPermitVibrationSession and EndPermitVibrationSessionDavid Marcec1-2/+18
Used by Mario Party
2018-10-10Added GetLedPattern and HandheldVariantDavid Marcec1-2/+9
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-10Added the ability to "disconnect" individual npadsDavid Marcec1-1/+4
Fixes arms
2018-10-10Addressed changes for better hidDavid Marcec1-37/+30
2018-10-10"Better Hid" rework part 1David Marcec1-244/+189
2018-09-19Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevisionDavid Marcec1-1/+7
With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
2018-09-18Added ActivateGestureDavid Marcec1-1/+7
2018-09-18Added StopSixAxisSensorDavid Marcec1-1/+7
2018-09-18Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensorDavid Marcec1-2/+14
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-1/+1
2018-09-09hid: Implement ReloadInputDevicesfearlessTobi1-4/+4
2018-08-29kernel: Eliminate kernel global stateLioncash1-3/+6
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-08-24hid: Move core include to cpp fileLioncash1-0/+1
This isn't required to be in the header. Instead, directly include what this header needs and move it to the cpp file where it belongs.
2018-08-12hid: disable clang-format around tablesLioncash1-4/+5
Prevents clang-format from butchering them.
2018-08-12hid: Stub DisconnectNpad()Lioncash1-1/+7
This is required by ARMS.
2018-08-08hid: fix IsSixAxisSensorAtRest() responsemailwl1-1/+1
2018-08-07services/hid: Add ActivateNpadWithRevision() to the hid function info arrayLioncash1-0/+1
Updated based off the information on Switch Brew.
2018-07-30Add some HID commands (#843)Hexagon121-2/+16
* Added some HID commands * Addressed comments
2018-07-26service/hid: Add the hidbus, hid:dbg, hid:sys, and hid:tmp servicesLioncash1-0/+220
2018-07-26service/hid: Add the xcd:sys serviceLioncash1-0/+2
2018-07-26service/hid: Add irs servicesLioncash1-0/+3
2018-07-24core_timing: Split off utility functions into core_timing_utilMerryMage1-0/+1
2018-07-19hid: Use a ranged-for loops in UpdatePadCallbackLioncash1-7/+3
Modernizes the loops themselves while also getting rid of a signed/unsigned comparison in a loop condition.
2018-07-18Fill in more fields in TouchScreenEntryTouchZach Hilman1-4/+9
2018-07-18Single touch supportZach Hilman1-4/+19
2018-07-15HID: Update controllers less oftenJames Rowe1-3/+3
2018-07-11hid: Fix timestamps and controller type.bunnei1-7/+5
- This fixes user input in SMO.
2018-07-03Rename logging macro back to LOG_*James Rowe1-25/+25
2018-06-14Narrow down filter of layout configsZach Hilman1-9/+5
2018-06-13Move loop condition to free functionZach Hilman1-4/+9
2018-06-13Avoid initializing single-joycon layouts with handheld controllerZach Hilman1-1/+4
2018-06-12hid: Update all layouts and only show handheld as connected, fixes libnx input for P1_AUTOshinyquagsire231-1/+2
2018-05-30add IPC CommandType & Some HID FunctionInfo (#487)greggameplayer1-0/+30
* add some CommandType * add some hid FunctionInfo * add some other HID FunctionInfo * delete non useful comments
2018-05-07hid: Tweaks, Analog Sticks (#435)Max Thomas1-56/+134
* hid: Update mouse/keyboard state * hid: Working analog sticks * hid: Nits * hid: Nits * hid: Update mystery sections * hid: Tweaks
2018-04-30core_timing: Namespace all functions and constants in core_timing's headerLioncash1-3/+3
All of these variables and functions are related to timings and should be within the namespace.
2018-04-24hid: Move logging macros over to new fmt-compatible onesLioncash1-25/+25
2018-04-20service: Use nested namespace specifiers where applicableLioncash1-4/+2
Tidies up namespace declarations
2018-04-13Stubbed out GetPlayerLedPatternHexagon121-1/+7
2018-04-10Updated hid with more service names.Hexagon121-0/+50
2018-04-01hid: Write empty touch screen state.bunnei1-5/+21
2018-03-31hid: Stub out GetSupportedNpadStyleSet.bunnei1-0/+8
2018-03-25hid: Stub out SetNpadJoyAssignmentModeDual.bunnei1-1/+7
2018-03-04CoreTiming: Unschedule the pending events when an Interface is destroyed.Subv1-0/+4
2018-02-16Service/hid: stub some functionsmailwl1-0/+43
2018-02-15hid: Stub GetVibrationDeviceInfo and SendVibrationValues.bunnei1-0/+15
2018-02-07Service: stub some functions in am, audio, time, vi servicesmailwl1-0/+22
2018-02-06Service/hid: stub SetNpadHandheldActivationModemailwl1-0/+7
2018-02-06hid: Stub ActivateTouchScreen and SetNpadJoyHoldType.bunnei1-2/+14
2018-02-05hid: Stub out several functions.bunnei1-1/+39
2018-02-04hid: Implement CreateActiveVibrationDeviceList.bunnei1-0/+25
2018-02-04logger: Use Service_HID category where applicable.bunnei1-2/+2
2018-01-25hle: Rename RequestBuilder to ResponseBuilder.bunnei1-2/+2
2018-01-25service: Fix all incorrect IPC response headers.bunnei1-11/+2
2018-01-23Services: Added a todo about returning interfaces as domain objects in lm, hid and time.Subv1-0/+3
2018-01-22HID: Don't create an unnecessary port in CreateAppletResource.Subv1-13/+13
2018-01-22Stub OpenAudioOut and fix a issue with HID IAppletResource being created more than oncegdkchan1-1/+6
2018-01-17hid: Adjust timing based on actual hardwareshinyquagsire231-3/+3
2018-01-17hid: clang-formatshinyquagsire231-3/+3
2018-01-17hid: Adjust for style guideshinyquagsire231-13/+13
2018-01-16hid: Write to all layouts, implement circular buffers, set up controller metadata.shinyquagsire231-38/+65
2018-01-15hid: Bare-minimum sharedmem inputshinyquagsire231-0/+86
2018-01-15hid: Remove unused registered_loggers.bunnei1-3/+0
2018-01-15hid: Implement IAppletResource::GetSharedMemoryHandle.bunnei1-3/+61
2017-10-13Remove lots more 3DS-specific code.bunnei1-422/+3
2017-09-30Fixed type conversion ambiguityHuw Pascoe1-1/+1
2017-08-24HID: use TouchDevice for touch padwwylele1-4/+8
2017-08-20HID: fix a comment and a warningwwylele1-2/+2
2017-08-11HID: use MotionDevice for Accelerometer and Gyroscopewwylele1-5/+27
2017-06-19ResultVal: Remove MoveFrom()Yuri Kunde Schlesner1-6/+6
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
2017-06-06Service: Remove unnecessary includes from service.hYuri Kunde Schlesner1-0/+2
This has a huge fallout in terms of needing to fix other files because all service implementations included that file.
2017-05-04ir: implement new 3ds HID via ir:rstwwylele1-8/+11
2017-03-01HID: use AnalogDevicewwylele1-2/+9
2017-03-01HID: use ButtonDevicewwylele1-1/+44
2017-02-17HID: move enable_accelerometer/gyroscope_count initialization into Init() (#2574)Weiyi Wang1-2/+5
Fixes #2556
2017-01-20HID: reset acceleroeter and gyroscope index in Initwwylele1-0/+2
2017-01-16CoreTiming: use named constant for ARM11 clock ratewwylele1-3/+3
2017-01-16HID: manages updating itself using correct tickswwylele1-55/+93
2016-12-23core: Move emu_window and key_map into coreMerryMage1-1/+1
* Removes circular dependences (common should not depend on core)
2016-12-15hid: Get rid of a double -> float truncation warningLioncash1-1/+2
float literals need to have the 'f' prefix.
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-8/+4
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-5/+4
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-22/+25
2016-06-11hid: add missing headerwwylele1-0/+2
2016-05-15fixup! fixup! Refactor input systemwwylele1-1/+1
2016-05-15Refactor input subsystemwwylele1-32/+36
2016-05-13Kernel/SharedMemory: Properly implemented shared memory support.Subv1-2/+3
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object. Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock. Removed the APT Shared Font hack as it is no longer needed.
2016-03-26use reference instead of pointerwwylele1-9/+9
2016-03-25implement GyroscopeCalibrateParamwwylele1-8/+7
2016-03-22implement accel and gyro backendwwylele1-3/+90
2016-03-13hid: fix pad updatewwylele1-1/+1
2016-03-12svc: Make ResetType an enum classLioncash1-5/+5
2016-02-12BitField: Make trivially copyable and remove assignment operatorMerryMage1-1/+1
2016-02-02services: Get rid of unnecessary includesLioncash1-1/+0
2015-09-16general: Silence some warnings when using clangLioncash1-2/+2
2015-07-28Move input values into an arrayJames Rowe1-0/+10
2015-06-28CitraQt: Cleanup includes.Emmanuel Gil Peyrot1-0/+1
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot1-1/+1
2015-05-27hid: Get rid of undefined behaviorLioncash1-2/+2
Modifying a variable twice across a sequence point.
2015-05-23HID: Stub DisableAccelerometer and DisableGyroscopeLowpurpasmart961-0/+20
2015-05-11Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner1-2/+4
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-0/+2
2015-05-02Services: Initialize all state variables at bootup.bunnei1-8/+14
2015-04-03Services: Stubs and minor changespurpasmart961-3/+3
2015-03-17HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow alongpurpasmart961-0/+32
with a stub for GetSoundVolume
2015-03-16arm_interface: Get rid of GetTicks.Lioncash1-3/+3
Removes a TODO.
2015-03-11HID: Removed unnecessary global variables.bunnei1-48/+42
2015-03-11HID: Added additional variable comments and some code cleanups.bunnei1-2/+6
2015-03-11HID: Complete refactor of pad/touch input to fix threading issues.bunnei1-81/+23
2015-03-10HID: Cleanup how `next_touch_index` is calculated for Pad and touch.bunnei1-2/+2
2015-03-10HID: Changed TouchDataEntry `valid` to a BitField and added some doc strings.bunnei1-1/+1
2015-03-10HID: Added functions to emulate the touchpad.bunnei1-0/+48
2015-03-10HID: Moved some docstrings to the header.bunnei1-23/+2
2015-03-10HID: Refactored shared memory decoding for touchpad support.bunnei1-21/+30
2015-03-04Services: Moved the PTM and APT services to their own folderSubv1-0/+32
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs. Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-02-02Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner1-6/+6
They're finally unnecessary, and will stop cluttering the application's handle table.
2015-02-02HID: Fix crash when pressing a key when the emulator is stoppedYuri Kunde Schlesner1-0/+2
2015-01-30Kernel: Convert Event to not use HandlesYuri Kunde Schlesner1-13/+15
2015-01-30Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner1-3/+3
2015-01-21Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxxarchshift1-0/+138