diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-10 22:06:54 -0600 |
|---|---|---|
| committer | german77 <juangerman-13@hotmail.com> | 2024-01-15 23:15:40 -0600 |
| commit | 2cacb9d48c98603176e52ecc94f2374a934797fb (patch) | |
| tree | 12badf5b4eede22b22dece03a9074197ec631a1e /src/hid_core/resources/applet_resource.cpp | |
| parent | 2c29c2b8dd280d0aeff432569f324cd85d83b415 (diff) | |
service: hid: Fully implement abstract vibration
Diffstat (limited to 'src/hid_core/resources/applet_resource.cpp')
| -rw-r--r-- | src/hid_core/resources/applet_resource.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/hid_core/resources/applet_resource.cpp b/src/hid_core/resources/applet_resource.cpp index a84826050..db4134037 100644 --- a/src/hid_core/resources/applet_resource.cpp +++ b/src/hid_core/resources/applet_resource.cpp @@ -200,6 +200,25 @@ void AppletResource::EnableInput(u64 aruid, bool is_enabled) { data[index].flag.enable_touchscreen.Assign(is_enabled); } +bool AppletResource::SetAruidValidForVibration(u64 aruid, bool is_enabled) { + const u64 index = GetIndexFromAruid(aruid); + if (index >= AruidIndexMax) { + return false; + } + + if (!is_enabled && aruid == active_vibration_aruid) { + active_vibration_aruid = SystemAruid; + return true; + } + + if (is_enabled && aruid != active_vibration_aruid) { + active_vibration_aruid = aruid; + return true; + } + + return false; +} + void AppletResource::EnableSixAxisSensor(u64 aruid, bool is_enabled) { const u64 index = GetIndexFromAruid(aruid); if (index >= AruidIndexMax) { |
