aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/hid
diff options
context:
space:
mode:
authorPavel Barabanov <pavelbarabanov94@gmail.com>2025-05-03 06:15:23 +0300
committerPavel Barabanov <pavelbarabanov94@gmail.com>2025-05-03 06:15:23 +0300
commitd55e400c7cfcb00db87bf445a86c42db4e16db69 (patch)
tree5408910ed44cb8da886162cc31bb784856fd1619 /src/core/hle/service/hid
parent559eb0a488b651397802066878aebdbd65b42baf (diff)
started adding services for firmware 20.0.0 without implementation
Diffstat (limited to 'src/core/hle/service/hid')
-rw-r--r--src/core/hle/service/hid/hid_debug_server.cpp3
-rw-r--r--src/core/hle/service/hid/hid_server.cpp8
-rw-r--r--src/core/hle/service/hid/hid_server.h2
-rw-r--r--src/core/hle/service/hid/hid_system_server.cpp12
4 files changed, 21 insertions, 4 deletions
diff --git a/src/core/hle/service/hid/hid_debug_server.cpp b/src/core/hle/service/hid/hid_debug_server.cpp
index 4e26636725..1547192b1b 100644
--- a/src/core/hle/service/hid/hid_debug_server.cpp
+++ b/src/core/hle/service/hid/hid_debug_server.cpp
@@ -86,6 +86,8 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{209, nullptr, "GetAvailableFirmwareVersionForRevert"},
{210, nullptr, "IsFirmwareUpdatingDevice"},
{211, nullptr, "StartFirmwareUpdateIndividual"},
+ {212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
+ {213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
{221, nullptr, "UpdateControllerColor"},
@@ -119,6 +121,7 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{249, nullptr, "ConnectUniquePad"},
{250, nullptr, "IsVirtual"},
{251, nullptr, "GetAnalogStickModuleParam"},
+ {253, nullptr, "ClearStorageForShipment"}, //19.0.0+
{301, nullptr, "GetAbstractedPadHandles"},
{302, nullptr, "GetAbstractedPadState"},
{303, nullptr, "GetAbstractedPadsState"},
diff --git a/src/core/hle/service/hid/hid_server.cpp b/src/core/hle/service/hid/hid_server.cpp
index d38a8c04fa..24773957ce 100644
--- a/src/core/hle/service/hid/hid_server.cpp
+++ b/src/core/hle/service/hid/hid_server.cpp
@@ -116,6 +116,7 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{134, C<&IHidServer::SetNpadAnalogStickUseCenterClamp>, "SetNpadAnalogStickUseCenterClamp"},
{135, C<&IHidServer::SetNpadCaptureButtonAssignment>, "SetNpadCaptureButtonAssignment"},
{136, C<&IHidServer::ClearNpadCaptureButtonAssignment>, "ClearNpadCaptureButtonAssignment"},
+ {137, nullptr, "SetNpadGcAnalogStick8bitRawValue"}, // 20.0.0+
{200, C<&IHidServer::GetVibrationDeviceInfo>, "GetVibrationDeviceInfo"},
{201, C<&IHidServer::SendVibrationValue>, "SendVibrationValue"},
{202, C<&IHidServer::GetActualVibrationValue>, "GetActualVibrationValue"},
@@ -183,7 +184,8 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{1001, C<&IHidServer::GetNpadCommunicationMode>, "GetNpadCommunicationMode"},
{1002, C<&IHidServer::SetTouchScreenConfiguration>, "SetTouchScreenConfiguration"},
{1003, C<&IHidServer::IsFirmwareUpdateNeededForNotification>, "IsFirmwareUpdateNeededForNotification"},
- {1004, C<&IHidServer::SetTouchScreenResolution>, "SetTouchScreenResolution"},
+ {1004, C<&IHidServer::SetTouchScreenOutputRanges>, "SetTouchScreenOutputRanges"}, // 20.0.0+ (17.0.0-19.0.1 SetTouchScreenResolution)
+ {1005, nullptr, "EnableNxTouchScreenEmulationForTouchEnter"}, // 20.0.0+
{2000, nullptr, "ActivateDigitizer"},
};
// clang-format on
@@ -1432,12 +1434,12 @@ Result IHidServer::IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmwa
R_SUCCEED();
}
-Result IHidServer::SetTouchScreenResolution(u32 width, u32 height,
+Result IHidServer::SetTouchScreenOutputRanges(u32 width, u32 height,
ClientAppletResourceUserId aruid) {
LOG_INFO(Service_HID, "called, width={}, height={}, applet_resource_user_id={}", width, height,
aruid.pid);
- GetResourceManager()->GetTouchScreen()->SetTouchScreenResolution(width, height, aruid.pid);
+ GetResourceManager()->GetTouchScreen()->SetTouchScreenOutputRanges(width, height, aruid.pid);
R_SUCCEED();
}
diff --git a/src/core/hle/service/hid/hid_server.h b/src/core/hle/service/hid/hid_server.h
index 9fdb25d5ca..11884c8db3 100644
--- a/src/core/hle/service/hid/hid_server.h
+++ b/src/core/hle/service/hid/hid_server.h
@@ -258,7 +258,7 @@ private:
ClientAppletResourceUserId aruid);
Result IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmware_update_needed,
s32 unknown, ClientAppletResourceUserId aruid);
- Result SetTouchScreenResolution(u32 width, u32 height, ClientAppletResourceUserId aruid);
+ Result SetTouchScreenOutputRanges(u32 width, u32 height, ClientAppletResourceUserId aruid);
std::shared_ptr<ResourceManager> resource_manager;
std::shared_ptr<HidFirmwareSettings> firmware_settings;
diff --git a/src/core/hle/service/hid/hid_system_server.cpp b/src/core/hle/service/hid/hid_system_server.cpp
index b0cd63d725..9edfc045bf 100644
--- a/src/core/hle/service/hid/hid_system_server.cpp
+++ b/src/core/hle/service/hid/hid_system_server.cpp
@@ -67,6 +67,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{328, nullptr, "AttachAbstractedPadToNpad"},
{329, nullptr, "DetachAbstractedPadAll"},
{330, nullptr, "CheckAbstractedPadConnection"},
+ {333, nullptr, "SetNpadUserSpgApplet"}, // 20.0.0+
+ {334, nullptr, "AcquireUniquePadButtonStateChangedEventHandle"}, // 20.0.0+
{500, nullptr, "SetAppletResourceUserId"},
{501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"},
{502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"},
@@ -96,9 +98,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{547, nullptr, "GetAllowedBluetoothLinksCount"},
{548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"},
{549, nullptr, "GetConnectableRegisteredDevices"},
+ {551, nullptr, "GetRegisteredDevicesForControllerSupport"}, // 20.0.0+
{700, nullptr, "ActivateUniquePad"},
{702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"},
{703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"},
+ {711, nullptr, "AcquireUniquePadConnectionOnHandheldForNsEventHandle"}, // 20.0.0+
+ {712, nullptr, "GetUniquePadColor12"}, // 20.0.0+
{751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"},
{800, nullptr, "ListSixAxisSensorHandles"},
{801, nullptr, "IsSixAxisSensorUserCalibrationSupported"},
@@ -143,6 +148,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1009, nullptr, "AcquireAudioControlEventHandle"},
{1010, nullptr, "GetAudioControlStates"},
{1011, nullptr, "DeactivateAudioControl"},
+ {1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
@@ -221,6 +227,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1289, nullptr, "SetButtonConfigStorageFull"},
{1290, nullptr, "DeleteButtonConfigStorageRight"},
{1291, nullptr, "DeleteButtonConfigStorageRight"},
+ {1308, nullptr, "SetButtonConfigVisible"}, // 18.0.0+
+ {1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
+ {1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
+ {1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
+ {1322, nullptr, "AcquireTouchScreenAsyncWakeCompletedEvent"}, // 20.0.0+
+ {1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
};
// clang-format on