mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-27 01:02:48 +01:00
Service/hid: stub some functions
This commit is contained in:
parent
98ffad4303
commit
6797d4a907
4 changed files with 98 additions and 1 deletions
|
@ -254,4 +254,55 @@ size_t HLERequestContext::GetWriteBufferSize() const {
|
||||||
return is_buffer_b ? BufferDescriptorB()[0].Size() : BufferDescriptorC()[0].Size();
|
return is_buffer_b ? BufferDescriptorB()[0].Size() : BufferDescriptorC()[0].Size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string HLERequestContext::Description() const {
|
||||||
|
if (!command_header) {
|
||||||
|
return "No command header available";
|
||||||
|
}
|
||||||
|
std::ostringstream s;
|
||||||
|
s << "IPC::CommandHeader: Type:" << static_cast<u32>(command_header->type.Value());
|
||||||
|
s << ", X(Pointer):" << command_header->num_buf_x_descriptors;
|
||||||
|
if (command_header->num_buf_x_descriptors) {
|
||||||
|
s << '[';
|
||||||
|
for (u64 i = 0; i < command_header->num_buf_x_descriptors; ++i) {
|
||||||
|
s << "0x" << std::hex << BufferDescriptorX()[i].Size();
|
||||||
|
if (i < command_header->num_buf_x_descriptors - 1)
|
||||||
|
s << ", ";
|
||||||
|
}
|
||||||
|
s << ']';
|
||||||
|
}
|
||||||
|
s << ", A(Send):" << command_header->num_buf_a_descriptors;
|
||||||
|
if (command_header->num_buf_a_descriptors) {
|
||||||
|
s << '[';
|
||||||
|
for (u64 i = 0; i < command_header->num_buf_a_descriptors; ++i) {
|
||||||
|
s << "0x" << std::hex << BufferDescriptorA()[i].Size();
|
||||||
|
if (i < command_header->num_buf_a_descriptors - 1)
|
||||||
|
s << ", ";
|
||||||
|
}
|
||||||
|
s << ']';
|
||||||
|
}
|
||||||
|
s << ", B(Receive):" << command_header->num_buf_b_descriptors;
|
||||||
|
if (command_header->num_buf_b_descriptors) {
|
||||||
|
s << '[';
|
||||||
|
for (u64 i = 0; i < command_header->num_buf_b_descriptors; ++i) {
|
||||||
|
s << "0x" << std::hex << BufferDescriptorB()[i].Size();
|
||||||
|
if (i < command_header->num_buf_b_descriptors - 1)
|
||||||
|
s << ", ";
|
||||||
|
}
|
||||||
|
s << ']';
|
||||||
|
}
|
||||||
|
s << ", C(ReceiveList):" << BufferDescriptorC().size();
|
||||||
|
if (!BufferDescriptorC().empty()) {
|
||||||
|
s << '[';
|
||||||
|
for (u64 i = 0; i < BufferDescriptorC().size(); ++i) {
|
||||||
|
s << "0x" << std::hex << BufferDescriptorC()[i].Size();
|
||||||
|
if (i < BufferDescriptorC().size() - 1)
|
||||||
|
s << ", ";
|
||||||
|
}
|
||||||
|
s << ']';
|
||||||
|
}
|
||||||
|
s << ", data_size:" << command_header->data_size.Value();
|
||||||
|
|
||||||
|
return s.str();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Kernel
|
} // namespace Kernel
|
||||||
|
|
|
@ -202,6 +202,8 @@ public:
|
||||||
return domain_objects.size();
|
return domain_objects.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Description() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf;
|
std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf;
|
||||||
SharedPtr<Kernel::ServerSession> server_session;
|
SharedPtr<Kernel::ServerSession> server_session;
|
||||||
|
|
|
@ -53,7 +53,8 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void RequestUpdateAudioRenderer(Kernel::HLERequestContext& ctx) {
|
void RequestUpdateAudioRenderer(Kernel::HLERequestContext& ctx) {
|
||||||
AudioRendererResponseData response_data = {0};
|
LOG_DEBUG(Service_Audio, "%s", ctx.Description().c_str());
|
||||||
|
AudioRendererResponseData response_data{};
|
||||||
|
|
||||||
response_data.section_0_size =
|
response_data.section_0_size =
|
||||||
response_data.state_entries.size() * sizeof(AudioRendererStateEntry);
|
response_data.state_entries.size() * sizeof(AudioRendererStateEntry);
|
||||||
|
|
|
@ -176,7 +176,10 @@ public:
|
||||||
{0, &Hid::CreateAppletResource, "CreateAppletResource"},
|
{0, &Hid::CreateAppletResource, "CreateAppletResource"},
|
||||||
{1, &Hid::ActivateDebugPad, "ActivateDebugPad"},
|
{1, &Hid::ActivateDebugPad, "ActivateDebugPad"},
|
||||||
{11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
|
{11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
|
||||||
|
{21, &Hid::ActivateMouse, "ActivateMouse"},
|
||||||
|
{31, &Hid::ActivateKeyboard, "ActivateKeyboard"},
|
||||||
{66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"},
|
{66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"},
|
||||||
|
{79, &Hid::SetGyroscopeZeroDriftMode, "SetGyroscopeZeroDriftMode"},
|
||||||
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
|
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
|
||||||
{102, &Hid::SetSupportedNpadIdType, "SetSupportedNpadIdType"},
|
{102, &Hid::SetSupportedNpadIdType, "SetSupportedNpadIdType"},
|
||||||
{103, &Hid::ActivateNpad, "ActivateNpad"},
|
{103, &Hid::ActivateNpad, "ActivateNpad"},
|
||||||
|
@ -184,9 +187,13 @@ public:
|
||||||
"AcquireNpadStyleSetUpdateEventHandle"},
|
"AcquireNpadStyleSetUpdateEventHandle"},
|
||||||
{120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"},
|
{120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"},
|
||||||
{121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"},
|
{121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"},
|
||||||
|
{122, &Hid::SetNpadJoyAssignmentModeSingleByDefault,
|
||||||
|
"SetNpadJoyAssignmentModeSingleByDefault"},
|
||||||
{124, nullptr, "SetNpadJoyAssignmentModeDual"},
|
{124, nullptr, "SetNpadJoyAssignmentModeDual"},
|
||||||
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
||||||
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
||||||
|
{201, &Hid::SendVibrationValue, "SendVibrationValue"},
|
||||||
|
{202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"},
|
||||||
{203, &Hid::CreateActiveVibrationDeviceList, "CreateActiveVibrationDeviceList"},
|
{203, &Hid::CreateActiveVibrationDeviceList, "CreateActiveVibrationDeviceList"},
|
||||||
{206, &Hid::SendVibrationValues, "SendVibrationValues"},
|
{206, &Hid::SendVibrationValues, "SendVibrationValues"},
|
||||||
};
|
};
|
||||||
|
@ -224,12 +231,30 @@ private:
|
||||||
LOG_WARNING(Service_HID, "(STUBBED) called");
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ActivateMouse(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
void ActivateKeyboard(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
void StartSixAxisSensor(Kernel::HLERequestContext& ctx) {
|
void StartSixAxisSensor(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::ResponseBuilder rb{ctx, 2};
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
LOG_WARNING(Service_HID, "(STUBBED) called");
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
void SetSupportedNpadStyleSet(Kernel::HLERequestContext& ctx) {
|
void SetSupportedNpadStyleSet(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::ResponseBuilder rb{ctx, 2};
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
@ -268,6 +293,24 @@ private:
|
||||||
LOG_WARNING(Service_HID, "(STUBBED) called");
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetNpadJoyAssignmentModeSingleByDefault(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
void SendVibrationValue(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
void GetActualVibrationValue(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
LOG_WARNING(Service_HID, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
void SetNpadHandheldActivationMode(Kernel::HLERequestContext& ctx) {
|
void SetNpadHandheldActivationMode(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::ResponseBuilder rb{ctx, 2};
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
Loading…
Reference in a new issue