aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/hid
AgeCommit message (Collapse)Author
2021-02-07hid: Implement GC controllergerman
2021-02-06Merge pull request #5326 from german77/hidUpdate1bunnei
HID: Update the HID service to match more closely to switchbrew part 1
2021-02-05hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei
2021-02-03Add footer types and address commentsgerman
2021-02-03Fix npad struct to match switchbrewgerman
2021-02-03Adds missing controller types and propertiesgerman
2021-02-01Merge pull request #5861 from german77/HandheldFixbunnei
hid: Only update motion for npad and prevent over scheduling events
2021-01-31Only update motion for npad and prevent over scheduling eventsgerman
2021-01-28hid: Add static_assert for Parameter sizeMorph
2021-01-27npad: Remove unused device handle parameterMorph
2021-01-24Stub Set/Get/Reset SixaxisSensorFusionParametersgerman
2021-01-20Merge pull request #5270 from german77/multiTouchbunnei
HID: Add multitouch support
2021-01-17npad: Add check for HANDHELD_INDEX in UpdateControllerAt()Morph
2021-01-15core: Silence Wclass-memaccess warningsReinUsesLisp
This requires making several types trivial and properly initialize them whenever they are called.
2021-01-15Always initialize keyboard inputgerman
2021-01-15Add mutitouch support for touch screensgerman
2021-01-15Allow to return up to 16 touch inputs per enginegerman
2021-01-15Allow all touch inputs at the same time and remove config options that are ↵german
not longer necesary
2021-01-15Add multitouch supportgerman
2020-12-28hle: service: Acquire and release a lock on requests.bunnei
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-18controllers/npad: Make press_state atomicMorph
2020-12-12controllers/npad: Validate device handles before useMorph
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-11-28Merge pull request #4998 from Morph1984/bioshock-patchbunnei
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-28Add missing types to NpadCommunicationModegerman
2020-11-28Merge pull request #5021 from german77/StubCommunicationModebunnei
HID: Stub set and get NpadCommunicationMode
2020-11-26Stub set and get NpadCommunicationModegerman
2020-11-26service: Eliminate usages of the global system instanceLioncash
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 InitializeVibrationDeviceMorph
2020-11-15hid: Reimplement Begin/EndPermitVibrationSessionMorph
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-15controllers/npad: Load input devices on initMorph
2020-11-15general: Fix compiler warnings on linux and miscellaneous changesMorph
2020-11-15controllers/npad: Remove the old vibration filterMorph
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-15hid: Implement InitializeVibrationDevice and IsVibrationDeviceMountedMorph
2020-11-15input_common: Add VibrationDevice and VibrationDeviceFactoryMorph
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-15configure_input: Add per-player vibrationMorph
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>
2020-11-15settings: Remove global vibration strength modifierMorph
This will be replaced in favor of per-player vibration strength modifiers.
2020-11-15hid: Mark Begin/EndPermitVibrationSession as stubsMorph
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-15controllers/npad: Send an empty vibration on destruction/deactivationMorph
This stops all controllers from continuously vibrating when emulation is stopped.
2020-11-15hid: Stub IsVibrationDeviceMountedMorph
- Used in Super Mario Odyssey
2020-11-15controllers/npad: Add heuristics to reduce rumble state changesMorph
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.
2020-11-15configure_input: Hook up the vibration percentage spinboxMorph
This allows setting the vibration strength percentage anywhere from 1% to 100%. Also hooks up the remaining motion button and checkbox in the Controller Applet.
2020-11-15controllers/npad: Stop games from vibrating incorrect controllersMorph
Fixes vibration in 1-2 Switch and potentially other games where they would vibrate both players' joycons at the same time.
2020-11-15hid: Fix controller rumble based on new researchMorph
This fixes the issue where rumble is only sent to the first controller. Now, individual controllers can receive their own rumble commands.
2020-11-15hid: Pop a struct of parameters instead of popping individual parametersMorph
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-15hid: Reorder all HID commandsMorph
Reorders all HID commands in command id order.
2020-11-15hid: Implement GetVibrationDeviceInfoMorph
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-15hid: Stub InitializeVibrationDeviceMorph
2020-11-15controllers/npad: Rename NPadType to NpadStyleSetMorph
This more accurately represents the underlying type and avoids confusion with NpadType